Index: vm/vmcore/src/thread/thread_java_basic.cpp =================================================================== --- vm/vmcore/src/thread/thread_java_basic.cpp (revision 590662) +++ vm/vmcore/src/thread/thread_java_basic.cpp (working copy) @@ -400,7 +400,6 @@ // Detach from VM. jobject java_thread = vm_thread->java_thread; - JNIEnv *jni_env = vm_thread->jni_env; jint status = vm_detach(java_thread); if (status != JNI_OK) { return TM_ERROR_INTERNAL; @@ -413,7 +412,8 @@ //} // Delete global reference to current thread object. - jni_env->DeleteGlobalRef(java_thread); + // jni_env is already deallocated in vm_detach. + DeleteGlobalRef(/*jni_env*/NULL, java_thread); // Decrease alive thread counter jthread_end_count();