On Fri, 18 Oct 2024 00:28:51 GMT, Serguei Spitsyn <[email protected]> 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: move pop_count++ to the end of FramePop handler for more safety
test/hotspot/jtreg/serviceability/jvmti/events/NotifyFramePopStressTest/libNotifyFramePopStressTest.cpp
line 73:
> 71:
> 72: name = get_method_name(jvmti, jni, method);
> 73: LOG("FramePop(%d) event from method: %s %s\n", pop_count, csig, name);
I just noticed this pop_count reference here. Probably best to change it to
pop_count + 1.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21468#discussion_r1805661610