ConcurrentGC Thead Count(ConcGCThreads) makes JVM Crash on Oracle and OpenJDK 6
Issue
When the Concurrent Mark Sweep (CMS) garbage collector (GC) is used as a GC Policy, if ConcGCThreads count is more than vm core count, the jvm instance crashes. (-XX:ConcGCThreads)
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f55ac1a515f, pid=29830, tid=140005673514752
#
# JRE version: 6.0_22-b22
# Java VM: OpenJDK 64-Bit Server VM (20.0-b11 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.10.8
# Distribution: Fedora release 15 (Lovelock), package fedora-65.1.10.8.fc15-x86_64
# Problematic frame:
# V [libjvm.so+0x49115f] AsyncGetCallTrace+0x8271f
.. .. ..
--------------- T H R E A D ---------------
Current thread (0x00007f55a411d800): VMThread [stack: 0x00007f559c5fb000,0x00007f559c6fc000] [id=29847]
.. .. ..
Stack: [0x00007f559c5fb000,0x00007f559c6fc000], sp=0x00007f559c6fa620, free space=1021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x49115f] AsyncGetCallTrace+0x8271f
V [libjvm.so+0x36a73d] ftell+0x36a73d
V [libjvm.so+0x447eb9] AsyncGetCallTrace+0x39479
V [libjvm.so+0x43d8ff] AsyncGetCallTrace+0x2eebf
V [libjvm.so+0x43f2ed] AsyncGetCallTrace+0x308ad
V [libjvm.so+0x43f7b7] AsyncGetCallTrace+0x30d77
V [libjvm.so+0x3a3184] ftell+0x3a3184
V [libjvm.so+0x3a6411] ftell+0x3a6411
JVM parameters
-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:ConcGCThreads=4
Environment
- JBoss Enterprise Application Platform (EAP) 6.0.1
- Red Hat Enterprise Linux (RHEL) 6
- OpenJDK 1.6
- Oracle JDK 1.6
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.