Get the latest tech news
Don't Clobber the Frame Pointer
Home - RSS Posted 2024-12-24, updated 2025-01-03 Recently I diagnosed and fixed two frame pointer unwinding crashes in Go. The root causes were two flavors of the same problem: buggy assembly code clobbered a frame pointer.
Tools like Avo are aware of the underlying rules for using registers and manipulating the stack, and generally make writing non-trivial amounts of assembly easier. Leaving a non-frame pointer value in those registers prior to calling a Go function can crash the runtime execution tracer and profilers. There are Apache Arrow clients for many programming languages besides just Go, and it makes sense to try to share low-level, performance-sensitive code where possible, rather than writing the same primitives multiple times.
Or read this on Hacker News