终极一家
OpenAI 将崩溃调试视为流行病学研究,修复了存在 18 年之久的 GNU libunwind 漏洞_我的网站

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

二 | 现代空战中,空空导弹的性能无疑是决定空军战力的重要因素。

三 | 最近,美国海军在内华达州里诺的一次年会上首次公开了AIM-424超远程空空导弹,这一消息立刻引发了国际防务界的广泛关注。

四 | Rockset 是一款 C++ 数据基础设施服务,为 ChatGPT 的搜索和数据插件提供支持。

五 | 函数似乎会返回错误的内存地址,栈指针在执行过程中似乎会偏移 8 个字节。

六 | 团队提出的每一种假设都面临着有力的反证。

七 | 这个 Bug 似乎根本不可能存在。 他们原本以为是一个 Bug ,结果却发现是两个互不相关的 Bug ,它们只是很巧合地在同一时间被发现了。可以说,这款导弹不仅承载了美国对空中威慑力的期望,更是未来作战理念的一次大胆尝试。这一突破性发现并非来自对单个崩溃事件的深入排查,而是源于转向了他们所说的“流行病学调试”:构建一条管道,自动分析过去一年中生产环境的每一个核心转储文件,然后寻找整体规律,而不是对单个案例进行推断。 该团队让 ChatGPT 编写了一个脚本,用于下载每个核心文件的开头部分,提取寄存器数据,过滤已知的误报,并将每次崩溃标记为“返回空指针”、“栈对齐错误”或其他类型。他们将该脚本并行应用于过去一年中的所有 Rockset 核心转储文件。 AIM-424导弹被视为美国海军对付潜在敌对空中力量的一张王牌,其宣称的最大射程达到了463公里,这是一个令人瞩目的数据。虽然理论射程可能因实际环境条件而有所下调,但实际有效射程仍然有可能在350到400公里之间。他们很快就发现了相关性。

八 | 这一数字无疑让中国和俄罗斯的空军感受到了前所未有的压力。 这款导弹的设计注重与隐身战机的良好适配能力,采用了两级固体火箭发动机,具备优秀的加速性能。

九 | 原本从症状上看属于同类的问题,实际上对应两组特征完全不同的崩溃事件。在发动机设计上,AIM-424通过第一阶段的推力加速以及第二阶段的二次点火技术,确保了导弹即使在超远距离飞行后也能保持较高的动能和机动性。 这些因栈对齐错误导致的崩溃均源自同一个 Azure 区域,有明确的起始日期,而且从未出现在长期运行的节点上。这种设计不仅提高了导弹的打击能力,也增强了它在复杂战场环境中的生存能力。

十 | 团队追踪发现,这些崩溃源自一台物理主机,其 CPU 正在悄无声息地产生错误的结果。它既没有过热,也没有抛出机器检查异常,而只是数学运算默默出了错。 AIM-424的工程设计堪称一个奇迹。通常来说,射程如此巨大的空空导弹都需要相对庞大的体积,但AIM-424经过“雷神”公司的极限尺寸优化后,体积却与现有的AIM-120导弹非常接近。将该主机从服务中移除后,因栈对齐错误导致的崩溃便完全消失了。

十一 | 在剔除硬件崩溃问题后,剩余的由“返回空指针”导致的崩溃问题便变得可控了。这使得AIM-424能够顺利装入F-35C的内置弹舱,这一点尤为重要,因为外挂将导致第五代战机的隐身能力受到严重影响。此前,团队曾排除了 C++ 异常展开的原因,因为他们认为自己找到了反例:在未使用异常的代码路径中发生了崩溃。 值得注意的是,AIM-424的研发历程并不简单。早在2017年,美国国防部高级研究计划局(DARPA)就开始着手此项目,旨在为F-35开发一种新型超远程空空导弹。不过,由于早期进展缓慢,项目后来转交至美国海军,并由“雷神”公司负责具体研发。到2023年,该导弹终于经过多轮测试进入定型阶段,这一过程充分体现出其背后的技术积累与创新能力。但这些反例全都来自有硬件损坏的故障集群。一旦剔除了这些干扰因素,剩余的所有崩溃便都是发生在异常展开过程中了。 AIM-424的出现并不是偶然。 问题发生的根本原因是 GNU libunwind 的 _Ux86_64_setcontext 函数中有一个已经存在 18 年的竞争条件。在 C++ 异常展开过程中,libunwind 会在栈上合成一个 ucontext_t 结构体,填充所需的寄存器状态,然后调用 _Ux86_64_setcontext 将控制权转移给清理处理程序。

