Java process crashed with "fatal error: ExceptionMark destructor expects no pending exceptions" message.
Issue
Java process crashed with "fatal error: ExceptionMark destructor expects no pending exceptions" message like (*1-1), and the fatal error log (hs_err_pid<pid>.log) contained a stack trace like (*2).
(*1) Excerpt 1 from fatal error log
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (exceptions.cpp:471), pid=2517777, tid=0x00007f905d7fa700
# fatal error: ExceptionMark destructor expects no pending exceptions ..... (*1-1)
#
(*2) Excerpt 2 from fatal error log
Current thread (0x00007f9038001000): JavaThread "oneagentautosensor" daemon [_thread_in_vm, id=2518432, stack(0x00007f905cffb000,0x00007f905d7fb000)]
Stack: [0x00007f905cffb000,0x00007f905d7fb000], sp=0x00007f905d7f8450, free space=8181k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xb9d209] VMError::report_and_die()+0x239
V [libjvm.so+0x4f7cc6] report_fatal(char const*, int, char const*)+0x66
V [libjvm.so+0x588123] ExceptionMark::~ExceptionMark()+0x73 ..... (*2-1) ExceptionMark destructor
V [libjvm.so+0x8b2891] ThreadTimesClosure::do_unlocked()+0x1b1 ..... (*2-2) no exception is allowed in this function which uses ExceptionMark
V [libjvm.so+0x8b2ada] jmm_GetInternalThreadTimes+0x19a
j sun.management.HotspotThread.getInternalThreadTimes0([Ljava/lang/String;[J)I+0
j sun.management.HotspotThread.getInternalThreadCpuTimes()Ljava/util/Map;+25
v ~StubRoutines::call_stub
V [libjvm.so+0x6ae1b5] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc65
V [libjvm.so+0x9efcbc] Reflection::invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0xd8c
V [libjvm.so+0x9f0b29] Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x139
V [libjvm.so+0x759bf8] JVM_InvokeMethod+0x138
j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100
:
:
C [liboneagentjava.so+0xdcde3a]
C [liboneagentjava.so+0xdce066]
C [libpthread.so.0+0x81ca] start_thread+0xea
Environment
- OpenJDK 8
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.