RFR(S) 8054368: nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2)
zhengyu.gu at oracle.com
Wed Aug 13 19:54:14 UTC 2014
The crash is caused by debugee exiting process by calling ::exit(),
which causes C runtime to destroy static object
(VirtualMemoryTracker::_reserved_regions) while threads still access it.
The solution is to replace it with pointer type, allocates the object
during NMT initialization and deallocate it during shutdown.
Ran nsk/jdi/VirtualMachine/exit/exit002 in a loop for 1+ hour on
Solaris x64, no crash.
Without the fix, it crashes within 5 minutes.
More information about the hotspot-runtime-dev