On Mon, 11 May 2026 22:05:15 GMT, Leonid Mesnik <[email protected]> wrote:
> Please review following test fix that improve synchronization of compiled > method load/unload events. > > The CompiledMethodLoad/CompiledMethodUnload might be already executing while > SetEventCallbacks removed their callbacks. > Thus they hit 'newEventCount' after setting it to zero and cause test to fail. > > The simple monitor inside event doesn't help, because race might happen while > callback is calling in VM or before it obtain lock. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp line 480: > 478: return false; > 479: > 480: /* Give some time to complete already processing cbNew* events. */ cbNew* is confusing. I would just say "Give some time to complete events already in progress." test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp line 481: > 479: > 480: /* Give some time to complete already processing cbNew* events. */ > 481: nsk_jvmti_sleep(100); Are you sure this is always long enough? I would be nice if there was some sort of synchronization that could be done to ensure that events in progress have completed, but it seems that is not possible. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31128#discussion_r3222705787 PR Review Comment: https://git.openjdk.org/jdk/pull/31128#discussion_r3222716640
