Skip to content
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

unwinding/dwarf: Support DWARF CFA opcode: 0x26 #2459

Open
brancz opened this issue Jan 29, 2024 · 0 comments
Open

unwinding/dwarf: Support DWARF CFA opcode: 0x26 #2459

brancz opened this issue Jan 29, 2024 · 0 comments
Labels
area/stack-unwinding Something on stack unwinding enhancement New feature or request

Comments

@brancz
Copy link
Member

brancz commented Jan 29, 2024

Found in the wild by a Polar Signals Cloud customer:

panic: Encountered an unexpected DWARF CFA opcode: 0x26
goroutine 240 [running]:
github.com/parca-dev/parca-agent/internal/dwarf/frame.lookupFunc(0x50?, 0x1bdbac4?)
	github.com/parca-dev/parca-agent/internal/dwarf/frame/table.go:404 +0x360
github.com/parca-dev/parca-agent/internal/dwarf/frame.executeDWARFInstruction(0x4000c34a50)
	github.com/parca-dev/parca-agent/internal/dwarf/frame/table.go:309 +0x84
github.com/parca-dev/parca-agent/internal/dwarf/frame.(*InstructionContextIterator).Next(0x40024fb730)
	github.com/parca-dev/parca-agent/internal/dwarf/frame/table.go:90 +0x5c
github.com/parca-dev/parca-agent/pkg/stack/unwind.BuildCompactUnwindTable({0x4000bf6000, 0xcdd, 0x1000?}, 0xadd0?)
	github.com/parca-dev/parca-agent/pkg/stack/unwind/compact_unwind_table.go:157 +0x2c8
github.com/parca-dev/parca-agent/pkg/stack/unwind.GenerateCompactUnwindTable({0x40023f69c0?, 0x4b0?})
	github.com/parca-dev/parca-agent/pkg/stack/unwind/compact_unwind_table.go:283 +0x60
github.com/parca-dev/parca-agent/pkg/profiler/cpu/bpf/maps.(*Maps).setUnwindTableForMapping(0x40005ee600, 0x37?, 0x0?, 0x4000924840)
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/bpf/maps/maps.go:1557 +0xab8
github.com/parca-dev/parca-agent/pkg/profiler/cpu/bpf/maps.(*Maps).AddUnwindTableForProcess(0x40005ee600, 0xd1c, {0x0, 0x0, 0x0}, 0x1, 0x0)
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/bpf/maps/maps.go:1211 +0x604
github.com/parca-dev/parca-agent/pkg/profiler/cpu.(*CPU).addUnwindTableForProcess(0x400232da40, {0x29dbae8, 0x4000afd9e0}, 0x0?)
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/cpu.go:573 +0x478
github.com/parca-dev/parca-agent/pkg/profiler/cpu.(*CPU).onDemandUnwindInfoBatcher.func1({0x4000ac8180, 0x5, 0x29dba78?})
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/cpu.go:536 +0x5c
github.com/parca-dev/parca-agent/pkg/profiler/cpu.processEventBatcher({0x29dbae8, 0x4000afd9e0}, 0x400013e840, 0x0?, 0x40022cbf78)
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/cpu.go:619 +0x180
github.com/parca-dev/parca-agent/pkg/profiler/cpu.(*CPU).onDemandUnwindInfoBatcher(0x0?, {0x29dbae8?, 0x4000afd9e0?}, 0x4000140cc0?)
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/cpu.go:534 +0x5c
created by github.com/parca-dev/parca-agent/pkg/profiler/cpu.(*CPU).Run in goroutine 229
	github.com/parca-dev/parca-agent/pkg/profiler/cpu/cpu.go:857 +0x1094
@brancz brancz added enhancement New feature or request area/stack-unwinding Something on stack unwinding labels Jan 29, 2024
@kakkoyun kakkoyun changed the title Support DWARF CFA opcode: 0x26 unwinding/dwarf: Support DWARF CFA opcode: 0x26 Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/stack-unwinding Something on stack unwinding enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant