JDK-8253813 : Backout JDK-8244287 from 11u: it causes several crashes
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jfr
  • Affected Version: 11.0.9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-09-29
  • Updated: 2021-02-22
  • Resolved: 2020-09-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11.0.10Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
From: https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-September/003886.html

"""
we have seen several crashes on several platforms after this change was pushed.

Aarch64 example:
Stack: [0x0000ffff90437000,0x0000ffff90637000],  sp=0x0000ffff90635520,  free space=2041k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x9fb0f8]  ObjectSampleCheckpoint::write_stacktrace(JfrStackTrace const*, JfrCheckpointWriter&)+0x208
V  [libjvm.so+0x9fb770]  StackTraceBlobInstaller::install(ObjectSample*)+0x1b8
V  [libjvm.so+0x9fba40]  ObjectSampleCheckpoint::on_rotation(ObjectSampler const*, JfrStackTraceRepository&)+0x150
V  [libjvm.so+0x72df6c]  JfrRecorderService::pre_safepoint_write()+0x3a4
V  [libjvm.so+0x72e828]  JfrRecorderService::write()+0x58
V  [libjvm.so+0x72fd2c]  JfrRecorderService::rotate(int)+0x3b4
V  [libjvm.so+0x730628]  recorderthread_entry(JavaThread*, Thread*)+0x160
V  [libjvm.so+0xbb2dd0]  JavaThread::thread_main_inner()+0xd8
V  [libjvm.so+0xbb08fc]  Thread::call_run()+0x94
V  [libjvm.so+0xa21718]  thread_native_entry(Thread*)+0x108
C  [libpthread.so.0+0x7088]  start_thread+0xb0

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

This backport uses a different JfrStackFrame constructor (which was probably unused before):
JfrStackFrame::JfrStackFrame(const traceid& id, int bci, int type, int lineno) :
  _method(NULL), _methodid(id), _line(lineno), _bci(bci), _type(type) {}

It sets _method to NULL!

Should probably be:
JfrStackFrame::JfrStackFrame(const traceid& id, int bci, int type, int lineno, const Method* method) :
  _method(method), _methodid(id), _line(lineno), _bci(bci), _type(type) {}

and:
_frames[count] = JfrStackFrame(mid, bci, type, lineno, method);
"""

Comments
URL: https://hg.openjdk.java.net/jdk-updates/jdk11u/rev/6ac1b68e7c00 User: goetz Date: 2020-09-30 07:03:16 +0000
30-09-2020

Fix request (11u) We would like to backout 8244287 as it causes crashes. I put the backout change into our test queue, and if reviewed and approved I will push it before tagging tomorrow. http://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-September/003893.html
30-09-2020