-
Notifications
You must be signed in to change notification settings - Fork 816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Async Profiler and Java Flight Recorder are missing some methods at the bottom of the stack. #845
Comments
Did you added DebugNonSafepoints as suggested in the readme? |
I'll give it a try. |
@franz1981 If it's really DebugNonSafepoints problem, then jstack will also show missing stack frame, however jstack shows correctly. |
Depends. If there is a safepoint poll within an inlined method, jstack can still observe (and blame it), while, without the option I've specified, both jfr and async profiler won't be able to do the same (loop striping can still add polls to counted loops). |
If it's not an async-profiler bug, will it be better to submit an OpenJDK issue instead? |
The issue cannot be stably reproduced at present, it only occurs occasionally. This case was found on an internal version ported based on OpenJDK 11. |
How does |
jdk.ActiveSetting cstack value is fp when using --cstack vm,seems a bug? using command: jfr info: |
Yes, thank you for pointing out. I pushed the fix. |
This does not look like a |
Thank you for the update. Good to know async-profiler's own stack walker works correctly. It will eventually replace JVM's AsyncGetCallTrace and become the default. |
|
Yes, |
Let me close the issue, since there is nothing to do on async-profiler side. |
From a code perspective, the correct call order should be:
Thread.run -> FastThreadLocalRunnable.run -> ThreadPoolExecutor$Worker.run -> ThreadPoolExecutor.runWorker
✅using jstack:
❌using async profiler:
❌using jfr ExecutionSample event:
This doesn't seem to be a bug with async profiler, any thoughts?
The text was updated successfully, but these errors were encountered: