JDK-8156223 is in regards to a memory corruption. Sometimes when trying to report this corruption, verify_memory() calls tty->print_cr(), which results in the following assert:
# Internal Error (/opt/jprt/T/P1/111506.mgerdin/s/hotspot/src/share/vm/runtime/mutex.cpp:454), pid=26316, tid=31
# assert(_OnDeck != Self->_MutexEvent) failed: invariant
Below is the stack trace:
V [libjvm.so+0x2185a16] void VMError::report(outputStream*,bool)+0xef6
V [libjvm.so+0x2187d23] void VMError::report_and_die(int,const char*,const char*,__va_list_element*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x8e3
V [libjvm.so+0x21873d2] void VMError::report_and_die(Thread*,const char*,int,const char*,const char*,__va_list_element*)+0x42
V [libjvm.so+0x14ea3b9] void report_vm_error(const char*,int,const char*,const char*,...)+0xf9
V [libjvm.so+0x21868eb] void VMError::report(outputStream*,bool)+0x1dcb
V [libjvm.so+0x2187d23] void VMError::report_and_die(int,const char*,const char*,__va_list_element*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x8e3
V [libjvm.so+0x21873d2] void VMError::report_and_die(Thread*,const char*,int,const char*,const char*,__va_list_element*)+0x42
V [libjvm.so+0x14ea3b9] void report_vm_error(const char*,int,const char*,const char*,...)+0xf9
V [libjvm.so+0x20caa3a] void Thread::print_on_error(outputStream*,char*,int)const+0x1ea
V [libjvm.so+0x2185841] void VMError::report(outputStream*,bool)+0xd21
V [libjvm.so+0x2187d23] void VMError::report_and_die(int,const char*,const char*,__va_list_element*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x8e3
V [libjvm.so+0x21873d2] void VMError::report_and_die(Thread*,const char*,int,const char*,const char*,__va_list_element*)+0x42
V [libjvm.so+0x14ea3b9] void report_vm_error(const char*,int,const char*,const char*,...)+0xf9
V [libjvm.so+0x1db3e30] void Monitor::ILock(Thread*)+0x4c0
V [libjvm.so+0x1db53fa] void Monitor::lock_without_safepoint_check(Thread*)+0x2a
V [libjvm.so+0x1e38abd] long defaultStream::hold(long)+0xdd
V [libjvm.so+0x1e38c2a] void defaultStream::write(const char*,unsigned long)+0x2a
V [libjvm.so+0x1e34fcb] void outputStream::print_cr(const char*,...)+0x39b
V [libjvm.so+0x1e0edaa] void verify_memory(void*)+0xea
V [libjvm.so+0x1e0f8ed] void os::free(void*)+0x6d
V [libjvm.so+0x20c9a00] Thread::~Thread #Nvariant 1()+0x1b0
V [libjvm.so+0x20dcf44] __SLIP.DELETER__B+0x14
V [libjvm.so+0x20d03e3] void JavaThread::thread_main_inner()+0x393
V [libjvm.so+0x20cfe7c] void JavaThread::run()+0x35c
V [libjvm.so+0x1e1e192] java_start+0x132
C [libc.so.1+0x1251f1] _thrp_setup+0xa5
C [libc.so.1+0x125490] _lwp_start+0x0
The assert might have something to do with the fact that the current Thread is in the process of being destroyed.
# Internal Error (/opt/jprt/T/P1/111506.mgerdin/s/hotspot/src/share/vm/runtime/mutex.cpp:454), pid=26316, tid=31
# assert(_OnDeck != Self->_MutexEvent) failed: invariant
Below is the stack trace:
V [libjvm.so+0x2185a16] void VMError::report(outputStream*,bool)+0xef6
V [libjvm.so+0x2187d23] void VMError::report_and_die(int,const char*,const char*,__va_list_element*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x8e3
V [libjvm.so+0x21873d2] void VMError::report_and_die(Thread*,const char*,int,const char*,const char*,__va_list_element*)+0x42
V [libjvm.so+0x14ea3b9] void report_vm_error(const char*,int,const char*,const char*,...)+0xf9
V [libjvm.so+0x21868eb] void VMError::report(outputStream*,bool)+0x1dcb
V [libjvm.so+0x2187d23] void VMError::report_and_die(int,const char*,const char*,__va_list_element*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x8e3
V [libjvm.so+0x21873d2] void VMError::report_and_die(Thread*,const char*,int,const char*,const char*,__va_list_element*)+0x42
V [libjvm.so+0x14ea3b9] void report_vm_error(const char*,int,const char*,const char*,...)+0xf9
V [libjvm.so+0x20caa3a] void Thread::print_on_error(outputStream*,char*,int)const+0x1ea
V [libjvm.so+0x2185841] void VMError::report(outputStream*,bool)+0xd21
V [libjvm.so+0x2187d23] void VMError::report_and_die(int,const char*,const char*,__va_list_element*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x8e3
V [libjvm.so+0x21873d2] void VMError::report_and_die(Thread*,const char*,int,const char*,const char*,__va_list_element*)+0x42
V [libjvm.so+0x14ea3b9] void report_vm_error(const char*,int,const char*,const char*,...)+0xf9
V [libjvm.so+0x1db3e30] void Monitor::ILock(Thread*)+0x4c0
V [libjvm.so+0x1db53fa] void Monitor::lock_without_safepoint_check(Thread*)+0x2a
V [libjvm.so+0x1e38abd] long defaultStream::hold(long)+0xdd
V [libjvm.so+0x1e38c2a] void defaultStream::write(const char*,unsigned long)+0x2a
V [libjvm.so+0x1e34fcb] void outputStream::print_cr(const char*,...)+0x39b
V [libjvm.so+0x1e0edaa] void verify_memory(void*)+0xea
V [libjvm.so+0x1e0f8ed] void os::free(void*)+0x6d
V [libjvm.so+0x20c9a00] Thread::~Thread #Nvariant 1()+0x1b0
V [libjvm.so+0x20dcf44] __SLIP.DELETER__B+0x14
V [libjvm.so+0x20d03e3] void JavaThread::thread_main_inner()+0x393
V [libjvm.so+0x20cfe7c] void JavaThread::run()+0x35c
V [libjvm.so+0x1e1e192] java_start+0x132
C [libc.so.1+0x1251f1] _thrp_setup+0xa5
C [libc.so.1+0x125490] _lwp_start+0x0
The assert might have something to do with the fact that the current Thread is in the process of being destroyed.
- duplicates
-
JDK-6909265 assert(_OnDeck != Self->_MutexEvent,"invariant") with -XX:+PrintMallocFree
-
- Resolved
-