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

Matthias Baesken mbaesken at openjdk.org
Wed Apr 17 08:25:23 UTC 2024


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.

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

Commit messages:
 - JDK-8330464

Changes: https://git.openjdk.org/jdk/pull/18809/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18809&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8330464
  Stats: 4 lines in 2 files changed: 3 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18809.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18809/head:pull/18809

PR: https://git.openjdk.org/jdk/pull/18809


More information about the hotspot-runtime-dev mailing list