Source: OpenAI BlogView original ↗
Copyright remains with the original source. This site only collects, translates, or reformats the material.
What happened
Analysis and impact
导读摘要
OpenAI 工程师借鉴流行病学调查方法,通过大规模分析核心转储(Core Dump)数据,成功定位并修复了两个罕见的底层基础设施缺陷——一个 Azure 主机的隐秘硬件计算错误,以及一个在 GNU libunwind 库中潜伏了 18 年的竞态条件软件漏洞。
正文
这种大规模的“尸检”很快揭示了第一个惊人的发现:一台 Azure 云主机存在“沉默”的硬件错误。该主机的 CPU 在执行基础数学运算时会随机产生错误结果,且没有任何显式的硬件报警。这种悄无声息的数据损坏直接导致了运行在其上的服务间歇性地崩溃,而传统的监控和日志系统几乎无法直接定位到物理硬件层面。这一发现凸显了在超大规模云基础设施中,底层硬件的不确定性对上层应用稳定性的隐蔽威胁。
在排除了硬件故障后,调查并未停止,反而引出了第二个更隐蔽的“慢性病”。团队在崩溃数据中识别出一种与 setcontext 和 longjmp 等系统调用相关的特定崩溃模式,最终将根源锁定在了一个广泛使用的开源库 GNU libunwind 上。这是一个用于解析程序调用栈的基础库,而其中的一个竞态条件缺陷已经存在了整整 18 年。这个 bug 在特定并发场景下才会被触发,导致栈回溯信息损坏,进而引发程序崩溃。由于触发条件极为苛刻,它长期未被发现,却像一颗定时炸弹一样潜伏在无数依赖此库的系统中。
这次调试实践不仅修复了两个具体问题,更提供了一种可借鉴的方法论。它证明了,在面对复杂分布式系统中的“疑难杂症”时,跳出对单点故障的执着,转向对全局数据的系统性分析,是揭示深层次、长周期缺陷的有效途径。这种将软件工程与数据科学思维相结合的方式,为维护日益庞大且复杂的基础设施提供了新的视角。