Java crash in GCTaskThread while Shenandoah collector pause degenerated gc mark
Issue
Java application crashes with the following in the fatal error log:
# SIGSEGV (0xb) at pc=0x00007ffb90e423a6, pid=4687, tid=0x00007ffb7fd56700
#
# JRE version: OpenJDK Runtime Environment (8.0_265-b01) (build 1.8.0_265-b01)
# Java VM: OpenJDK 64-Bit Server VM (25.265-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0xa333a6] ShenandoahUpdateRefsClosure::do_oop(oopDesc**)+0x26
...
Current thread (0x000055ae21e0f000): GCTaskThread [stack: 0x00007ffb7fc57000,0x00007ffb7fd57000] [id=4693]
...
Stack: [0x00007ffb7fc57000,0x00007ffb7fd57000], sp=0x00007ffb7fd55348, free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xa333a6] ShenandoahUpdateRefsClosure::do_oop(oopDesc**)+0x26
V [libjvm.so+0x91ddd5] nmethod::oops_do(OopClosure*, bool)+0x135
V [libjvm.so+0x6aa3f2] CodeBlobToOopClosure::do_code_blob(CodeBlob*)+0x32
V [libjvm.so+0xb19e55] JavaThread::oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*)+0x175
V [libjvm.so+0xb1b715] Threads::possibly_parallel_oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*)+0x1c5
V [libjvm.so+0xa726cc] ShenandoahThreadRoots::oops_do(OopClosure*, CLDClosure*, CodeBlobClosure*, unsigned int)+0x7c
V [libjvm.so+0xa73531] ShenandoahRootUpdater::roots_do(unsigned int, BoolObjectClosure*, OopClosure*)+0x101
V [libjvm.so+0xa33a6a] ShenandoahUpdateRootsTask::work(unsigned int)+0x9a
V [libjvm.so+0xb92fc7] GangWorker::loop()+0xc7
V [libjvm.so+0x9674a2] java_start(Thread*)+0x132
VM is at safepoint:
VM state:at safepoint (normal execution)
- GCTaskThread is doing degenerated GC marking after many thread dumps:
Event: 1683621.458 Thread 0x000055ae29e67000 Thread exited: 0x000055ae29e67000
Event: 1683621.504 Executing VM operation: ThreadDump
Event: 1683621.505 Executing VM operation: ThreadDump done
Event: 1683621.557 Executing VM operation: ThreadDump
Event: 1683621.559 Executing VM operation: ThreadDump done
Event: 1683621.611 Executing VM operation: ThreadDump
Event: 1683621.612 Executing VM operation: ThreadDump done
Event: 1683621.664 Executing VM operation: ThreadDump
Event: 1683621.667 Executing VM operation: ThreadDump done
Event: 1683621.718 Executing VM operation: ThreadDump
Event: 1683621.720 Executing VM operation: ThreadDump done
Event: 1683621.773 Executing VM operation: ThreadDump
Event: 1683621.775 Executing VM operation: ThreadDump done
Event: 1683621.826 Executing VM operation: ThreadDump
Event: 1683621.828 Executing VM operation: ThreadDump done
Event: 1683621.880 Executing VM operation: ThreadDump
Event: 1683621.882 Executing VM operation: ThreadDump done
Event: 1683621.934 Executing VM operation: ThreadDump
Event: 1683621.936 Executing VM operation: ThreadDump done
Event: 1683621.989 Executing VM operation: ThreadDump
Event: 1683621.992 Executing VM operation: ThreadDump done
Event: 1683622.043 Executing VM operation: ThreadDump
Event: 1683622.046 Executing VM operation: ThreadDump done
Event: 1683622.078 Thread 0x000055ae2a24a000 Cancelling GC: Allocation Failure
Event: 1683622.078 Concurrent marking (unload classes) done
Event: 1683622.079 Executing VM operation: ShenandoahDegeneratedGC
Event: 1683622.080 Pause Degenerated GC (Mark)
Environment
- OpenJDK8 u265 x86_64
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.