diff src/share/vm/runtime/thread.cpp @ 8673:5ee250974db9

8007476: assert(the_owner != NULL) failed: Did not find owning Java thread for lock word address Summary: Make deadlock detection a little more robust in the case of being unable to find the JavaThread associated with an object lock. Reviewed-by: sla, acorn
author dcubed
date Wed, 27 Feb 2013 15:00:30 -0800
parents b8d5d7a6c94c
children 499ccc15bbc8
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.cpp	Wed Feb 27 16:40:30 2013 +0000
+++ b/src/share/vm/runtime/thread.cpp	Wed Feb 27 15:00:30 2013 -0800
@@ -4285,7 +4285,9 @@
       if (owner == (address)p) return p;
     }
   }
-  assert(UseHeavyMonitors == false, "Did not find owning Java thread with UseHeavyMonitors enabled");
+  // Cannot assert on lack of success here since this function may be
+  // used by code that is trying to report useful problem information
+  // like deadlock detection.
   if (UseHeavyMonitors) return NULL;
 
   //
@@ -4303,7 +4305,7 @@
       }
     }
   }
-  assert(the_owner != NULL, "Did not find owning Java thread for lock word address");
+  // cannot assert on lack of success here; see above comment
   return the_owner;
 }