changeset 23832:a4b071e9b629

6976636: JVM/TI test ex03t001 fails assertion Reviewed-by: dcubed, dsamersoff
author sspitsyn
date Thu, 17 Mar 2016 17:09:10 +0300
parents d2dd79a4fd69
children e443d4e588a3
files src/share/vm/prims/jvmtiExport.cpp
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiExport.cpp	Tue Mar 15 17:39:56 2016 -0700
+++ b/src/share/vm/prims/jvmtiExport.cpp	Thu Mar 17 17:09:10 2016 +0300
@@ -995,7 +995,9 @@
         // Before we call the JVMTI agent, we have to set the state in the
         // thread for which we are proxying.
         JavaThreadState prev_state = real_thread->thread_state();
-        assert(prev_state == _thread_blocked, "JavaThread should be at safepoint");
+        assert(((Thread *)real_thread)->is_ConcurrentGC_thread() ||
+               (real_thread->is_Java_thread() && prev_state == _thread_blocked),
+               "should be ConcurrentGCThread or JavaThread at safepoint");
         real_thread->set_thread_state(_thread_in_native);
 
         jvmtiExtensionEvent callback = env->ext_callbacks()->ClassUnload;