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.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Frame Pointer

Frame Pointer

Related news:

News photo

Limitations of frame pointer unwinding