RFR: 8367725: Incorrect reading of oop in SuspendResumeManager::suspend while thread is blocked [v7]

Leonid Mesnik lmesnik at openjdk.org
Tue Sep 16 19:49:19 UTC 2025


> The
> `SuspendResumeManager::suspend(bool register_vthread_SR)`
> has an issue while suspend current virtual thread. The suspend tries to access vthread oop field to read vthread id after thread is blocked. 
> 
> Seems, that this case is not used by our debugger and was not covered by tests. I found it using jtreg test thread virtual factory plugin. I updated existing test to reproduce this problem. The easiest way is to suspend current virtual thread using plain SuspendThread. 
> 
> The fix added some "asymmetry"  in suspend/resume mechanism which is required because self-suspend doesn't have resume counterpart.

Leonid Mesnik has updated the pull request incrementally with one additional commit since the last revision:

  moved to another method

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/27317/files
  - new: https://git.openjdk.org/jdk/pull/27317/files/0aa24558..d80d7cf4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27317&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27317&range=05-06

  Stats: 18 lines in 2 files changed: 11 ins; 6 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/27317.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27317/head:pull/27317

PR: https://git.openjdk.org/jdk/pull/27317


More information about the serviceability-dev mailing list