On Fri, 3 Oct 2025 15:25:41 GMT, Patricio Chilano Mateo <[email protected]> wrote:
>> src/hotspot/share/runtime/objectMonitor.cpp line 997: >> >>> 995: // prevents this load from floating up previous store. >>> 996: // Note that we can have false positives where timed-park is not >>> necessary. >>> 997: bool do_timed_parked = has_unmounted_vthreads(); >> >> Don't we still only need the timed-park if the current thread is a pinned >> vthread? > > Yes, except if the monitor is also used in the context of a carrier thread. > Currently there are only very few such cases and we disable preemption for > them (e.g. `interruptLock`), so it’s likely not needed. With the upcoming > changes to preempt on klass initialization, we could also have this situation > if a class can be initialized both in the context of a carrier and a vthread. > Since code executed in the context of the carriers is limited to library code > there will also be very few cases of this, but I’ve seen at least one such > case with `LockSupport`. So you are saying the current code is insufficient and could still deadlock? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27597#discussion_r2409280439
