Repository navigation
JVM Profiling Follow ups #4778
Description
Activity
@adinauer great news on this being released!
Appreciate it's early days for this feature, but wanted to ask if there any environments where profiling is not expected to work yet?
Haven't had a chance to do much troubleshooting yet (would need to spin it up again and grab the log file/core dump), but tried enabling profiling and it caused a crash.
Running on ECS Fargate on an arm64 instance. It's a Spring Boot app written in Kotlin.
Maybe it's not compatible with arm64? Or Kotlin?
Relevant startup logs:
DEBUG: Started Profiler. A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x0000000000000000, pid=1, tid=203 JRE version: OpenJDK Runtime Environment Corretto-24.0.2.12.1 (24.0.2+12) (build 24.0.2+12-FR) Java VM: OpenJDK 64-Bit Server VM Corretto-24.0.2.12.1 (24.0.2+12-FR, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-aarch64) Problematic frame: C [libasyncProfiler-1255257512175285949.so+0x1f990] Core dump will be written. Default location: //core.1 An error report file with more information is saved as: //hs_err_pid1.log The crash happened outside the Java Virtual Machine in native code. See problematic frame for where to report the bug. If you would like to submit a bug report, please visit: https://github.com/corretto/corretto-24/issues/Thanks in advance!
Hey @joaocanaverde-blue! Thanks for reaching out and wanting to try profiling.
It's known that theasync-profilerlibrary on version 3.0 (which is the one we're using at the moment for our profiling feature) segfaults on JDK 23 and later, so that's what's happening in your case.
As you can see in the list of follow-ups, we have an item to upgrade to the newest version of the library.- moved this from Waiting for: Product Owner to No status in GitHub Issues with 👀 3
on Oct 3, 2025 - pinned this issue
on Oct 3, 2025 Hey @joaocanaverde-blue! Thanks for reaching out and wanting to try profiling. It's known that the
async-profilerlibrary on version 3.0 (which is the one we're using at the moment for our profiling feature) segfaults on JDK 23 and later, so that's what's happening in your case. As you can see in the list of follow-ups, we have an item to upgrade to the newest version of the library.@lcian I see, missed that one. Thanks!
20 remaining items
@lbloder Got it set to TRACE. Interestingly, in another project that uses Java 21 it works - there are flamegraphs for transactions. In the one running on Java 24, it doesn’t seem to collect transaction profiles specifically (although profiles for the slowest functions are available).
@reszkapiotr Thanks for the additional Info, will give it a try locally to confirm
Reacted by reszkapiotr- moved this from Waiting for: Product Owner to No status in GitHub Issues with 👀 3
on Nov 21, 2025 Hi @reszkapiotr,
sorry for the long wait. However we have not been able to reproduce this problem.
We used Spring Boot 3 and tested with both Java 24 and 25.Did you, by any chance, use a different Spring Boot Version? Also, we've been testing on Mac OS, what system are you running this on?
Hello @lbloder
We've used spring boot version 3 as well. And system: Mac OS and linux.
I guess it's something application specific then that's causing this behaviour.
Testing in the meantime integration with otel.
Anyway great to have profiling available for Java 24.
Thank you for help and regards!- moved this from Waiting for: Product Owner to No status in GitHub Issues with 👀 3
on Feb 26, 2026
Metadata
Metadata
Assignees
Projects
- StatusShow more project fieldsNo status
Description
We have released JVM Profiling in https://github.com/getsentry/sentry-java/releases/tag/8.23.0
There are still tasks /improvements we could do:
.craft.ymlServiceLoaderis not an issue (i.e. does not cause a large overhead on each chunk) - otherwise cache (obsolete with getsentry/sentry-java#4815)profiles-sample-rate) on JVMprofilingTracesHzviasentry.properties(ExternalOptions).cursorrules file to explain how Profiling works Add AI rules files for Profiling #5034Maybe later
async-profileris the (major) version we expect on startup, crash otherwise