RFR: 8314225: SIGSEGV in JavaThread::is_lock_owned [v10]
Kevin Walls
kevinw at openjdk.org
Wed May 8 11:19:55 UTC 2024
On Thu, 2 May 2024 19:37:31 GMT, Kevin Walls <kevinw at openjdk.org> wrote:
>> I assume it's only for the `fill_in` `realloc_failures` case. But you're right, it doesn't seem very useful. It's just going to look like an unlocked monitor slot in the interpreter frame. We could consider skipping these in `fill_in`, then they won't show up later in `unpack_on_stack`().
>
> fill_in() has previously OK with seeing monitor->owner() == nullptr
> so it's already setting dest->set_obj(null) under some conditions.
>
> I see we can handle the null separately and simplify the asserts there.
>
> vframeArrayElement::unpack_on_stack()
> Still might retrieve a null, so the asserts there keep the guard against doing the owner check -- I'm not sure if they won't show up there - it loops over the number of elements in the MonitorChunk* so it should see them all?
(marking as resolved, null checks are back in these asserts, there could be a null there from the is_scalar_replaced case, and possibly if realloc_failures is true)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18940#discussion_r1593862180
More information about the hotspot-dev
mailing list