• 首页
  • 国内
  • 国际
  • 军事
  • 财经
  • 房产
  • 汽车
  • 体育
  • 娱乐
  • 教育
  • 科技
  • 社会
  • 当前位置:我的网站主页 > 我的网站国内 >

    {主关键词}

    国考

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

    婉君

    A |     八月的故事从一组数字开始湖北体彩正在派送一场“专属幸运”之旅!玩法就三步输入你的生日、车牌号、手机尾数或者任何一组对你意义非凡的数字系统收到后会为你生成一组5+4复式组合只属于你,仅此一份这组号码生成后接下来一个月里会自动比对每一期大乐透开奖结果如果号码对上对应代金券会直接发放到你的账户凭券前往湖北省内任意一个体彩门店即可免费兑换大乐透彩票幸运密码一次生成,一个月内持续有效每组号码背后都藏着一份心意送给家人,是一份祈福送给自己,是一声打气又或者是,纪念某个忘不掉的日子让这组号码替你装下这份独特领取时间:8月1日 9:00 — 8月31日 21:00每人限领一组代金券总额 100万元,送完即止。    作者 | Steef-Jan Wiggers     译者 | 平川          OpenAI 的工程师们花了数周时间,试图解释 Rockset 中那些神秘的崩溃问题。Rockset 是一款 C++ 数据基础设施服务,为 ChatGPT 的搜索和数据插件提供支持。函数似乎会返回错误的内存地址,栈指针在执行过程中似乎会偏移 8 个字节。团队提出的每一种假设都面临着有力的反证。这个 Bug 似乎根本不可能存在。         他们原本以为是一个 Bug ,结果却发现是两个互不相关的 Bug ,它们只是很巧合地在同一时间被发现了。这一突破性发现并非来自对单个崩溃事件的深入排查,而是源于转向了他们所说的“流行病学调试”:构建一条管道,自动分析过去一年中生产环境的每一个核心转储文件,然后寻找整体规律,而不是对单个案例进行推断。         该团队让 ChatGPT 编写了一个脚本,用于下载每个核心文件的开头部分,提取寄存器数据,过滤已知的误报,并将每次崩溃标记为“返回空指针”、“栈对齐错误”或其他类型。他们将该脚本并行应用于过去一年中的所有 Rockset 核心转储文件。他们很快就发现了相关性。原本从症状上看属于同类的问题,实际上对应两组特征完全不同的崩溃事件。         这些因栈对齐错误导致的崩溃均源自同一个 Azure 区域,有明确的起始日期,而且从未出现在长期运行的节点上。团队追踪发现,这些崩溃源自一台物理主机,其 CPU 正在悄无声息地产生错误的结果。它既没有过热,也没有抛出机器检查异常,而只是数学运算默默出了错。将该主机从服务中移除后,因栈对齐错误导致的崩溃便完全消失了。         在剔除硬件崩溃问题后,剩余的由“返回空指针”导致的崩溃问题便变得可控了。此前,团队曾排除了 C++ 异常展开的原因,因为他们认为自己找到了反例:在未使用异常的代码路径中发生了崩溃。但这些反例全都来自有硬件损坏的故障集群。一旦剔除了这些干扰因素,剩余的所有崩溃便都是发生在异常展开过程中了。         问题发生的根本原因是 GNU libunwind 的 _Ux86_64_setcontext 函数中有一个已经存在 18 年的竞争条件。在 C++ 异常展开过程中,libunwind 会在栈上合成一个 ucontext_t 结构体,填充所需的寄存器状态,然后调用 _Ux86_64_setcontext 将控制权转移给清理处理程序。问题在于:_Ux86_64_setcontext 在从旧结构体中读取指令指针的操作尚未完成之前,就将栈指针(%rsp)更新为指向新的栈帧。一旦 %rsp 发生变化,该结构体便不再属于活动栈的一部分,也不再受内核红区的保护。如果信号恰好在 %rsp 更新与 %rip 读取之间的这一时间窗口内到达,内核就会在该结构体之上构建其信号帧,指令指针遭到破坏,函数便会跳转到 NULL 或垃圾地址。         竞争窗口的宽度正好为一条指令。以现代处理器的时钟频率计算,这大约相当于 100 皮秒。在大多数程序中,这种情况根本不会被触发。

    B | OpenAI 的 Rockset 使用了 timer_create 函数,每隔几毫秒的 CPU 时间就发送一次 SIGUSR2 信号,为的是实现轻量级的按查询记账,这样产生的信号发送事件远多于传统的应用程序。正是这种高频的信号发送,将只在理论上可能发生的竞争状况转化成了实际生产环境中的崩溃。         该团队将一个修复方案和一个自包含的重现示例提交到了 GNU libunwind,并通过验证证实,其他展开器(如 libgcc)不存在这个问题。该修复方案通过重新排序指令,确保在更新 %rsp 之前先读取 %rip,从而彻底消除了这个时间窗口。         该团队对这一教训的总结值得全文引用:          最重要的步骤并非巧妙地解读汇编代码,也不是对细节的深入了解,而是构建一个高质量的数据集。如果没有这个数据集,我们就会把两种截然不同的现象混为一谈,并试图通过推理来理清这种混乱。一旦获得了准确且完整的全量数据,问题的结构便显而易见了。

    C |          如果你的团队正在排查难以解释的生产环境崩溃问题,请检查你们是否将多个 Bug 混为一谈。那些看似与所有假设都不相符的症状,实际上可能并不矛盾;它们可能与两个不同的假设相符,而你却无意中将它们混淆了。

    D | 洞察问题结构的最快途径,并非对单个案例进行更深入的分析,而是获取涵盖所有故障案例的完整、带标签的数据。         这篇完整的工程技术博文包含了详细的栈内存示意图、存在漏洞的汇编指令,以及揭示出两种不同类型故障的崩溃率可视化图表。

    E |          https://www.infoq.com/news/2026/07/openai-libunwind-core-dumps/          声明:本文由 InfoQ 翻译,未经许可禁止转载。

    Current article:http://72nge.tuncuansazhuandengqiaofen.bond/w3yry/qiw.doc

    Published on:05:09:29


  • 上一篇:《消えた眉間のシワ》“ヤンキー先生”義家弘介氏が明かした当時の政治家生活「ストレスしかなかった…」 4月からは新たな職業にチャレンジ 新たな肩書きは?
  • 下一篇:6th Asian Herpetology Conference held in Chengdu

    我的网站热门国内

  • 1612892重庆带俩娃摆摊宝妈最新后续:已关闭所有捐款通道,政府已在协助
  • 89258绥中县抢修阻断点位道路长度50余公里
  • 491762调用量登顶!神秘牛来大模型是谁家的?
  • 512505德广联:德国央行行长放风 欧洲央行加息不足以遏制通胀进一步加息势在必行_内格尔_Nagel
  • 8216893印象分拉满!布兰登·威廉姆斯上赛季打勇士场均22.5分&命中率73%
  • 617506【观点】正信期货:预计短期乙二醇回调整理为主
  • 1789民主党派联合调研服务京津冀协同发展
  • 8809外媒:欧洲歌唱大赛以色列女歌手陷巴以争议,还上了乌极右网站“死亡名单”
  • 9564创维储能获罗马尼亚、塞浦路斯储能订单
  • 20130F1世界冠军阿隆索加盟阿斯顿·马丁车队
  • 123名记:哈登和骑士就续约达一致 只待球队补强侧翼
  • 449563随着Galaxy手机10周年的临近,三星公司对“创新”过程进行了回顾。
  • 33472025年618活动哪一天买最合适?淘宝京东6月17日20:00至6月18日24:00购买最便宜优惠
  • 838Dike breach in Henan floods hospital and school, 432 evacuated
  • 55484Levee breach sealed in China's flood-hit Henan
  • 728185Winners of The Filmfare OTT Awards 2025: Full List Out
  • 299944,220-year-old rock art in SW China’s Yunnan reveals early cultural links with Southeast Asia
  • 705965【NTU研究】登革热患者长期并发症风险高于新冠肺炎康复者
  • 78916王鑫的厕所mt应用程序“断开”,暴露无法刷新,主题发布失败
  • 769Is 3 Idiots Getting a Sequel? Here's What We Know
  • 5980284固态电池概念震荡拉升,上海洗霸涨停
  • 1102058White House Says ‘Completely’ Disagrees With Jeff Bezos’ Remarks on Gas Prices in US
  • Copyright @ 2016-2017 我的网站 版权所有