RFR: 8359646: C1 crash in AOTCodeAddressTable::add_C_string

Vladimir Kozlov kvn at openjdk.org
Tue Jun 17 15:40:27 UTC 2025


On Tue, 17 Jun 2025 15:30:28 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> It is concurrency issue. Call to `AOTCodeAddressTable::add_C_string()` happened after checks that AOT code cache is still opened. But, because there is no synchronization, other thread (VM) closed/delete AOT code cache (after dumping) before code in `add_C_string()` accessed it.
>> 
>> Added missed AOTCodeCStrings_lock in places where we modify, store and delete AOT strings table. Moved MutexLocker from `AOTCodeAddressTable::add_C_string()` to its caller and do additional check after it.
>> 
>> I also noticed that we missed similar check after Compile_lock when we are storing AOT code.
>> 
>> Tested hs-tier1-6,hs-tier10-rt,stress,xcomp
>
> LGTM

Thank you, @iklam

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25841#issuecomment-2980863197


More information about the hotspot-compiler-dev mailing list