RFR(XS) 8055236: Deadlock during NMT2 shutdown on Windows
zhengyu.gu at oracle.com
Wed Aug 20 20:25:13 UTC 2014
Before NMT2, MemTracker::shutdown() only sets flag that signals a
pending shutdown request, there is no lock taken. Upon seeing the
shutdown pending flag, NMT worker thread actually does the real cleanup
On 8/20/2014 4:04 PM, Daniel D. Daugherty wrote:
> On 8/20/14 7:21 AM, Zhengyu Gu wrote:
>> The problem is caused by acquiring locks inside
>> MemTracker::shutdown(), which could be held by threads that have been
>> already killed.
>> Given the MemTracker::shutdown() call is on JVM exiting path, the
>> call is not necessary, should be removed.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8055236
>> Webrev: http://cr.openjdk.java.net/~zgu/8055236/webrev.00/
> No comments.
> I have no issues with removing the work around code, but there is
> no analysis here or in the bug report that explains why this work
> around is no longer necessary. There's also no explanation about
> why this deadlock is seen now and why it wasn't seen before NMT2.
> I'll hold off on a thumbs up until I see some reasonable analysis.
>> Tested on Windows x64 with following tests:
More information about the hotspot-runtime-dev