RFR: 8304824: NMT should not use ThreadCritical [v3]

Thomas Stuefe stuefe at openjdk.org
Fri Sep 13 16:20:08 UTC 2024


On Fri, 13 Sep 2024 16:12:59 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

> > After switching to a Hotspot Mutex, it looks like the `windows-x64 / test (hs/tier1 common) GHA` is failing because the test `release_bad_ranges` in test_os.cpp is expecting an assertion and an error message to be printed. However, when this printing happens, `tty_lock` gets acquired out of rank order with the already held `NMT_lock`, causing the lock rank assertion fail. One solution would be to lower the rank of `tty_lock`. I'm not sure that's the best solution because that might cause rank conflicts with other locks (and it makes sense to give locks the highest possible rank to minimize future conflicts).
> 
> What code exactly locks tty_lock?

This is weird. We print the error in this case via print_error_for_unit_test(), which takes care only to use raw fprintf(stderr) for this very reason... therefore I am interested in understanding the lock semantics, to know if deadlock detection found a real problem or if this is just a weird error setup.

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

PR Comment: https://git.openjdk.org/jdk/pull/20852#issuecomment-2349320770


More information about the serviceability-dev mailing list