On Thu, 13 Nov 2025 19:13:39 GMT, Patricio Chilano Mateo 
<[email protected]> wrote:

>> Anton Artemov has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains 20 commits:
>> 
>>  - Merge remote-tracking branch 'origin/master' into 
>> JDK-8366659-OM-wait-suspend-deadlock
>>  - 8366659: Fixed lines in tests.
>>  - Merge remote-tracking branch 'origin/master' into 
>> JDK-8366659-OM-wait-suspend-deadlock
>>  - 8366659: Added a comment to a boolean arg for enter()
>>  - Merge remote-tracking branch 'origin/master' into 
>> JDK-8366659-OM-wait-suspend-deadlock
>>  - Merge remote-tracking branch 'origin/master' into 
>> JDK-8366659-OM-wait-suspend-deadlock
>>  - 8366659: Fixed new lines.
>>  - Merge remote-tracking branch 'origin/master' into 
>> JDK-8366659-OM-wait-suspend-deadlock
>>  - 8366659: Removed incorrect assert,
>>  - 8366659: Fixed merge conflict
>>  - ... and 10 more: https://git.openjdk.org/jdk/compare/400a83da...702880c6
>
> test/hotspot/jtreg/serviceability/jvmti/SuspendWithObjectMonitorWait/SuspendWithObjectMonitorWait.java
>  line 428:
> 
>> 426:             // launch the waiter thread
>> 427:             synchronized (barrierLaunch) {
>> 428:                 waiter = new 
>> SuspendWithObjectMonitorWaitWorker("waiter", 1);
> 
> We should increase this timeout to minimize the chance of it happening 
> between the main thread acquiring the `threadLock` and issuing the 
> notification, in which case the waiter will not go through `reenter_internal` 
> but through `enter`. Also it avoids some funny scheduling where the main 
> thread never acquires the `threadLock`.

Done.

> test/hotspot/jtreg/serviceability/jvmti/SuspendWithObjectMonitorWait/SuspendWithObjectMonitorWait.java
>  line 466:
> 
>> 464:                 testState = TS_READY_TO_NOTIFY;
>> 465:                 threadLock.notify();
>> 466: 
> 
> We should add a `Thread.sleep` here to give time for the wait to timeout 
> before suspending the waiter thread. Should be more than what the waiter 
> thread is using as timeout. I have tested a timeout value of 100ms and here 
> sleeping 200ms and always see the deadlock on `reenter_internal` (with 
> current mainline code).

Removed the sleep which was not needed and added another one with 200ms as 
suggested.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27040#discussion_r2527251981
PR Review Comment: https://git.openjdk.org/jdk/pull/27040#discussion_r2527248616

Reply via email to