From bb56c020f425c0875c054e52de52c311e204601f Mon Sep 17 00:00:00 2001 From: Robbin Ehn Date: Tue, 24 Sep 2019 08:54:39 +0200 Subject: [PATCH] 8229778: TestJstatdDefaults.java failed due to "fatal error: LEAF method calling lock?" Reviewed-by: dholmes, dcubed --- src/hotspot/share/runtime/thread.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hotspot/share/runtime/thread.cpp b/src/hotspot/share/runtime/thread.cpp index 30df61a5202..8f24154349e 100644 --- a/src/hotspot/share/runtime/thread.cpp +++ b/src/hotspot/share/runtime/thread.cpp @@ -1803,7 +1803,10 @@ bool JavaThread::reguard_stack(void) { void JavaThread::block_if_vm_exited() { if (_terminated == _vm_exited) { // _vm_exited is set at safepoint, and Threads_lock is never released - // we will block here forever + // we will block here forever. + // Here we can be doing a jump from a safe state to an unsafe state without + // proper transition, but it happens after the final safepoint has begun. + set_thread_state(_thread_in_vm); Threads_lock->lock(); ShouldNotReachHere(); }