A fatal error has been detected by the Java Runtime Environment
Please provide a brief summary of the bug
JVM crash by ZGC hs_err_pid1.log
Did you test with the latest update version?
- [ ] Yes
Please provide steps to reproduce where possible
Occasional crashes that occur after running for a long time
Expected Results
not crash
Actual Results
crash
What Java Version are you using?
11.0.23+9
What is your operating system and platform?
x86_64 Ubuntu 22.04.1 LTS Docker version 25.0.4, build 1a576c5
How did you install Java?
docker image
Did it work before?
yes
Did you test with other Java versions?
no
Relevant log output
2024-08-24T13:30:50.003039407Z # A fatal error has been detected by the Java Runtime Environment:
2024-08-24T13:30:50.003041639Z #
2024-08-24T13:30:50.003042989Z # SIGSEGV (0xb) at pc=0x0000755080c79455, pid=1, tid=11
2024-08-24T13:30:50.003044427Z #
2024-08-24T13:30:50.003045716Z # JRE version: OpenJDK Runtime Environment Temurin-11.0.23+9 (11.0.23+9) (build 11.0.23+9)
2024-08-24T13:30:50.003047166Z # Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.23+9 (11.0.23+9, mixed mode, tiered, z gc, linux-amd64)
2024-08-24T13:30:50.003048571Z # Problematic frame:
2024-08-24T13:30:50.044819352Z # V [libjvm.so+0xf9e455] ZMark::try_mark_object(ZMarkCache*, unsigned long, bool)+0x35
2024-08-24T13:30:50.044875423Z #
2024-08-24T13:30:50.044891785Z # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /app/core.1)
2024-08-24T13:30:50.044900311Z #
2024-08-24T13:30:50.078218482Z # An error report file with more information is saved as:
2024-08-24T13:30:50.078271700Z # /app/hs_err_pid1.log
2024-08-24T13:30:50.124896352Z #
2024-08-24T13:30:50.124905335Z # If you would like to submit a bug report, please visit:
2024-08-24T13:30:50.124907123Z # https://github.com/adoptium/adoptium-support/issues
2024-08-24T13:30:50.124908405Z #
2024-08-24T13:30:50.125298361Z
2024-08-24T13:30:50.125302518Z [error occurred during error reporting (), id 0xb, SIGSEGV (0xb) at pc=0x00007550812d9941]
Please try with 11.0.24 and send in the crash log
It happened again on 11.0.24+8 @karianna
Relevant log output
#
2024-10-12T23:23:30.786942138Z # A fatal error has been detected by the Java Runtime Environment:
2024-10-12T23:23:30.786943931Z #
2024-10-12T23:23:30.786945114Z # SIGSEGV (0xb) at pc=0x00007937c239ded0, pid=1, tid=8
2024-10-12T23:23:30.786946399Z #
2024-10-12T23:23:30.786947487Z # JRE version: OpenJDK Runtime Environment Temurin-11.0.24+8 (11.0.24+8) (build 11.0.24+8)
2024-10-12T23:23:30.786948995Z # Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.24+8 (11.0.24+8, mixed mode, tiered, z gc, linux-amd64)
2024-10-12T23:23:30.786950276Z # Problematic frame:
2024-10-12T23:23:30.859757893Z # V [libjvm.so+0xf9ded0] ZMark::try_mark_object(ZMarkCache*, unsigned long, bool)+0x190
2024-10-12T23:23:30.859810454Z #
2024-10-12T23:23:30.859821722Z # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /app/core.1)
2024-10-12T23:23:30.859836391Z #
2024-10-12T23:23:30.859846433Z # An error report file with more information is saved as:
2024-10-12T23:23:30.859857637Z # /app/hs_err_pid1.log
2024-10-12T23:23:30.898686816Z #
2024-10-12T23:23:30.898698409Z # If you would like to submit a bug report, please visit:
2024-10-12T23:23:30.898700411Z # https://github.com/adoptium/adoptium-support/issues
2024-10-12T23:23:30.898702115Z #
2024-10-12T23:23:30.898963362Z
2024-10-12T23:23:30.899175100Z [error occurred during error reporting (), id 0xb, SIGSEGV (0xb) at pc=0x00007937c2a169a2]
Looks like https://bugs.openjdk.org/browse/JDK-8230566 which is fixed in Java 14 - are you able to move to Java 17 for your app?
We don’t have plans to migrate to Java 17 at the moment. I’m wondering if disabling ZGC would resolve this issue, as that would be a less costly change for us @karianna
What was the reason for choosing ZGC? If you're not running a very large heap that has strict latency goals then the default G1 GC should be fine.
We aim to use ZGC on our production servers for its low latency. We were able to reproduce this issue on our test servers with smaller memory. We’ve decided to use G1 GC on these test servers instead. Given this, I believe we can close this issue :D