On Wed, 16 Oct 2024 02:28:28 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
>> 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: resolved comments from Alex and Chris test/hotspot/jtreg/serviceability/jvmti/events/NotifyFramePopStressTest/libNotifyFramePopStressTest.cpp line 160: > 158: err= jvmti->NotifyFramePop(thread, 0); > 159: if (err == JVMTI_ERROR_OPAQUE_FRAME || err == JVMTI_ERROR_DUPLICATE) { > 160: LOG("\nNotifyFramePop for method %d returned acceptable error: > %s\n", name, TranslateError(err)); format for 1st arg (name) should be `%s` Suggestion: LOG("\nNotifyFramePop for method %s returned acceptable error: %s\n", name, TranslateError(err)); ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21468#discussion_r1803604095