十二 | 问题在于:_Ux86_64_setcontext 在从旧结构体中读取指令指针的操作尚未完成之前,就将栈指针(%rsp)更新为指向新的栈帧。

十三 | 一旦 %rsp 发生变化,该结构体便不再属于活动栈的一部分,也不再受内核红区的保护。

十四 | 在当前全球安全环境日益复杂的背景下,空中优势的争夺愈发激烈。美国海军显然意识到了这一点,因此在推出AIM-424的同时,也在不断改进现有的空空导弹系统。 例如,在2024年,美国海军计划装备基于“标准-6”导弹改装的AIM-174B超远程空空导弹,这款导弹同样具有370到460公里的射程,且具备多用途作战能力,能够对地面和海上目标实施打击。 从某种意义上说,AIM-424与AIM-174B共同构成了一套空中打击组合拳。前者主要针对机动性和隐身性强的敌方大飞机,如第五代甚至第六代战机,而后者则更适合攻击较慢的目标,如轰炸机和预警机。如果信号恰好在 %rsp 更新与 %rip 读取之间的这一时间窗口内到达,内核就会在该结构体之上构建其信号帧,指令指针遭到破坏,函数便会跳转到 NULL 或垃圾地址。这样的战术思路,不仅使得美国海军在面对不同类型的威胁时能够更为灵活,还提升了整体作战效能。 尽管AIM-424的前景看似光明,但军事专家们也指出了潜在的挑战。首先,美国海军是否具备足够的资源同时采购AIM-424和AIM-174B?毕竟,在有限的军费下,如何分配资源尤为关键。此外,如何在实际战斗中有效运用这两款新型空空导弹,以及如何训练飞行员以最大化利用它们的战术优势,也都是摆在美国军方面前的难题。 竞争窗口的宽度正好为一条指令。

十五 | 同时,从技术层面来看,AIM-424的成功与否,将取决于其实际的制导精度和命中率。以现代处理器的时钟频率计算,这大约相当于 100 皮秒。在大多数程序中,这种情况根本不会被触发。虽然目前的设计理念与技术保障了它的高性能,但实战中面对复杂的电子干扰和敌方防空火力,能否如宣传般“杀敌于无形”仍需时间来验证。OpenAI 的 Rockset 使用了 timer_create 函数,每隔几毫秒的 CPU 时间就发送一次 SIGUSR2 信号,为的是实现轻量级的按查询记账,这样产生的信号发送事件远多于传统的应用程序。

十六 | 正是这种高频的信号发送,将只在理论上可能发生的竞争状况转化成了实际生产环境中的崩溃。 该团队将一个修复方案和一个自包含的重现示例提交到了 GNU libunwind,并通过验证证实,其他展开器(如 libgcc)不存在这个问题。该修复方案通过重新排序指令,确保在更新 %rsp 之前先读取 %rip,从而彻底消除了这个时间窗口。 该团队对这一教训的总结值得全文引用: 最重要的步骤并非巧妙地解读汇编代码,也不是对细节的深入了解,而是构建一个高质量的数据集。 AIM-424超远程空空导弹的问世,将成为美国空军现代化进程中的一块重要拼图。从根本上讲,它不仅仅是一枚导弹,更是美国未来空战策略的重要组成部分。如果没有这个数据集,我们就会把两种截然不同的现象混为一谈,并试图通过推理来理清这种混乱。随着军备竞赛的不断升级,各国在空军领域的投入必将更加激烈。

十七 | 而AIM-424的出现,正是对此局势的积极回应。我们有理由相信,未来的空战将更加复杂、更加激烈,而掌握先机的国家,则将在这场博弈中占据主导地位。返回,查看更多。一旦获得了准确且完整的全量数据,问题的结构便显而易见了。 如果你的团队正在排查难以解释的生产环境崩溃问题,请检查你们是否将多个 Bug 混为一谈。那些看似与所有假设都不相符的症状,实际上可能并不矛盾;它们可能与两个不同的假设相符,而你却无意中将它们混淆了。洞察问题结构的最快途径,并非对单个案例进行更深入的分析,而是获取涵盖所有故障案例的完整、带标签的数据。

