RFR: 8316397: StackTrace/Suspended/GetStackTraceSuspendedStressTest.java failed with: SingleStep event is NOT expected [v8]

Serguei Spitsyn sspitsyn at openjdk.org
Tue Apr 8 03:20:17 UTC 2025


> The `get_jvmti_thread_state()` function is called from `JvmtiExport::at_single_stepping_point()`.  It can block for virtual threads. Then the `SingleStep` events can be enabled at that point. The incorrect behavior is that the `SingleStep` events will be posted even though the virtual thread has been suspended with the JVMTI `SuspendThread`, `SuspendThreadList`, or `SuspendAllVirtualThreads`. The fix is to add a suspend point for virtual threads to the `get_jvmti_thread_state()` function.
> 
> Testing:
>  - Ran mach5 tiers 1-6

Serguei Spitsyn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains nine additional commits since the last revision:

 - Merge
 - review: add workaround for post_dynamic_code_generated_while_holding_locks
 - Merge
 - Merge
 - review: move suspend point from post_single_step() to get_jvmti_thread_state()
 - Merge
 - removed obsolete fragment that was not removed in last update
 - review: re-fixed the issue as initial fix was wrong
 - 8316397: StackTrace/Suspended/GetStackTraceSuspendedStressTest.java failed with: SingleStep event is NOT expected

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23490/files
  - new: https://git.openjdk.org/jdk/pull/23490/files/39e8d748..cdb47686

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

  Stats: 37504 lines in 960 files changed: 23787 ins; 10997 del; 2720 mod
  Patch: https://git.openjdk.org/jdk/pull/23490.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23490/head:pull/23490

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


More information about the hotspot-runtime-dev mailing list