RFR: 8366659: ObjectMonitor::wait() liveness problem with a suspension request [v27]

David Holmes dholmes at openjdk.org
Thu Jan 22 02:40:59 UTC 2026


On Thu, 22 Jan 2026 02:21:11 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Anton Artemov has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8366659: Addressed reviewers' comments.
>
> src/hotspot/share/runtime/objectMonitor.cpp line 1907:
> 
>> 1905:     // then we'll acquire the lock and then re-fetch a fresh TState value.
>> 1906:     // That is, we fail toward safety.
>> 1907:     was_notified = true;
> 
> You can't just go back to this as it is wrong. Your are now marking an initial interrupt case as "was_notified"

This should be:

was_notified = node.TState == ObjectWaiter::TS_RUN || node.TState == ObjectWaiter::TS_ENTER;

and no need to adjust to false below (as it will already be false).

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

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


More information about the hotspot-runtime-dev mailing list