RFR: 8365556: ObjectMonitor::try_lock_or_add_to_entry_list() returns true with the wrong state of the node
Patricio Chilano Mateo
pchilanomate at openjdk.org
Fri Aug 15 14:40:11 UTC 2025
On Fri, 15 Aug 2025 07:22:02 GMT, Anton Artemov <duke at openjdk.org> wrote:
> Hi, please consider the following change:
>
> `ObjectMonitor::try_lock_or_add_to_entry_list() `does not change the node state to `TS_RUN `in case of a successful acquisition of the object monitor. In certain cases this can break the guarantee statement in the `ObjectMonitor::wait()` method and lead to a crash. The missing statement is added.
>
> Tested in tiers 1 - 5.
I'm fine with the fix, I was just confused about the mention of the crash. I would add `assert(node->TState == ObjectWaiter::TS_RUN, "");` at the top though to avoid surprises.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26794#issuecomment-3191657249
More information about the hotspot-runtime-dev
mailing list