JDK-8259962 : Shenandoah: task queue statistics is inconsistent after JDK-8255019
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 17
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-01-19
  • Updated: 2021-01-26
  • Resolved: 2021-01-19
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 17
17 b06Fixed
Related Reports
Relates :  
Description
$ CONF=linux-x86_64-server-fastdebug make run-test TEST=gc/logging/TestUnifiedLoggingSwitchStress.java TEST_VM_OPTS="-XX:+UseShenandoahGC"

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/shade/trunks/jdk/src/hotspot/share/gc/shared/taskqueue.cpp:89), pid=1202774, tid=1202782
#  assert(get(push) == get(pop) + get(steal)) failed: push=18796 pop=13235 steal=3112

Stack: [0x00007f92a65d2000,0x00007f92a66d2000],  sp=0x00007f92a66cff88,  free space=1015k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x195e3c0]  TaskQueueStats::verify() const+0x40
V  [libjvm.so+0x1834b6d]  ShenandoahObjToScanQueueSet::print_taskqueue_stats() const+0x23d
V  [libjvm.so+0x1811036]  ShenandoahSTWMark::mark()+0x1a6
V  [libjvm.so+0x176bda3]  ShenandoahHeap::op_degenerated(ShenandoahHeap::ShenandoahDegenPoint)+0x313
V  [libjvm.so+0x176c043]  ShenandoahHeap::entry_degenerated(int)+0xe3
V  [libjvm.so+0x18387c7]  VM_ShenandoahDegeneratedGC::doit()+0x57
V  [libjvm.so+0x1aa530e]  VM_Operation::evaluate()+0x18e
V  [libjvm.so+0x1ac92f7]  VMThread::evaluate_operation(VM_Operation*)+0x187
V  [libjvm.so+0x1ac9f68]  VMThread::inner_execute(VM_Operation*)+0x1f8
V  [libjvm.so+0x1aca1a5]  VMThread::loop()+0xb5
V  [libjvm.so+0x1aca2de]  VMThread::run()+0xce
V  [libjvm.so+0x19b2c64]  Thread::call_run()+0x104
V  [libjvm.so+0x155ec2e]  thread_native_entry(Thread*)+0x11e

From the hs_err, the last events are:

Event: 3.725 Executing  VM operation: Shenandoah Init Marking
Event: 3.726 Pause Init Mark (unload classes)
Event: 3.728 Pause Init Mark (unload classes) done
Event: 3.729 Executing  VM operation: Shenandoah Init Marking done
Event: 3.729 Concurrent marking roots
Event: 3.729 Concurrent marking roots done
Event: 3.730 Executing  VM operation: Shenandoah Degenerated GC
Event: 3.733 Pause Degenerated GC (Outside of Cycle)

Comments
Changeset: c0e9c446 Author: Aleksey Shipilev <shade@openjdk.org> Date: 2021-01-19 14:39:04 +0000 URL: https://git.openjdk.java.net/jdk/commit/c0e9c446
19-01-2021