RFR: 8330464: hserr generic events - add entry for the before_exit calls

Richard Reingruber rrich at openjdk.org
Thu Apr 18 07:12:58 UTC 2024


On Wed, 17 Apr 2024 08:20:03 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

> We currently miss a hs_err file generic event entry for before_exit calls. Those would be helpful to see clearly that a crash happened in a shutdown phase (we had this case recently and would have liked to have a hserr event log entry showing this more clearly).
> 
> Additionally while testing the event I called System.exit(0)  to check the event.
> This showed a native backtrace like this 
> 
>  Stack: [0x00007f1cfe825000,0x00007f1cfe926000],  sp=0x00007f1cfe924530,  free space=1021k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V  [libjvm.so+0x8fb21b]  before_exit(JavaThread*, bool)+0x4bb  (java.cpp:376)
> V  [libjvm.so+0x9da27c]  JVM_Halt+0x6c  (jvm.cpp:442)
> j  java.lang.Shutdown.halt0(I)V+0 java.base at 23.0.0.1-internal
> j  java.lang.Shutdown.halt(I)V+7 java.base at 23.0.0.1-internal
> j  java.lang.Shutdown.exit(I)V+16 java.base at 23.0.0.1-internal
> j  java.lang.Runtime.exit(I)V+14 java.base at 23.0.0.1-internal
> j  java.lang.System.exit(I)V+4 java.base at 23.0.0.1-internal
> 
> So the comment in thread.cpp seems to be outdated, Threads::destroy_vm()  is not in the callstack  and vm_exit() is not seen as well in the callstack so probably the comment needs adjustment.

src/hotspot/share/runtime/threads.cpp line 836:

> 834: // Threads::destroy_vm() is normally called from jni_DestroyJavaVM() when
> 835: // the program falls off the end of main(). Another VM exit path is through
> 836: // vm_exit() when

I think you have to read it like this:


Exit Path 1: reaching from Threads::destroy_vm()

Exit Path 2: reaching from
    - vm_exit()
    - System.exit()
    - Serious error


Maybe add commas to disambiguate.
(https://en.wikipedia.org/wiki/Serial_comma)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/18809#discussion_r1570128226


More information about the hotspot-runtime-dev mailing list