-
Notifications
You must be signed in to change notification settings - Fork 71
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
arm64 dwarf unwind wrong #3013
Comments
Could you try with latest Parca agent? We actually changed the unwind strategy dramatically for go starting in v0.32. |
the perf report could get correct result.
|
the reason is that the go exec do not have eh_frame section. if we could parse debug_frame , we could unwind stack by using ld register. i already make a smallest demo and it run success. I am happy to contribute, but the opentelemetry ebpf agent is too complicated that i could not read it. |
just noticed it has already implement debug_frame in v0.31.0. but it work on v0.30.0, strange. |
Have you tried the v0.32+ agent? We've observed arm64 working flawlessly. |
finally i find the reason. func bpf_get_stack seems work not right. in this mr, parca agent implement it's fp unwind, it work: |
go program, use fp to unwind in arm64 have bug:
golang/go#70804.
use parca-agent v0.31.1 to unwind.
program:
cmd:
the parca-agent output:
The text was updated successfully, but these errors were encountered: