Hunting Down a Go Runtime Bug on 32-bit Embedded Systems
Summary
A deep dive into a Go runtime netpoll bug that caused sporadic crashes on 32-bit embedded Linux. The post analyzes how Go's netpoll uses tagged pointers on 32-bit systems, leading to aliasing between eventfds and poll descriptors, explains why crashes appeared only on 32-bit ARM/i386, and describes the proposed fix and testing.