RFR: 8340698: JVMTI FRAME_POP event is sometimes missed if NotifyFramePop is called as a method is returning [v8]

Serguei Spitsyn sspitsyn at openjdk.org
Fri Oct 18 00:28:51 UTC 2024


> There is a race between JVMTI NotifyFramePop function and FramePop event posting code.
> The fix is to return JVMTI_ERROR_OPAQUE_FRAME if if a FramePop event with depth 0 is requested by NotifyFramePop at the time when the target frame is in exit epilogue, and MethodExit/FramePop events are being posted for it.
> 
> Testing:
>  - verified locally with new test (developed by Chris): `serviceability/jvmti/events/NotifyFramePopStressTest`
>  - TBD: mach5 tiers 1-6

Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:

  review: move pop_count++ to the end of FramePop handler for more safety

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21468/files
  - new: https://git.openjdk.org/jdk/pull/21468/files/9a08d9cc..6895abbd

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

  Stats: 3 lines in 1 file changed: 1 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/21468.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21468/head:pull/21468

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


More information about the serviceability-dev mailing list