RFR: 8356233: NMT: tty->print_cr should not be used in VirtualMemoryTracker::add_reserved_region()

David Holmes dholmes at openjdk.org
Tue May 20 10:21:54 UTC 2025


On Mon, 19 May 2025 20:11:09 GMT, Gerard Ziemski <gziemski at openjdk.org> wrote:

> To help with debugging NMT we added more info when an assert gets triggered, but we used `tty`, which is involved with locks and unfortunately it triggered:
> 
> 
> # Internal Error (.../open/src/hotspot/share/runtime/mutex.cpp:457), pid=1088443, tid=1088520
> # assert(false) failed: Attempting to acquire lock tty_lock/tty out of order with lock NmtVirtualMemory_lock/service-4 -- possible deadlock
> 
> 
> We avoid this, by printing using `UL` instead of using `tty` directly.

Overall conversion looks good. If there is no chance of UL using NMT in a way that leads to VMT then this is fine.

Please fix the tag->unsigned->tag code.

Thanks

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

Changes requested by dholmes (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25308#pullrequestreview-2853599191


More information about the hotspot-runtime-dev mailing list