RFR: 8314225: SIGSEGV in JavaThread::is_lock_owned [v2]
Dean Long
dlong at openjdk.org
Tue Jan 30 22:10:40 UTC 2024
On Tue, 30 Jan 2024 04:34:14 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Kevin Walls has updated the pull request incrementally with one additional commit since the last revision:
>>
>> ThreadsListHandle required for Handshake
>
> Okay so anything looking at monitor_chunks is looking at a moving target. They have no idea what stage of moving from compiled to interpreted frames has been reached. So examining monitor_chunks just seems inherently unsafe and totally misguided. On the other hand if you want to know about all monitors then you need to know whether this deopt is in progress or not, and prevent it from starting or wait for it to finish.
>
> But I also don't see how we examine monitors that are still in compiled frames? `is_lock_owned` does not consider them.
>
> ??? This seems completely broken.
@dholmes-ora said:
> But I also don't see how we examine monitors that are still in compiled frames? `is_lock_owned` does not consider them.
JavaThread::is_lock_owned() calls Thread::is_lock_owned() first to check if the lock record is on the native stack.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17566#issuecomment-1917977156
More information about the hotspot-dev
mailing list