Lobsters | 原文链接 | 2026-08-26 收录

追踪 32 位嵌入式系统上的 Go 运行时 netpoll 崩溃

来源: sigma-star.at — 2026-08-22

概述

sigma-star 团队接到客户报告:一个 Go 应用在嵌入式 Linux 上偶发崩溃,致命错误是 runtime: netpoll: eventfd ready for something unexpected。排查后发现 netpoll 代码假设 epoll 只触发 EPOLLIN,实际却收到 EPOLLIN|EPOLLOUT。这暴露了 Go netpoll 内部的一个假设不再成立,最终定位并修复了 Go 运行时里的一个真实 bug。

核心要点

金句

起初我们以为是应用本身的 bug,但仔细检查后,它更像 Go netpoll 机制里一个内部假设不再成立。
返回 Lobsters 首页