pyroscope-java
pyroscope-java copied to clipboard
Profiler crashes with SIGSEGV on OpenJDK 11
Hey all!
The profiler occasionally causes a segmentation fault in our application with the following logs:
#
# A fatal error has been detected by the Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x00007efea3292d5a, pid=1, tid=2563
# JRE version: OpenJDK Runtime Environment Temurin-11.0.24+8 (11.0.24+8) (build 11.0.24+8)
# Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.24+8 (11.0.24+8, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [libasyncProfiler-linux-musl-x64-70e751fa84d39dcf2daa802a20d7378ca9c8f2.so+0xa2d5a] Profiler::recordSample(void*, unsigned long long, EventType, Event*)+0x6a
#
# Core dump will be written. Default location: Core dumps may be processed with "/var/mnt/core-dump-handler/cdc -c=%c -e=%e -p=%p -s=%s -t=%t -d=/var/mnt/core-dump-handler/cores -h=%h -E=%E" (or dumping to //core.1)
# An error report file with more information is saved as:
# /tmp/hs_err_pid1.log
#
# If you would like to submit a bug report, please visit:
# https://github.com/adoptium/adoptium-support/issues
I've seen a few other issues (open and closed) about segmentation faults, but none of them matched our java version and the problematic frame Profiler::recordSample. If it is indeed a duplicate, please feel free to close and link to that 🙏
I unfortunately don't have the /tmp/hs_err_pid1.log anymore, but if it helps, I can try to reproduce the error and collect the logs.
Regarding the JDK version, we're running it in the metabase/metabase-enterprise image, so we unfortunately cannot influence it (in case the answer was "your JDK is too old").
Hey @Gerrit-K, thanks for the report.
Could you confirm what version of the profiler (pyroscope-java) you are using? I see a few related and fixed issues in the underlying profiling engine (https://github.com/async-profiler/async-profiler) so I want to see if we need to perform an update.
Ah sorry, missed that - it's the latest, v0.14.0, downloaded from the release