On Mon, 4 Mar 2024 10:09:10 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:

>> test/hotspot/jtreg/serviceability/jvmti/ObjectMonitorUsage/ObjectMonitorUsage.java
>>  line 319:
>> 
>>> 317:                 try {
>>> 318:                     ready = true;
>>> 319:                     lockCheck.wait();
>> 
>> Spurious wakeups will break this test. They shouldn't happen but ...
>
> I have an idea how to fix it but it will add extra complexity. Not sure it is 
> worth it.
> It is possible to identify there was a spurious wakeup and invalidate the 
> sub-test result in such a case.
> Not sure if it is important to rerun the sub-test then.
> What do you think?

Sorry I missed this response. I can't see a way to address spurious wakeups in 
this case as it needs to be a per-thread flag (so that each thread knows it was 
notified) but you don't know which thread will be notified in any given call to 
`notify()`. I also can't see how you can detect a spurious wakeup in this code. 
If they happen then a subtest may fail due to an unexpected number of 
re-entering threads.
I think we will just have to see how stable the test is in practice.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17680#discussion_r1519071056

Reply via email to