A customer reported an application written in Go was crashing intermittently on their embedded Linux systems. The crash consistently presented as a fatal error: "runtime: netpoll: eventfd ready for something unexpected". Initial investigation suggested an internal assumption within Go's netpoll mechanism was failing.
The error originates from the `netpoll()` function in `src/runtime/netpoll_epoll.go`. This code path expects only `EPOLLIN` events, but was receiving `5`, which corresponds to `EPOLLIN|EPOLLOUT`. This indicates that `epoll` was reporting more than just `EPOLLIN` despite the code requesting only `EPOLLIN`.
A search revealed an existing issue in the Go project's tracker describing the exact fatal error, also on 32-bit ARM embedded Linux systems. The issue, open since March 2025, noted that crashes occur in long-running applications. The problem is specific to 32-bit ARM and i386 Linux systems, with no reports on x86_64 or arm64 systems, regardless of kernel version.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
A bug in the Go runtime's netpoll mechanism has been identified as the cause of crashes on 32-bit ARM and i386 Linux embedded systems. The issue, which manifests as a "netpoll: eventfd ready for something unexpected" fatal error, has been present since March 2025 and affects applications running for extended periods.