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
--- a/hotspot/src/share/vm/services/memBaseline.cpp Tue Apr 30 02:28:42 2013 -0700
+++ b/hotspot/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());
}
}