RFR: 8360048: NMT crash in gtest/NMTGtests.java: fatal error: NMT corruption: Block at 0x0000017748307120: header canary broken [v2]

Gerard Ziemski gziemski at openjdk.org
Mon Jul 14 22:20:38 UTC 2025


On Mon, 14 Jul 2025 20:56:16 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> This is a clone of https://github.com/openjdk/jdk/pull/25950 that we need to get integrated ASAP.
>> 
>> ---
>> 
>> The canary header test failed since there were concurrent remove and free() from the tree. The remove operations are synch'ed with corresponding NMT lock. The ReserveMemory::reserve() uses the same lock internally and is not included in the locked code block.
>> 
>> ---
>> 
>> I'm re-testing with tiers 1-4
>
> David Holmes has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Update test/hotspot/gtest/runtime/test_virtualMemoryTracker.cpp
>    
>    Co-authored-by: Aleksey Shipilëv <shipilev at amazon.de>
>  - Update src/hotspot/share/nmt/virtualMemoryTracker.cpp
>    
>    Co-authored-by: Aleksey Shipilëv <shipilev at amazon.de>

Wishing that we did not include all the tangential work in the original fix...

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

Marked as reviewed by gziemski (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26284#pullrequestreview-3017974633


More information about the hotspot-runtime-dev mailing list