Researchers trace rare Go runtime crash to epoll bug on 32-bit ARM Linux
A security research team investigated repeated crashes in a customer's Go application running on embedded 32-bit ARM Linux systems, which failed with a fatal 'netpoll: eventfd ready for something unexpected' error after long uptimes. Tracing the fault into Go's netpoll_epoll.go code, they found it matched a previously reported but unresolved issue in the Go project's issue tracker involving epoll reporting more than the expected EPOLLIN event.
GoKawiil's interpretation of the reporting above, not reported fact.
This shows how low-level runtime assumptions in a widely used language like Go can silently break on less common architectures, especially embedded 32-bit systems that receive less testing attention than 64-bit platforms. Long-running production services are particularly exposed, since the bug only surfaces after extended uptime, making it hard to catch in normal testing.
- A Go application crashed intermittently on 32-bit ARM embedded Linux after long runtimes.
- The crash stemmed from Go's netpoll code wrongly assuming epoll would only ever report EPOLLIN.
- The bug matched an existing unresolved report in Go's public issue tracker, confirming it wasn't customer-specific.
Adafruit USB to TTL Serial Cable — When you're chasing an intermittent runtime crash on an embedded Linux board, a serial console is the lifeline that captures the fatal error and stack trace even after the network stack is gone. This USB-to-TTL cable plugs straight into your board's UART header and gives you a reliable terminal from your laptop. It's the debugging tool you want on the bench before the next mystery panic shows up.
See Adafruit USB to TTL Serial Cable on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.Source: sigma-star.at, 2026-08-26
Published there as: “Hunting Down a Go Runtime Bug on 32-Bit Embedded Systems”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.