JDK-8260723 : assert(((((JfrTraceIdBits::load(klass)) & ((JfrTraceIdEpoch::this_epoch_method_and_class_bits()))) != 0))) failed: invariant
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jfr
  • Affected Version: 17
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86_64
  • Submitted: 2021-02-01
  • Updated: 2022-11-23
  • Resolved: 2022-11-23
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 19
19 b32Resolved
Related Reports
Duplicate :  
Relates :  
Description
The following test failed in the JDK17 CI:

applications/kitchensink/Kitchensink24HStress.java

Here's a snippet from the log file:

[2021-02-01T16:23:11.990706516Z] Gathering output for process 4015
[2021-02-01T16:23:18.179440027Z] Waiting for completion for process 4015
[2021-02-01T16:23:18.179519356Z] Waiting for completion finished for process 4015
Output and diagnostic info for process 4015 was saved into 'pid-4015-output.log'
[stress.process.out] #
[stress.process.out] # A fatal error has been detected by the Java Runtime Environment:
[stress.process.out] #
[stress.process.out] #  Internal Error (/opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S14447/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/427d82f1-c179-443d-b5ed-6a2a578443b4/runs/9e9a7411-ccf5-4ff3-bf2e-6ffe73f069b0/workspace/open/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdLoadBarrier.inline.hpp:112), pid=400, tid=488
[stress.process.out] #  assert(((((JfrTraceIdBits::load(klass)) & ((JfrTraceIdEpoch::this_epoch_method_and_class_bits()))) != 0))) failed: invariant
[stress.process.out] #
[stress.process.out] # JRE version: Java(TM) SE Runtime Environment (17.0+8) (fastdebug build 17-ea+8-LTS-506)
[stress.process.out] # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 17-ea+8-LTS-506, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
[stress.process.out] # Problematic frame:
[stress.process.out] # V  [libjvm.so+0x14ffbd3]  ObjectSampleCheckpoint::add_to_leakp_set(InstanceKlass const*, unsigned long)+0x433
[stress.process.out] #
[stress.process.out] # 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/983c483a-6907-44e0-ad29-98c7183575e2-S15054/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6ac250f0-5452-489f-a3b7-9c3154bde499/runs/33ce67e8-37d0-4d33-b6fb-1165b7d6379c/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/core.400)
[stress.process.out] #
[stress.process.out] # JFR recording file will be written. Location: /opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S15054/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6ac250f0-5452-489f-a3b7-9c3154bde499/runs/33ce67e8-37d0-4d33-b6fb-1165b7d6379c/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/hs_err_pid400.jfr
[stress.process.out] #
[stress.process.out] Unsupported internal testing APIs have been used.
[stress.process.out] 
[stress.process.out] # An error report file with more information is saved as:
[stress.process.out] # /opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S15054/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6ac250f0-5452-489f-a3b7-9c3154bde499/runs/33ce67e8-37d0-4d33-b6fb-1165b7d6379c/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/hs_err_pid400.log
[stress.process.out] #
[stress.process.out] # If you would like to submit a bug report, please visit:
[stress.process.out] #   https://bugreport.java.com/bugreport/crash.jsp
[stress.process.out] #
[2021-02-01T16:24:18.182948266Z] Gathering output for process 4454
[2021-02-01T16:24:18.190832619Z] Waiting for completion for process 4454
[2021-02-01T16:24:18.190895408Z] Waiting for completion finished for process 4454
Output and diagnostic info for process 4454 was saved into 'pid-4454-output.log'


Here's the crashing thread's stack:

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

Current thread (0x00007f6f6c049990):  JavaThread "JFR Recorder Thread" daemon [_thread_in_vm, id=488, stack(0x00007f6eefeff000,0x00007f6ef0000000)]

Stack: [0x00007f6eefeff000,0x00007f6ef0000000],  sp=0x00007f6eefffea10,  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+0x14ffbd3]  ObjectSampleCheckpoint::add_to_leakp_set(InstanceKlass const*, unsigned long)+0x433
V  [libjvm.so+0x150003e]  ObjectSampleCheckpoint::write_stacktrace(JfrStackTrace const*, JfrCheckpointWriter&)+0xfe
V  [libjvm.so+0x1500a92]  StackTraceBlobInstaller::install(ObjectSample*)+0x1f2
V  [libjvm.so+0x1501200]  ObjectSampleCheckpoint::on_rotation(ObjectSampler const*, JfrStackTraceRepository&)+0x370
V  [libjvm.so+0xf10c44]  JfrRecorderService::pre_safepoint_write()+0xc4
V  [libjvm.so+0xf10e65]  JfrRecorderService::chunk_rotation()+0x75
V  [libjvm.so+0xf128a5]  JfrRecorderService::rotate(int)+0x45
V  [libjvm.so+0xf141ea]  recorderthread_entry(JavaThread*, Thread*)+0x34a
V  [libjvm.so+0x184f5d6]  JavaThread::thread_main_inner()+0x256
V  [libjvm.so+0x1855f40]  Thread::call_run()+0x100
V  [libjvm.so+0x1540b06]  thread_native_entry(Thread*)+0x116


This failure looks very similar to:

JDK-8249245 assert(((((JfrTraceIdBits::load(klass)) & ((JfrTraceIdEpoch::this_epoch_method_and_class_bits()))) != 0))) failed: invariant

The fix for that bug was integrated on 2021.01.18.
This build-ID (jdk-17+8-506) was submitted on 2021.01.30
so this build-ID should include the fix for JDK-8249245.