# HG changeset patch # User jmasa # Date 1351617835 25200 # Node ID 3fadc0e8cffeba479b1eaec3458a7e7a1c2a29b1 # Parent a516debe2cee506608ea198be4d16a8587fcd7e4 8000988: VM deadlock when running btree006 on windows-i586 Reviewed-by: johnc, jcoomes, ysr diff -r a516debe2cee -r 3fadc0e8cffe src/share/vm/memory/collectorPolicy.cpp --- a/src/share/vm/memory/collectorPolicy.cpp Fri Oct 26 14:18:57 2012 -0700 +++ b/src/share/vm/memory/collectorPolicy.cpp Tue Oct 30 10:23:55 2012 -0700 @@ -742,6 +742,8 @@ uint gc_count = 0; uint full_gc_count = 0; + assert(!Heap_lock->owned_by_self(), "Should not be holding the Heap_lock"); + do { MetaWord* result = NULL; if (GC_locker::is_active_and_needs_gc()) { @@ -756,7 +758,6 @@ } JavaThread* jthr = JavaThread::current(); if (!jthr->in_critical()) { - MutexUnlocker mul(Heap_lock); // Wait for JNI critical section to be exited GC_locker::stall_until_clear(); // The GC invoked by the last thread leaving the critical