十八 | 这篇完整的工程技术博文包含了详细的栈内存示意图、存在漏洞的汇编指令,以及揭示出两种不同类型故障的崩溃率可视化图表。 https://www.infoq.com/news/2026/07/openai-libunwind-core-dumps/ 声明:本文由 InfoQ 翻译,未经许可禁止转载。

十九 |
Current article:http://fk9uhi5.gamajionghuanmuniuzhuanguchu.cyou/list_3awu3/ohndea.html
Published on:17:49:22
下一篇:Toaster Starring Rajkummar Rao And Sanya Malhotra Set For Mid-April Release
- ·售52.18万起 2025款奥迪S4 Avant正式上市 标配抬头显示
- ·厦门共有280多对新人选择在寓意爱情的七夕节领证
- ·来了!骑士快船掘金奇才五方大交易!骑士拿下沃特森+白魔!哈登大合同没了
- ·看似“馅饼”实则“陷阱” 别被低价装修套餐忽悠了
- ·2024年度冬春火灾防控工作暨电动自行车整治专班第五次全体会议召开
- ·Pentagon Exploring Stratospheric Balloons to Track Hypersonic Weapons - Reports
- ·NHRC issues notices to Centre, State govts over Devadasi system
- ·Vijay Deverakonda to Portray a ‘real and Flawed’ Hero in Rowdy Janardhan
- ·坝上“风光”里长出绿氢
- ·斯图加特帅出彩为中国网球刷足存在感,张帅双打排名重返世界前十
- ·国台办点名感谢的台湾女孩,做了什么?
- ·33岁男子屁股脓肿呼叫急救,被拒后暴走劫救护车!律师:他还只是个孩子......
- ·卡斯尔:文班休赛期难以捉摸 社媒常晒奇特地点
- ·全覆盖 零容忍 严执法 重实效 兴城市持续开展建筑施工隐患排查整治
- ·男篮抵达卡塔尔!众球员展露疲惫,杨瀚森跟队,全队完成大合影!
- ·【桃实通知】庆元旦 迎新年
- ·「飢えているのがわからないのか」金正恩の“非常識な指示”に国民は絶望
- ·りくりゅうが“再現以上”の衝撃写真「完璧ね!」 4年前との対比に海外驚愕「彼女は柔らかい」
- ·多城巡展让铜文化流动起来,熔铜艺术圈粉新一代年轻人
- ·暴力电四门!梅赛德斯-AMG GT 四门轿跑车低伪实车发布
- ·奥克兰多所学校和机构今天收到威胁邮件,小学生被疏散
- ·学位法通过,2025年1月1日起施行
- ·前10个月辽港集装箱海铁联运发运量同比增长超17%
- ·后台问爆:求推荐新加坡托管中心,这17家超受欢迎
- ·‘G7 Is Irrelevant’: 'Global South' Holds West Responsible For Ukraine Crisis, Says Think-Tank Chief
- ·杭州发布雷电黄色预警
- ·专家:勃利东北虎或为捕捉家畜进村,成年虎能轻松扑倒一头牛
- ·8月鸡蛋为什么涨价
- ·四川马边县极端强降雨引发山洪,有车辆被冲到墙体上悬挂
- ·男足选拔队28日回海口 女足前往美国拉练
- ·車椅子で運ばれた吉田響 「低血糖と脱水で目眩」と後半の症状説明 「最高の大阪マラソン」と感謝の思いつづる
- ·国际足联正式对阿根廷足协启动调查

【今日闪促】《审判》《梦魇》侦探动作与暗黑童话!
你看够不够硬汉?做《白银之城》大雷美女的厂商新作首曝
Baltic Sea Will Become ‘NATO Basin’ After Nordic Nations’ Accession to Alliance, Polish Prez Says
《红色沙漠》公开“目前为止的更新内容”
新版强制国标发布 将提升车用压缩天然气产品质量
意大利女排首夺世联赛冠军!中国女排名列第六