RFR: 8369250: Assess and remedy any unsafe usage of the Semaphore used by NonJavaThread::List [v2]
Stefan Karlsson
stefank at openjdk.org
Wed Oct 8 07:31:08 UTC 2025
On Tue, 7 Oct 2025 21:23:55 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> The `NonJavaThread::List` has a statically allocated instance which contains a `SingleWriterSynchronizer`, which contains a `Semaphore`. The `VMThread` can try to remove itself from the list after the static destructors have executed, leading to an assertion failure for the `Semaphore` but potentially it could crash as the `List` itself gets deallocated.. Simplest fix is to change the `List` instance to a `DeferredStatic` such that it is never destroyed.
>>
>> Testing:
>> - tiers 1-3 (sanity)
>>
>> Thanks.
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
>
> Return class List definition to cpp file per Stefan and Kim's requests
Thanks for the latest changes. Looks good.
-------------
Marked as reviewed by stefank (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/27664#pullrequestreview-3313380630
More information about the hotspot-runtime-dev
mailing list