一個Bug,差點毀滅世界...
圖片來自 Pexels
你職業(yè)生涯中寫過最大的 Bug 是什么?在這個問題上,勇敢的碼農(nóng)們,總是能不斷地創(chuàng)造奇跡。
這不禁讓路過的一位普通市民感嘆:感覺有你們,我們還活在這個世界就像死神來了!
Bug 很大,你忍一下!一個 Bug 到底能有多大?幾個歷史數(shù)據(jù)轉(zhuǎn)儲邏輯 Bug 或發(fā)貨邏輯 Bug,就能讓幾十萬輕松蒸發(fā):
你們這虧錢的 Bug 都灑灑水啦,寫 Bug 差點進去的見過沒?
馬上就有碼農(nóng)站出來表示不服,并表示自己參與開發(fā)的一款發(fā)薪軟件曾出現(xiàn) Bug,會導致發(fā)放的薪資變成雙倍,總共能多發(fā) 2000 多萬。
當時查出 Bug 的時候發(fā)薪單已經(jīng)生成,就差批量任務向銀行發(fā)起請求了!
奇怪的勝負心就這么燃起來了。
一時間,什么水閘關不住、高鐵追尾、甚至差點導致非洲國家內(nèi)戰(zhàn)的 Bug 都來了。
如果再放眼全球,你就會發(fā)現(xiàn)——Bug 沒有最大,只有更大。
2016 年時,Excel 就出過一個致使上萬份遺傳基因?qū)W論文出錯的 Bug。
很多長得像日期表達的長基因名的縮寫(比如 SEPT2、MARCH1),會在這一 Bug 的作用下被 Excel 自動轉(zhuǎn)化成日期格式:
學術領域之外的 Bug 那就更牛逼了。
比如在 1996 年,歐洲運載火箭 Ariane 5 在發(fā)射 37 秒后當場爆炸。
一瞬間,70 億美元的開發(fā)費用全部木大,5 億美元的設備原地蒸發(fā)。
這一切都由一個整數(shù)溢出(Integer Overflow)的 Bug 引起。
而如果翻開維基百科上的這份專門統(tǒng)計歷史上造成嚴重后果的 Bug 清單,沿著 12 個類別一個一個找下去,就會發(fā)現(xiàn)——幾乎每一條 Bug 的背后都存在著千萬上億的金錢損失。
有時,甚至會帶來意外死亡。1985 年到 1987 年間,由加拿大 AECL 公司開發(fā)的 Therac-25 放射線療法機器在軟件互鎖機制上出現(xiàn)了 Bug,從而使輻射能量變成了正常劑量的 100 倍。
最終,至少有 6 名來自美國和加拿大地區(qū)的患者由于遭受過量輻射而意外死亡。
還有差點引發(fā)全球核戰(zhàn)爭的 Bug:1983 年蘇聯(lián)核警報誤報事件。
蘇聯(lián)軍官Stanislav Yevgrafovich Petrov
在那一年的 9 月 26 日,蘇聯(lián)的雷達監(jiān)測到了 5 枚自美軍基地發(fā)射而來的導彈。
而上圖的這位蘇聯(lián)軍官權衡再三,最終將這一導彈攻擊警告判斷為誤報,并沒有按照規(guī)定向上級匯報并申請反擊。
事實證明,這次 DeBug 成功避免了地球 Online 在 1983 年就發(fā)生重啟。
“不是 Bug 是特性”
看完了上面那些驚天大活兒,瞬間覺得郵件/短信連環(huán) CALL 這種 Bug 都溫柔了許多。
像這種由于抽獎程序 Bug 導致的社死,好像也不是個事兒了:
而影響力又大,又沒有造成嚴重損失,甚至讓用戶拍手叫好的 Bug 也不是沒有。
比如一到游戲圈,Bug 就會自動改名為特性。
原神魚竿 Bug
某些知名游戲大廠甚至還會聯(lián)名發(fā)布 Bug 馬克杯,玩梗玩得飛起。
還有玩家真情實感地表示:Bug 正是游戲復雜規(guī)則和交互的體現(xiàn),我游 YYDS!
《矮人要塞》貓咪離奇死亡事件
甚至在游戲行業(yè)之外,還有用戶在 Bug 被修復后憤怒投訴:
圖源知乎答主三和四保
最后,再回到“你的程序員生涯中寫過的最大 Bug”這一問題上來。
有回答選擇直接結(jié)束比賽:你們的程序員生涯中寫過的最大 Bug 是什么?——當初選擇了做程序員。
軟件 Bug 清單:
https://en.wikipedia.org/wiki/List_of_software_Bugs
參考鏈接:
https://www.zhihu.com/question/482967292
作者:博雯
編輯:陶家龍
出處:轉(zhuǎn)載自公眾號量子位(ID:公眾號 QbitAI)