RFR(S): 8033405 - metaspace/stressHierarchy/stressHierarchy005 hangs in atexit handler

David Holmes david.holmes at oracle.com
Thu Apr 24 08:28:42 UTC 2014

Hi Christian,

On 24/04/2014 1:18 AM, Christian Tornqvist wrote:
> Hi everyone,
> This is a small fix for an issue on Windows where NMT tries to track a
> free from a static destructor and ends up hanging on acquiring the
> ThreadCritical lock. The fix is to make sure we shut down NMT before the
> VM exits and then to not track malloc/free when NMT is shutting down.

The real fix is to get rid of those non-trivial static destructors!

That aside when exactly in the VM termination process will DllMain be 
called? How can we be sure that there is sufficient VM state still valid 
to perform the NMT shutdown? The detach hook should only be doing very 
simple resource cleanup - I'm not sure this qualifies.


> Zhengyu is working on a rewrite of the NMT feature where this won’t be
> an issue, so this is a temporary workaround until then.
> Tested on Windows x64 using vm.quick and Hotspot jtreg tests.
> Webrev:
> http://cr.openjdk.java.net/~ctornqvi/webrev/8033405/webrev.00/
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8033405
> Thanks,
> Christian

More information about the hotspot-runtime-dev mailing list