盘点程序员写过的惊天Bug:亏损30亿、致6人死亡,甚至差点毁灭世界

博雯发自凹非寺量子位报道公众号QbitAI一个Bug就地蒸发5亿美元;软件设计层面出Bug致6人死亡;DeBug不成功直接世界毁灭。你职业生涯中写过最大的Bug是什么?在这个问题上,勇敢的码农们,总是能不断地创造奇迹。这不禁让路过的一位普通市民感叹:感觉有你们

NetSmell 出品

  博雯发自凹非寺

  量子位报道公众号 QbitAI

  一个 Bug 就地蒸发 5 亿美元;

  软件设计层面出 Bug 致 6 人死亡;

  DeBug 不成功直接世界毁灭。

  你职业生涯中写过最大的 Bug 是什么?

  在这个问题上,勇敢的码农们,总是能不断地创造奇迹。

  这不禁让路过的一位普通市民感叹:

  感觉有你们,我们还活在这个世界就像死神来了

  一个 Bug 到底能有多大?

  几个历史数据转储逻辑 Bug 或发货逻辑 Bug,就能让几十万轻松蒸发:

  你们这亏钱的 Bug 都洒洒水啦,写 Bug 差点进去的见过没?

  马上就有码农站出来表示不服,并表示自己参与开发的一款发薪软件曾出现 Bug,会导致发放的薪资变成双倍,总共能多发 2000 多万。

  当时查出 Bug 的时候发薪单已经生成,就差批量任务向银行发起请求了!

  奇怪的胜负心就这么燃起来了。

  一时间,什么水闸关不住、高铁追尾、甚至差点导致非洲国家内战的 Bug 都来了。

  如果再放眼全球,你就会发现——Bug 没有最大,只有更大。

  2016 年时,Excel 就出过一个致使上万份遗传基因学论文出错的 Bug。

  很多长得像日期表达的长基因名的缩写(比如 SEPT2、MARCH1),会在这一 Bug 的作用下被 Excel 自动转化成日期格式:

  学术领域之外的 Bug 那就更牛逼了。

  比如在 1996 年,欧洲运载火箭 Ariane 5 在发射 37 秒后当场爆炸。

  一瞬间,70 亿美元的开发费用全部木大,5 亿美元的设备原地蒸发。

  这一切都由一个整数溢出(Integer Overflow)的 Bug 引起。

  而如果翻开维基百科上的这份专门统计历史上造成严重后果的 Bug 清单,沿着 12 个类别一个一个找下去,就会发现——

  几乎每一条 Bug 的背后都存在着千万上亿的金钱损失。

  有时,甚至会带来意外死亡。

  1985 年到 1987 年间,由加拿大 AECL 公司开发的 Therac-25 放射线疗法机器在软件互锁机制上出现了 Bug,从而使辐射能量变成了正常剂量的 100 倍:

  最终,至少有 6 名来自美国和加拿大地区的患者由于遭受过量辐射而意外死亡。

  还有差点引发全球核战争的 Bug:1983 年苏联核警报误报事件。


△苏联军官 Stanislav Yevgrafovich Petrov

  在那一年的 9 月 26 日,苏联的雷达监测到了 5 枚自美军基地发射而来的导弹。

  而上图的这位苏联军官权衡再三,最终将这一导弹攻击警告判断为误报,并没有按照规定向上级汇报并申请反击。

  事实证明,这次 DeBug 成功避免了地球 Online 在 1983 年就发生重启。

  “不是 Bug 是特性”

  看完了上面那些惊天大活儿,瞬间觉得邮件/短信连环 CALL 这种 Bug 都温柔了许多。

  像这种由于抽奖程序 Bug 导致的社死,好像也不是个事儿了:

  而影响力又大,又没有造成严重损失,甚至让用户拍手叫好的 Bug 也不是没有。

  比如一到游戏圈,Bug 就会自动改名为特性。

  △原神鱼竿 Bug

  某些知名游戏大厂甚至还会联名发布 Bug 马克杯,玩梗玩得飞起。

  还有玩家真情实感地表示:Bug 正是游戏复杂规则和交互的体现,我游 YYDS!

  △《矮人要塞》猫咪离奇死亡事件

  甚至在游戏行业之外,还有用户在 Bug 被修复后愤怒投诉:


△图源知乎答主三和四保

  最后,再回到“你的程序员生涯中写过的最大 Bug”这一问题上来。

  有回答选择直接结束比赛:

  你们的程序员生涯中写过的最大 Bug 是什么?——当初选择了做程序员。

  软件 Bug 清单:

  https://en.wikipedia.org/wiki/List_of_software_Bugs

  参考链接:

  https://www.zhihu.com/question/482967292

显示余下内容
 

发表评论

邮箱地址不会被公开。 必填项已用*标注