JDK-8279395 : test failed "assert(trace != __null) failed: invariant" in JfrStackTraceRepository::lookup_for_leak_profiler
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jfr
  • Affected Version: 18
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • OS: linux
  • CPU: x86_64
  • Submitted: 2022-01-03
  • Updated: 2022-01-03
Description
The following test failed in the JDK18 CI:

applications/kitchensink/Kitchensink24HStress.java

Here's a snippet from the log file:

[63534.821s][warning][gc] GC locker is held; pre-dump GC was skipped
[64399.202s][warning][gc] GC locker is held; pre-dump GC was skipped
[66565.945s][warning][gc] GC locker is held; pre-dump GC was skipped
[73934.952s][warning][gc] GC locker is held; pre-dump GC was skipped
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/mach5/mesos/work_dir/slaves/ff806ead-2cac-495d-9cbc-62116f99bf14-S13764/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6b19463b-d7e5-4689-87b9-bdd7ff8404d5/runs/ab08d409-6056-49b0-abba-59d0530906d1/workspace/open/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp:229), pid=9326, tid=9523
#  assert(trace != __null) failed: invariant
#
# JRE version: Java(TM) SE Runtime Environment (18.0+29) (fastdebug build 18-ea+29-2006)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-ea+29-2006, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0xfd3897]  JfrStackTraceRepository::lookup_for_leak_profiler(unsigned int, unsigned long)+0x107
#
# Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/ff806ead-2cac-495d-9cbc-62116f99bf14-S14056/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/8a638f05-b369-4835-ab72-16da391fc39f/runs/8e7eb09b-04c9-4415-90ef-c93041ee5174/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/core.9326)
#
# JFR recording file will be written. Location: /opt/mach5/mesos/work_dir/slaves/ff806ead-2cac-495d-9cbc-62116f99bf14-S14056/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/8a638f05-b369-4835-ab72-16da391fc39f/runs/8e7eb09b-04c9-4415-90ef-c93041ee5174/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/hs_err_pid9326.jfr
#
Unsupported internal testing APIs have been used.

# An error report file with more information is saved as:
# /opt/mach5/mesos/work_dir/slaves/ff806ead-2cac-495d-9cbc-62116f99bf14-S14056/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/8a638f05-b369-4835-ab72-16da391fc39f/runs/8e7eb09b-04c9-4415-90ef-c93041ee5174/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/hs_err_pid9326.log
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#
----------System.err:(1055/90325)----------


Here's the crashing thread's stack:

---------------  T H R E A D  ---------------

Current thread (0x00007f2dfc052dd0):  JavaThread "JFR Recorder Thread" daemon [_thread_in_vm, id=9523, stack(0x00007f2cd8736000,0x00007f2cd8837000)]

Stack: [0x00007f2cd8736000,0x00007f2cd8837000],  sp=0x00007f2cd8835a50,  free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xfd3897]  JfrStackTraceRepository::lookup_for_leak_profiler(unsigned int, unsigned long)+0x107
V  [libjvm.so+0x15d1c47]  StackTraceBlobInstaller::install(ObjectSample*)+0x107
V  [libjvm.so+0x15d23f7]  install_stack_traces(ObjectSampler const*) [clone .part.0]+0x307
V  [libjvm.so+0x15d2c1f]  ObjectSampleCheckpoint::on_rotation(ObjectSampler const*)+0x29f
V  [libjvm.so+0xfc6905]  JfrRecorderService::pre_safepoint_write()+0x65
V  [libjvm.so+0xfc6b45]  JfrRecorderService::chunk_rotation()+0x75
V  [libjvm.so+0xfc8677]  JfrRecorderService::rotate(int)+0x137
V  [libjvm.so+0xfc994a]  recorderthread_entry(JavaThread*, JavaThread*)+0x26a
V  [libjvm.so+0x192606a]  JavaThread::thread_main_inner()+0x25a
V  [libjvm.so+0x192e430]  Thread::call_run()+0x100
V  [libjvm.so+0x160f544]  thread_native_entry(Thread*)+0x104