changeset 4557:ed5a590835a4

8013214: BigApps fails due to 'fatal error: Illegal threadstate encountered: 6' Summary: Grab and drop SR_lock to get the thread to honor the safepoint protocol Reviewed-by: dcubed, coleenp
author zgu
date Tue, 30 Apr 2013 09:17:06 -0400
parents 409d4b59e095
children 746b070f5022 e4614b063fe1 b4081e9714ec
files src/share/vm/services/memBaseline.cpp
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/services/memBaseline.cpp	Tue Apr 30 02:28:42 2013 -0700
+++ b/src/share/vm/services/memBaseline.cpp	Tue Apr 30 09:17:06 2013 -0400
@@ -156,7 +156,8 @@
 // for the safepoint
 void MemBaseline::check_safepoint(JavaThread* thr) {
   if (SafepointSynchronize::is_synchronizing()) {
-    SafepointSynchronize::block(thr);
+    // grab and drop the SR_lock to honor the safepoint protocol
+    MutexLocker ml(thr->SR_lock());
   }
 }