JVM Crashes after switching from G1GC to Shenandoah
Roman Kennke
rkennke at redhat.com
Thu Aug 19 11:19:32 UTC 2021
Hi Xi Cheng,
Thanks for the report!
This looks like a problem in the C1 cas-obj barrier of Shenandoah.
Could you run this with a fastdebug build, and send us resulting hs_err*
file?
https://builds.shipilev.net/openjdk-jdk11/
In the meantime we'll look for possible bugs / fixes.
Thanks,
Roman
> 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