Bug 2224469

Summary: Latest version of OpenJDK 11 still has random crashes when using JFR
Product: Red Hat Enterprise Linux 7 Reporter: Stéphane Lapie <stephane_lapie>
Component: java-11-openjdkAssignee: Andrew John Hughes <ahughes>
Status: NEW --- QA Contact: OpenJDK QA <java-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.9CC: mmillson
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stéphane Lapie 2023-07-21 03:16:37 UTC
Description of problem:
When using the Java Flight Recorder, we see the application randomly crash with a SIGSEGV.

Version-Release number of selected component (if applicable):

java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64

How reproducible:
Happens randomly every few weeks (relevant process is restarted daily, so this is not caused by prolonged execution)

Steps to Reproduce:N
No steps, enable JFR on application

Actual results:

Our application crashes with the following stack trace :

Current thread (0x00007f5d8c5df800):  JavaThread "JFR Recorder Thread" daemon [_thread_in_vm, id=11223, stack(0x00007f5d552af000,0x00007f5d553b0000)]

Stack: [0x00007f5d552af000,0x00007f5d553b0000],  sp=0x00007f5d553ae9b0,  free space=1022k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xc40480]  ObjectSampleCheckpoint::write_stacktrace(JfrStackTrace const*, JfrCheckpointWriter&)+0x190
V  [libjvm.so+0xc4091d]  StackTraceBlobInstaller::install(ObjectSample*)+0x14d
V  [libjvm.so+0xc40d33]  ObjectSampleCheckpoint::on_rotation(ObjectSampler const*)+0x243
V  [libjvm.so+0x91cd6d]  JfrRecorderService::pre_safepoint_write()+0x2ed
V  [libjvm.so+0x91d465]  JfrRecorderService::write()+0x75
V  [libjvm.so+0x91d952]  JfrRecorderService::rotate(int)+0x122
V  [libjvm.so+0x91e372]  recorderthread_entry(JavaThread*, Thread*)+0x172
V  [libjvm.so+0xea6232]  JavaThread::thread_main_inner()+0x232
V  [libjvm.so+0xea258a]  Thread::call_run()+0x16a
V  [libjvm.so+0xc63ef8]  thread_native_entry(Thread*)+0xe8


siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000000a9


Expected results:

No SIGSEGV

Additional info:

This looks similar to the problem reported in these JDK bugs, which we believed to be fixed:
- https://bugs.openjdk.org/browse/JDK-8253813
- https://bugs.openjdk.org/browse/JDK-8253888

Related commit:
- https://hg.openjdk.java.net/jdk-updates/jdk11u/rev/6ac1b68e7c00