Hunting Down a Go Runtime Bug on 32-Bit Embedded Systems
sigma-star.at原文 ↗
32 位 ARM 嵌入式 Linux 上的 Go 程序因 netpoll 假定事件只会是 `EPOLLIN` 而崩溃,问题最终落到 event fd 与 socket fd 的识别和指针标记别名。修复不是业务层重试,而是调整 runtime 的判别方式,案例提醒移植到窄位宽设备时要审查宿主假设、tagged pointer 和 epoll 事件语义的交叉处。
–浏览
评论 · Comments