SA does not handle signal handler frame in mixed jstack as following:

----------------- 1789 -----------------
"main" #1 prio=5 tid=0x00007f654c010000 nid=0x6fd runnable [0x00007f6551c0b000]
   java.lang.Thread.State: RUNNABLE
   JavaThread state: _thread_in_native
0x00007f6551c0e735 __GI_abort + 0x8b
0x00007f65511feb39 _ZN2os5abortEbPvPKv + 0x19
0x00007f6551427569 
_ZN7VMError14report_and_dieEiPKcS1_P13__va_list_tagP6ThreadPhPvS7_S1_im + 0x579
0x00007f6551427deb _ZN7VMError14report_and_dieEP6ThreadjPhPvS3_PKcz + 0x8b
0x00007f6551427e1e _ZN7VMError14report_and_dieEP6ThreadjPhPvS3_ + 0x1e
0x00007f6551209950 JVM_handle_linux_signal + 0x1c0
0x00007f65511fd538 _ZL13signalHandleriP7siginfoPv + 0x38
0x00007f6551c27290 ????????
0x00007f653400f890 * NativeSEGV.doSEGV() bci:0 (Interpreted frame)
0x00007f6534009c43 * NativeSEGV.main(java.lang.String[]) bci:76 line:37 
(Interpreted frame)
0x00007f6534000849 <StubRoutines>
0x00007f6550e847e9 
_ZN9JavaCalls11call_helperEP9JavaValueRK12methodHandleP17JavaCallArgumentsP6Thread
 + 0x3b9
0x00007f6550eff1ba 
_ZL17jni_invoke_staticP7JNIEnv_P9JavaValueP8_jobject11JNICallTypeP10_jmethodIDP18JNI_ArgumentPusherP6Thread.isra.65.constprop.193
 + 0x1ba
0x00007f6550f01824 jni_CallStaticVoidMethod + 0x164
0x00007f6551e0582d JavaMain + 0xe4d
0x00007f6551c7f464 start_thread + 0x2e4

0x7f6551c27290 is a signal handler frame, and its caller is native frame. 
However jstack reports the caller is Java frame (`NativeSEGV.doSEGV()`).

It should be like following:


0x00007fdbd170321a JVM_handle_linux_signal + 0x42a
0x00007fdbd267b290 <signal handler called>
0x00007fdbc7ecb3b1 Java_NativeSEGV_doSEGV + 0x18
0x00007fdbb67468ba * NativeSEGV.doSEGV() bci:0 (Interpreted frame)


This is long standing bug (since JDK 9 at least).

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

Commit messages:
 - 8374482: SA does not handle signal handler frame in mixed jstack

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

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

Reply via email to