RFR: 8375125: assert(false) failed: "Attempting to acquire lock NativeHeapTrimmer_lock/nosafepoint out of order with lock ConcurrentHashTableResize_lock/nosafepoint-2 -- possible deadlock" when using native heap trimmer [v5]
Guanqiang Han
ghan at openjdk.org
Fri Jan 16 03:35:31 UTC 2026
On Fri, 16 Jan 2026 02:50:39 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> test/hotspot/jtreg/runtime/os/TestTrimNativeHeapIntervalTablesCleanup.java line 32:
>>
>>> 30: * @library /test/lib
>>> 31: * @modules java.compiler
>>> 32: * @run main/othervm -XX:+UseG1GC -Xms128m -Xmx128m
>>
>> If the test needs G1 then it should have an appropriate `@requires` clause. No point running this test when we are testing ZGC for example.
>>
>> But does it really require G1? I admit I have no idea how this test is causing the StringTable or SymbolTable cleanup to be triggered.
>
> I tested with ZGC, Serial, and Parallel and the test crashed as expected without the fix. So I think you can just remove the UseG1GC.
I originally forced G1 only to keep the repro deterministic, but the test doesn’t depend on G1. I’ll drop -XX:+UseG1GC and just exclude Epsilon.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29212#discussion_r2696732584
More information about the hotspot-dev
mailing list