一个Bug能有多大影响:亏损30亿、致6人死亡、甚至差点毁灭世界...

往期热门文章:

 
 
 
 
 
 
1、Java17,有史以来最快 JDK!
2、Spring Boot + MyBatis + MySQL读写分离
3、从MySQL 5.6升级到8.0,Facebook付出了惨痛代价……
4、吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?
5、手写了一个简单的JSON解析器,网友直乎:牛!

作者:博雯   来源:量子位(QbitAI)


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

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

DeBug不成功直接世界毁灭。

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

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

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

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

8edc030299a38e8ea0c39725d3448a07.png

Bug很大,你忍一下

一个Bug到底能有多大?

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

e86c3cef8e17fd84242c28493691c514.png

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

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

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

6e21a2575c191576b081bd8f1a2a7736.png

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

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

930861049e361d414ca826e0653f94d8.png

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

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

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

a54e18ca76b4a371e38fe5858dc9de7c.gif

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

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

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

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

ac771c07e0e499ec4cf58142bfc4df02.png

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

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

dd3a60ef9fab222d94160a6b1902115c.png

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

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

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

3f86464f2a9080b5ac70e6ccb39786a2.png

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

21aa09de372f4cf4c8fbdce4099ff679.png

苏联军官Stanislav Yevgrafovich Petrov

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

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

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

如果您正在学习Spring Boot,推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/

“不是Bug是特性”

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

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

7a534cb008cfba912dce72e956dd3968.png

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

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

48d75de3cb093d35e58a7f8d79c46cde.gif

原神鱼竿Bug

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

0344e31a9badeff25965b15b87bf472b.png

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

0dd0eabce5249bf8db87ac0210a7bba6.png

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

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

141ed91bd57c44de4699a1d59fff60e5.png

图源知乎答主三和四保

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

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

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

6a1234564f45ef3dadf1edb14f48857a.png

软件Bug清单:
https://en.wikipedia.org/wiki/List_of_software_Bugs

参考链接:
https://www.zhihu.com/question/482967292

 
 
 
 
 
 
 
 
最近热文阅读:

1、Java17,有史以来最快 JDK!

2、Spring Boot + MyBatis + MySQL读写分离

3、从MySQL 5.6升级到8.0,Facebook付出了惨痛代价……

4、吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?

5、手写了一个简单的JSON解析器,网友直乎:牛!

6、代码写的垃圾被嫌弃?

7、Redis的这些拓展方案

8、MySQL的自增 ID 用完了,怎么办?

9、多线程环境下,HashMap为什么会出现死循环?

10、10个经典场景带你玩转SQL优化

bce2007ebca0d32cfcd764d4388b94c6.png

关注公众号,你想要的Java都在这里

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值