OpenAI 工程师花数周排查 Rockset 神秘崩溃问题原以为是一个 Bug 实则是两个。他们通过“流行病学调试”找到根源并解决教训值得借鉴。神秘崩溃难题Rockset 作为为 ChatGPT 搜索和数据插件提供支持的 C 数据基础设施服务出现神秘崩溃。函数返回错误内存地址栈指针偏移 8 个字节团队假设均遭反证Bug 看似不可能存在。“流行病学调试”破局团队转向“流行病学调试”让 ChatGPT 编写脚本分析过去一年生产环境的核心转储文件。很快发现原本同类症状对应两组不同崩溃事件。硬件问题追踪栈对齐错误导致的崩溃均来自同一 Azure 区域追踪发现源自一台 CPU 默默出错的物理主机。移除该主机后此类崩溃消失。软件竞争条件剔除硬件问题后剩余“返回空指针”崩溃源于 GNU libunwind 函数 18 年的竞争条件。高频信号发送将理论竞争转化为实际崩溃。修复与教训团队提交修复方案消除时间窗口验证其他展开器无此问题。强调构建高质量数据集的重要性避免混淆多个 Bug。编辑观点OpenAI 此次调试经验表明面对复杂问题全面数据和新方法很关键也提醒开发者排查时要避免混淆不同 Bug。