Java process crashed with "fatal error: ExceptionMark destructor expects no pending exceptions" message.

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content