RFR: 8369622: GlobalChunkPoolMutex needs to be recursive

Afshin Zafari azafari at openjdk.org
Wed Oct 15 10:42:42 UTC 2025


On Tue, 14 Oct 2025 07:05:01 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

> I don't know the reason for NMT trying to take the look recursively

NMT report gets the current amounts of allocations for Chunks, so it uses the lock to stop others from changing the values. 
The deadlock happens, for example, when `ChunkPool::prune()` is free-ing a memory that is already corrupted. At `os::free()` time, NMT detects the corruption and tries to report it while the lock is already taken by ChunkPool.

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

PR Comment: https://git.openjdk.org/jdk/pull/27759#issuecomment-3405786443


More information about the hotspot-runtime-dev mailing list