Java crash in GCTaskThread while Shenandoah collector pause degenerated gc mark

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content