On Fri, 25 Oct 2024 14:23:29 GMT, Thomas Stuefe <stu...@openjdk.org> wrote:
>> Robert Toyonaga has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Update src/hotspot/share/utilities/vmError.cpp >> >> Co-authored-by: David Holmes >> <62092539+dholmes-...@users.noreply.github.com> > > src/hotspot/share/runtime/mutexLocker.cpp line 299: > >> 297: MUTEX_DEFN(ThreadsSMRDelete_lock , PaddedMonitor, >> service-2); // Holds ConcurrentHashTableResize_lock >> 298: MUTEX_DEFN(ThreadIdTableCreate_lock , PaddedMutex , >> safepoint); >> 299: MUTEX_DEFN(SharedDecoder_lock , PaddedMutex , >> service-5); > > Why this? Do we print stacks under NMT lock protection? Yes I think so. `MemTracker::print_containing_region` first acquires the NMT lock then the `SharedDecoder_lock` like this: `MemTracker::print_containing_region` --> `PrintRegionWalker::do_allocation_site` --> `NativeCallStack::print_frame` --> `Decoder::get_source_info` --> `Decoder::shared_decoder_lock()` ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20852#discussion_r1819307026