JVM Crashes after switching from G1GC to Shenandoah
Xi Cheng
xcheng.dev at gmail.com
Wed Aug 18 23:58:11 UTC 2021
Hi, after we have switched from G1GC to Shenandoah for JDK 11.0.11 on
Aarch64,
We start frequently encounter JVM crashes with the following messages:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000ffff7485b424, pid=9, tid=1661
#
# JRE version: OpenJDK Runtime Environment (11.0.11+9) (build
11.0.11+9-Ubuntu-0ubuntu2.18.04)
# Java VM: OpenJDK 64-Bit Server VM (11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed
mode, tiered, shenandoah gc, linux-aarch64)
# Problematic frame:
# J 22198 c1
java.util.concurrent.SynchronousQueue$TransferStack.transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
java.base at 11.0.11 (380 bytes) @ 0x0000ffff7485b424
[0x0000ffff74856d00+0x0000000000004724]
#
# Core dump will be written. Default location: Core dumps may be processed
with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (or dumping
to ...)
#
# An error report file with more information is saved as:
# /java_error.log
Compiled method (c1) 4020651 22198 3
java.util.concurrent.SynchronousQueue$TransferStack::transfer
(380 bytes)
total in heap [0x0000ffff74855b90,0x0000ffff748609c8] = 44600
relocation [0x0000ffff74855d00,0x0000ffff74856cd0] = 4048
main code [0x0000ffff74856d00,0x0000ffff7485dd80] = 28800
stub code [0x0000ffff7485dd80,0x0000ffff7485e890] = 2832
oops [0x0000ffff7485e890,0x0000ffff7485e8d0] = 64
metadata [0x0000ffff7485e8d0,0x0000ffff7485eb70] = 672
scopes data [0x0000ffff7485eb70,0x0000ffff7485fc78] = 4360
scopes pcs [0x0000ffff7485fc78,0x0000ffff74860978] = 3328
dependencies [0x0000ffff74860978,0x0000ffff74860980] = 8
nul chk table [0x0000ffff74860980,0x0000ffff748609c8] = 72
Could not load hsdis-aarch64.so; library not loadable; PrintAssembly is
disabled
#
# If you would like to submit a bug report, please visit:
# https://bugs.launchpad.net/ubuntu/+source/openjdk-lts
#
It is not too clear to us why this happens, our JVM arg is as follows:
-XX:+UnlockExperimentalVMOptions -XX:+PreserveFramePointer
-XX:+UseShenandoahGC -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=500M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000 -Xms157286m -Xmx157286m
-XX:MaxGCPauseMillis=1000 -XX:NativeMemoryTracking=detail
-XX:InitiatingHeapOccupancyPercent=5 -XX:OnOutOfMemoryError="kill -9 %p"
-XX:G1NewSizePercent=1 -XX:ParallelGCThreads=40 -XX:ConcGCThreads=24
Curious what may lead to the error above and what should we look for in the
error and gc logs?
Thanks
More information about the shenandoah-dev
mailing list