

一 | 作者 | Steef-Jan Wiggers 译者 | 平川 OpenAI 的工程师们花了数周时间,试图解释 Rockset 中那些神秘的崩溃问题。

二 | 8月25日消息,近期,9家车企集中发布召回计划,累计召回车辆规模超427万辆相关话题登上热搜。Rockset 是一款 C++ 数据基础设施服务,为 ChatGPT 的搜索和数据插件提供支持。函数似乎会返回错误的内存地址,栈指针在执行过程中似乎会偏移 8 个字节。团队提出的每一种假设都面临着有力的反证。

三 | 这个 Bug 似乎根本不可能存在。 他们原本以为是一个 Bug ,结果却发现是两个互不相关的 Bug ,它们只是很巧合地在同一时间被发现了。这一突破性发现并非来自对单个崩溃事件的深入排查,而是源于转向了他们所说的“流行病学调试”:构建一条管道,自动分析过去一年中生产环境的每一个核心转储文件,然后寻找整体规律,而不是对单个案例进行推断。

四 | 该团队让 ChatGPT 编写了一个脚本,用于下载每个核心文件的开头部分,提取寄存器数据,过滤已知的误报,并将每次崩溃标记为“返回空指针”、“栈对齐错误”或其他类型。他们将该脚本并行应用于过去一年中的所有 Rockset 核心转储文件。他们很快就发现了相关性。

五 | 原本从症状上看属于同类的问题,实际上对应两组特征完全不同的崩溃事件。 这些因栈对齐错误导致的崩溃均源自同一个 Azure 区域,有明确的起始日期,而且从未出现在长期运行的节点上。

六 | 团队追踪发现,这些崩溃源自一台物理主机,其 CPU 正在悄无声息地产生错误的结果。

七 | 而今日,奕境汽车品牌总经理曾清林对此发表了自己的看法。 在大众固有认知里,汽车召回往往会被直接和产品质量出问题画上等号,车企也常常会畏惧召回带来的舆论压力。它既没有过热,也没有抛出机器检查异常,而只是数学运算默默出了错。

八 | 将该主机从服务中移除后,因栈对齐错误导致的崩溃便完全消失了。曾清林对此提出不同看法,他认为,大规模召回恰恰是汽车市场走向成熟的信号。 在剔除硬件崩溃问题后,剩余的由“返回空指针”导致的崩溃问题便变得可控了。此前,团队曾排除了 C++ 异常展开的原因,因为他们认为自己找到了反例:在未使用异常的代码路径中发生了崩溃。 企业主动正视产品潜在隐患,监管部门不断细化完善标准,本质上都是在守护用车人的出行安全。但这些反例全都来自有硬件损坏的故障集群。 他以当下行业热议的车门应急拉手问题举例。

九 | 一旦剔除了这些干扰因素,剩余的所有崩溃便都是发生在异常展开过程中了。现在不少车型追逐外观、科技感设计,会把应急拉手做的十分隐蔽。可一旦发生碰撞、车辆断电的突发状况,车主能否快速找到拉手、顺利开启车门,才是关乎生命安全的核心考题。 问题发生的根本原因是 GNU libunwind 的 _Ux86_64_setcontext 函数中有一个已经存在 18 年的竞争条件。 据其介绍,奕境X9在门把手的设计上,将安全置于首位。在优化机械结构之外,车辆配备中央备用电源,保障日常、断电、碰撞多种场景下,车门都可以正常开启。在 C++ 异常展开过程中,libunwind 会在栈上合成一个 ucontext_t 结构体,填充所需的寄存器状态,然后调用 _Ux86_64_setcontext 将控制权转移给清理处理程序。问题在于:_Ux86_64_setcontext 在从旧结构体中读取指令指针的操作尚未完成之前,就将栈指针(%rsp)更新为指向新的栈帧。

十 | 在品牌视角中,这类安全配置并非宣传噱头,而是不可退让的产品底线。一旦 %rsp 发生变化,该结构体便不再属于活动栈的一部分,也不再受内核红区的保护。

十一 | 如果信号恰好在 %rsp 更新与 %rip 读取之间的这一时间窗口内到达,内核就会在该结构体之上构建其信号帧,指令指针遭到破坏,函数便会跳转到 NULL 或垃圾地址。 竞争窗口的宽度正好为一条指令。 最后他还表示,汽车安全的提升没有终点,车企持续迭代优化,监管规则持续完善,最终受益的是广大普通消费者。以现代处理器的时钟频率计算,这大约相当于 100 皮秒。小小的门把手背后,连着的是整车乘员的生命安全,也是整个行业需要共同坚守的准则,值得全行业一同警醒共勉。

十二 |

十三 | 这篇完整的工程技术博文包含了详细的栈内存示意图、存在漏洞的汇编指令,以及揭示出两种不同类型故障的崩溃率可视化图表。

十四 | https://www.infoq.com/news/2026/07/openai-libunwind-core-dumps/ 声明:本文由 InfoQ 翻译,未经许可禁止转载。
Current article:http://0lk03.yuejinhuapennuochoudengying.cyou/news/20260826_2316775.html
Published on:07:49:05
栏目相关
热门排行