盤點(diǎn)程序員寫過的驚天Bug:虧損30億、致6人死亡,甚至差點(diǎn)毀滅世界

作者:博雯 發(fā)自 凹非寺
本文經(jīng)AI新媒體量子位(ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處
一個(gè)Bug就地蒸發(fā)5億美元;
軟件設(shè)計(jì)層面出Bug致6人死亡;
DeBug不成功直接世界毀滅。
你職業(yè)生涯中寫過最大的Bug是什么?
在這個(gè)問題上,勇敢的碼農(nóng)們,總是能不斷地創(chuàng)造奇跡。
這不禁讓路過的一位普通市民感嘆:
感覺有你們,我們還活在這個(gè)世界就像死神來了

Bug很大,你忍一下
一個(gè)Bug到底能有多大?
幾個(gè)歷史數(shù)據(jù)轉(zhuǎn)儲(chǔ)邏輯Bug或發(fā)貨邏輯Bug,就能讓幾十萬輕松蒸發(fā):

你們這虧錢的Bug都灑灑水啦,寫B(tài)ug差點(diǎn)進(jìn)去的見過沒?
馬上就有碼農(nóng)站出來表示不服,并表示自己參與開發(fā)的一款發(fā)薪軟件曾出現(xiàn)Bug,會(huì)導(dǎo)致發(fā)放的薪資變成雙倍,總共能多發(fā)2000多萬。
當(dāng)時(shí)查出Bug的時(shí)候發(fā)薪單已經(jīng)生成,就差批量任務(wù)向銀行發(fā)起請求了!

奇怪的勝負(fù)心就這么燃起來了。
一時(shí)間,什么水閘關(guān)不住、高鐵追尾、甚至差點(diǎn)導(dǎo)致非洲國家內(nèi)戰(zhàn)的Bug都來了。

如果再放眼全球,你就會(huì)發(fā)現(xiàn)——Bug沒有最大,只有更大。
2016年時(shí),Excel就出過一個(gè)致使上萬份遺傳基因?qū)W論文出錯(cuò)的Bug。
很多長得像日期表達(dá)的長基因名的縮寫(比如SEPT2、MARCH1),會(huì)在這一Bug的作用下被Excel自動(dòng)轉(zhuǎn)化成日期格式:

學(xué)術(shù)領(lǐng)域之外的Bug那就更牛逼了。
比如在1996年,歐洲運(yùn)載火箭Ariane 5在發(fā)射37秒后當(dāng)場爆炸。
一瞬間,70億美元的開發(fā)費(fèi)用全部木大,5億美元的設(shè)備原地蒸發(fā)。
這一切都由一個(gè)整數(shù)溢出(Integer Overflow)的Bug引起。

而如果翻開維基百科上的這份專門統(tǒng)計(jì)歷史上造成嚴(yán)重后果的Bug清單,沿著12個(gè)類別一個(gè)一個(gè)找下去,就會(huì)發(fā)現(xiàn)——
幾乎每一條Bug的背后都存在著千萬上億的金錢損失。

有時(shí),甚至?xí)硪馔馑劳觥?br>
1985年到1987年間,由加拿大AECL公司開發(fā)的Therac-25放射線療法機(jī)器在軟件互鎖機(jī)制上出現(xiàn)了Bug,從而使輻射能量變成了正常劑量的100倍:
最終,至少有6名來自美國和加拿大地區(qū)的患者由于遭受過量輻射而意外死亡。

還有差點(diǎn)引發(fā)全球核戰(zhàn)爭的Bug:1983年蘇聯(lián)核警報(bào)誤報(bào)事件。

△蘇聯(lián)軍官Stanislav Yevgrafovich Petrov
在那一年的9月26日,蘇聯(lián)的雷達(dá)監(jiān)測到了5枚自美軍基地發(fā)射而來的導(dǎo)彈。
而上圖的這位蘇聯(lián)軍官權(quán)衡再三,最終將這一導(dǎo)彈攻擊警告判斷為誤報(bào),并沒有按照規(guī)定向上級(jí)匯報(bào)并申請反擊。
事實(shí)證明,這次DeBug成功避免了地球Online在1983年就發(fā)生重啟。
“不是Bug是特性”
看完了上面那些驚天大活兒,瞬間覺得郵件/短信連環(huán)CALL這種Bug都溫柔了許多。
像這種由于抽獎(jiǎng)程序Bug導(dǎo)致的社死,好像也不是個(gè)事兒了:

而影響力又大,又沒有造成嚴(yán)重?fù)p失,甚至讓用戶拍手叫好的Bug也不是沒有。
比如一到游戲圈,Bug就會(huì)自動(dòng)改名為特性。

△原神魚竿Bug
某些知名游戲大廠甚至還會(huì)聯(lián)名發(fā)布Bug馬克杯,玩梗玩得飛起。

還有玩家真情實(shí)感地表示:Bug正是游戲復(fù)雜規(guī)則和交互的體現(xiàn),我游YYDS!

△《矮人要塞》貓咪離奇死亡事件
甚至在游戲行業(yè)之外,還有用戶在Bug被修復(fù)后憤怒投訴:

△圖源知乎答主三和四保
最后,再回到“你的程序員生涯中寫過的最大Bug”這一問題上來。
有回答選擇直接結(jié)束比賽:
你們的程序員生涯中寫過的最大Bug是什么?——當(dāng)初選擇了做程序員。

軟件Bug清單:
https://en.wikipedia.org/wiki/List_of_software_Bugs
參考鏈接:
https://www.zhihu.com/question/482967292
重磅消息
為感謝大家對(duì)我們的支持,除了本文中的送書活動(dòng)外,我們創(chuàng)建了一個(gè)python客棧粉絲專屬的技術(shù)交流(福利)群,每周都有送紅包、送書活動(dòng)。
群中都是學(xué)習(xí)Python的同學(xué),有任何問題都可以發(fā)到群里和大家一起討論學(xué)習(xí)(本次送書活動(dòng)群中同步進(jìn)行)

群聊截圖
進(jìn)群方法:
在本公眾號(hào)內(nèi)回復(fù):群 ,即可獲取進(jìn)群方式
往期推薦
為感謝大家對(duì)我們的支持,除了本文中的送書活動(dòng)外,我們創(chuàng)建了一個(gè)python客棧粉絲專屬的技術(shù)交流(福利)群,每周都有送紅包、送書活動(dòng)。
群中都是學(xué)習(xí)Python的同學(xué),有任何問題都可以發(fā)到群里和大家一起討論學(xué)習(xí)(本次送書活動(dòng)群中同步進(jìn)行)

群聊截圖
進(jìn)群方法:
在本公眾號(hào)內(nèi)回復(fù):群 ,即可獲取進(jìn)群方式
今天因?yàn)槟狞c(diǎn)贊和在看,讓我元?dú)鉂M滿!
