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
