Bug 1323767 - SIGSEGV in jre
Summary: SIGSEGV in jre
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: frysk
Version: 23
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Cagney
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-04 16:03 UTC by Stas Sergeev
Modified: 2016-05-07 12:11 UTC (History)
7 users (show)

Fixed In Version: frysk-0.4-53.fc23 frysk-0.4-53.fc22 frysk-0.4-53.fc24
Clone Of:
Environment:
Last Closed: 2016-04-30 00:27:05 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Stas Sergeev 2016-04-04 16:03:56 UTC
Description of problem:
Running frysk ftrace leads to SIGSEGV in jre.

Version-Release number of selected component (if applicable):
java-1.8.0-openjdk-headless-1.8.0.77-1.b03.fc23.x86_64

How reproducible:
easily

Steps to Reproduce:
1. ftrace -sym='*' /bin/ls

Actual results:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f3dff11803d, pid=29958, tid=139904272803584
#
# JRE version: OpenJDK Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)
# Java VM: OpenJDK 64-Bit Server VM (25.77-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x67903d]

Expected results:
ftrace worked

Additional info:

Comment 1 Omair Majid 2016-04-04 16:17:27 UTC
Stack trace shows the problem starts from somewhere in frysk's native code:

(gdb) bt
#0  0x00007ffff7209a98 in raise () from /lib64/libc.so.6
#1  0x00007ffff720b69a in abort () from /lib64/libc.so.6
#2  0x00007ffff6b4f139 in os::abort(bool) () from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.77-1.b03.fc23.x86_64/jre/lib/amd64/server/libjvm.so
#3  0x00007ffff6cff8e7 in VMError::report_and_die() () from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.77-1.b03.fc23.x86_64/jre/lib/amd64/server/libjvm.so
#4  0x00007ffff6b5841f in JVM_handle_linux_signal () from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.77-1.b03.fc23.x86_64/jre/lib/amd64/server/libjvm.so
#5  0x00007ffff6b4c278 in signalHandler(int, siginfo_t*, void*) ()
   from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.77-1.b03.fc23.x86_64/jre/lib/amd64/server/libjvm.so
#6  <signal handler called>
#7  0x00007ffff691b03d in jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) [clone .constprop.87] () from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.77-1.b03.fc23.x86_64/jre/lib/amd64/server/libjvm.so
#8  0x00007ffff691d475 in jni_CallIntMethodV () from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.77-1.b03.fc23.x86_64/jre/lib/amd64/server/libjvm.so
#9  0x00007fffd8fa0f7b in jnixx::env::CallIntMethod(_jobject*, _jmethodID*, ...) () from /usr/lib64/libfrysk-sys-jni.so
#10 0x00007fffd8fead7c in find_proc_info () from /usr/lib64/libfrysk-sys-jni.so
#11 0x00007fffd900e575 in fetch_proc_info () from /usr/lib64/libfrysk-sys-jni.so
#12 0x00007fffd901010e in _Ux86_64_dwarf_find_save_locs () from /usr/lib64/libfrysk-sys-jni.so
#13 0x00007fffd9011369 in _Ux86_64_dwarf_step () from /usr/lib64/libfrysk-sys-jni.so
#14 0x00007fffd901356e in _Ux86_64_step () from /usr/lib64/libfrysk-sys-jni.so
#15 0x00007fffd8fed191 in lib::unwind::UnwindX8664::step(jnixx::env, long) () from /usr/lib64/libfrysk-sys-jni.so
#16 0x00007fffd8ffb2d5 in Java_lib_unwind_UnwindX8664_step(__complex) () from /usr/lib64/libfrysk-sys-jni.so
#17 0x00007fffe10156d4 in ?? ()
#18 0x00007ffff7fc1338 in ?? ()
#19 0x00007fffe1015467 in ?? ()
#20 0x00007fffe1015422 in ?? ()
#21 0x00007ffff7fc12f8 in ?? ()
#22 0x00007fffe0d92398 in ?? ()
#23 0x00007ffff7fc1368 in ?? ()
#24 0x00007fffe0d98178 in ?? ()
#25 0x0000000000000000 in ?? ()

Re-assigning to frysk. They would know more about what this code is trying to do.

Comment 2 Cagney 2016-04-07 14:21:33 UTC
It was trying to cache jmethodID and jfieldID values and reuse them across threads and objects.  While it seemed to work with GCJ based VMs it isn't correct and causes openjdk to crash.

I've pushed a fix to this specific problem.

With this applied, "ftrace -sys=* ls" works better.  Unfortunately, "ftrace -sym=* ls" runs afoul of bugs in the old unwinder library frysk is using.

Comment 3 Fedora Update System 2016-04-07 16:33:35 UTC
frysk-0.4-47.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-4a2d7320a0

Comment 4 Fedora Update System 2016-04-07 16:33:41 UTC
frysk-0.4-47.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-c0768215f9

Comment 5 Fedora Update System 2016-04-08 16:52:43 UTC
frysk-0.4-47.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-c0768215f9

Comment 6 Fedora Update System 2016-04-08 20:50:59 UTC
frysk-0.4-47.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-4a2d7320a0

Comment 7 Fedora Update System 2016-04-19 21:27:06 UTC
frysk-0.4-53.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-c0768215f9

Comment 8 Fedora Update System 2016-04-19 21:29:27 UTC
frysk-0.4-53.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-4a2d7320a0

Comment 9 Fedora Update System 2016-04-20 20:22:44 UTC
frysk-0.4-53.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-c0768215f9

Comment 10 Fedora Update System 2016-04-21 21:22:08 UTC
frysk-0.4-53.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-4a2d7320a0

Comment 11 Fedora Update System 2016-04-23 00:15:19 UTC
frysk-0.4-53.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-cf7553c231

Comment 12 Fedora Update System 2016-04-24 06:25:51 UTC
frysk-0.4-53.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-cf7553c231

Comment 13 Fedora Update System 2016-04-30 00:27:01 UTC
frysk-0.4-53.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2016-05-02 05:50:19 UTC
frysk-0.4-53.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2016-05-07 12:11:16 UTC
frysk-0.4-53.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.