六星教育:互聯(lián)網(wǎng)史上這幾個最強的Bug,你都知道嗎?

技術的發(fā)展一方面提升了人們的生活水平,另一方面也隱藏下了極大的隱患。例如在傳統(tǒng)領域,一小撮人對公司的影響是極其微小的,而到了互聯(lián)網(wǎng)領域,有時一兩個人的失誤就能把公司推入萬劫不復之地。
這樣的例子不勝枚舉,今天六星教育就給大家盤點一下軟件歷史上這些著名的bug:

聲勢最大的bug—千年蟲
在上個世紀,開發(fā)員從來沒想過他們的代碼和產(chǎn)品會跨入新千年。
因此,很多開發(fā)員為了節(jié)省內存省略掉代表年份的前兩位數(shù)字“19”。而當日歷越來越接近1999年12月31日時,人們越來越擔心在千禧年的新年夜大家的電腦系統(tǒng)都會崩潰。
因為系統(tǒng)日期會更新為1900年1月1日而不是2000年1月1日,這樣可能意味著無數(shù)的災難事件,甚至是世界末日。

聲勢浩大的千年蟲最終幾乎沒造成什么破壞,除了:在西班牙,停車場計費表壞了;法國氣象局公布了19100年1月1日的天氣預報;在澳洲,公共汽車驗票系統(tǒng)崩潰。
經(jīng)過這個bug后,我們似乎有理由相信,不會再遇到下一個千年蟲,或者萬年蟲?
價值一個基地的Bug
在1991年2月的第一次海灣戰(zhàn)爭中,一枚伊拉克發(fā)射的飛毛腿導彈準確擊中美國在沙地阿拉伯的宰赫蘭基地。
當場炸死28個美國士兵,炸傷100多人,造成美軍海灣戰(zhàn)爭中唯一一次傷亡超過百人的損失。
后來的一項調查發(fā)現(xiàn),一個簡單的電腦故障使基地的反導系統(tǒng)失效,并阻止它攔截空中導彈。當時,負責保衛(wèi)基地的反導系統(tǒng)已經(jīng)連續(xù)工作了100個小時。
每工作一個小時,系統(tǒng)中的時鐘就會出現(xiàn)微小的毫秒延遲,這就是這次故障悲劇的根源。
反導系統(tǒng)的時鐘寄存器設計為24位,因此時間精度限制在24位。經(jīng)過長時間的工作,這種微小的精度誤差逐漸放大。工作100小時后,系統(tǒng)延時為1 / 3秒。
對于普通人來說,0.33秒是微不足道的。但是對于一個需要跟蹤和摧毀機載導彈的雷達系統(tǒng)來說,這是災難性的。彈的速度為4.2馬赫(1.5千米/秒),“極微小”的0.33秒相當于大約600米的誤差。
在導彈的例子中,雷達探測到導彈在空中,但由于時鐘誤差沒有準確地跟蹤到它,基地的反導彈沒有發(fā)射。
價值一個航天器的Bug
火星氣候探測器于1997年發(fā)射,用于研究火星的氣候,但未能完成這項耗資3億多美元的任務。在太空中待了幾個月后,探險者號由于導航錯誤在火星大氣層中解體了。
探測器的控制小組以英制單位發(fā)送導航指令,而探測器的軟件系統(tǒng)以公制單位讀取指令,此錯誤會顯著更改導航控制路徑。該航天器最終進入了火星的低地球軌道(誤差達到100公里),在火星大氣的壓力和摩擦下解體。
差點引發(fā)第三次世界大戰(zhàn)的bug
前蘇聯(lián)政府的報警系統(tǒng)錯誤的報出美國發(fā)射了五枚彈道導彈。幸運的是蘇聯(lián)值勤員推斷如果真的是美國政府襲擊他們的話,發(fā)射的導彈肯定不止5枚,所以他推斷這只是一場虛驚。經(jīng)挖掘真相為:前蘇聯(lián)軟件的一個Bug,因陽光反射云頂,給出了錯誤的報警信息。
感謝蘇聯(lián)值勤員睿智的推斷能力,否則碰到一個“缺心眼”,想想小心肝就一顫一顫的。
百事可樂420億美元的bug
1992年5月,百事在菲律賓進行了一次促銷活動。該公司告訴客戶,如果他們買了一瓶百事可樂,并在瓶蓋的底部發(fā)現(xiàn)了349號,那么,他們可以贏得100萬比索(約等于100萬美元)。
不幸的是, 由于軟件的錯誤,80萬個瓶蓋都被錯刷成了349,相當于要多支付420億美元的獎金。

這導致一些人將百事公司告上法庭,控訴其支付獎金,而最終百事公司支付了數(shù)百萬美元的賠償金,但也使得公司損失慘重。
bug是互聯(lián)網(wǎng)公司避之不及的事情,但如同墨菲法則一樣,該發(fā)生的自然會發(fā)生。但凡是互聯(lián)網(wǎng)公司沒有經(jīng)歷過bug,是不可能的。
應對bug,要有預案和不定期演練,就像消防練習一樣。不發(fā)生是好事,而一旦發(fā)生,必定會是一次大考。
怎樣能做到泰山崩于前而面不改色心不跳,迅速制定出合理有效的解決方案,是衡量公司負責人是否稱職的一項標準。
以上就是本次分享的全部內容,想學習更多編程技巧,歡迎持續(xù)關注六星教育!