有哪些讓你目瞪口呆的 bug ?
發生於麻省理工的一個有意思的bug:只能發500英里的郵件。原文在此:http://web.mit.edu/jemorris/humor/500-miles
相當Nerd的bug,有興趣的人看看吧。
大意是,當年麻省的一名系統管理員,忽然收到統計系主任打來的求助電話「咱們的郵件發不了500英里以外的地方,其實,是520英里更準確點」。
系統管理員心裡¥!……*。
不過在他開始用自己的郵件測試後,發現郵件的確只能發往520英里以內,其餘的收件地點一律失敗。
於是在他一片糾結中他漸漸開始發現問題,郵件伺服器被人更新過操作系統(當年還是SunOS),但是由於操作系統的發行版往往配備了舊版軟體,於是在更新操作系統的時候郵件軟體反而被降級了(Sendmail 8 -&> Sendmail 5)。
於是進一步調查發現,在更新操作系統時,管理員自己編寫的Sendmail配置文件(sendmail.cf)被保留了下來。這樣就出現了這種狀況:Sendmail 5嘗試解析Sendmail 8的配置文件。
但是為什麼會是500miles呢?為什麼是500miles咧?
原因是這樣的,Sendmail 5面對陌生的配置文件,凡是不理解的部分都會忽略,凡是沒設置過的配置項自動設置成0。這樣其中有一個被設置成0,這一項就是 (連接遠端SMTP伺服器的超時時間)timeout to connect to the remote SMTP server。後來經過實驗,發現0秒的timeout會導致Sendmail在3毫秒後中斷連接。
所以,為啥是500miles?
在當年,MIT的校園網是沒有那麼多router的,也就沒那麼多網路延遲,所以連接一個遠端主機的時間大概就是光所需的時間。於是3毫秒, 就意味著:
噹噹當,這就是500英里的bug啦。
是這樣的,我叫劉偉楠,曾經我想註冊一個新浪微博的賬號,起昵稱的時候出現了這樣的事……
起初我以為只不過是重名,這個名字已經被搶注了……後來發現這事沒這麼簡單……
我這名字簡直跟某邪教組織辭彙和國家領導人是一個級別的…… 到最後才發現,比髒話的屏蔽等級還要高……
上圖……
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
剛剛我又登陸微博試了一下……結果……
更新於2015.4.25……
==========================================================================================================
今天是2015.4.26……
沒想到知乎的力量這麼強大……——一天時間就解鎖了新浪微博上屏蔽等級如此高的一個敏感辭彙…… 這讓我重新燃起了對人生的希望……
首先感謝 @舒膚佳不舒服告訴我這件事……
結果我看到了這麼多聲援我的人…… 我也是第一次體驗到了網路的傳播速度…… 這真的讓我非常出乎意料…… 不過,無論是關注還是調侃~ 我都覺得能分享給大家一件有意思的事兒還是挺幸福的~(我很有自嘲精神的……)
看到這些時該輪到我笑的肚子疼了~
謝謝你們的關注和贊!但我不會經常發這種回答的……也沒什麼機靈可抖…… 我還是更願意做那個在知乎【吉他】板塊下好好回答問題的人~看到一些努力練琴的人覺得我的答案能幫上點忙~我才是最開心的~
還有。我無意中的這個回答好像打擾到了一個人……大家評論中提到過……可能在這個屏蔽bug出現之前,微博中已經有人成功註冊了「劉偉楠」這個id,是一位來自烏魯木齊的女孩……結果我點進她的主頁真的讓我足足笑了20分鐘……卧床不起……
o_o……憋住不笑了……
在這裡,我鄭重向你道歉!對不起!沒想到這樣一件事會打擾到你!對不起!對不起!請你原諒我!
有好心的朋友通過一些途徑提醒我在截圖中使用了很多領導人的名字和邪教組織的敏感辭彙來對比實驗~ 我倒不認為這有什麼不妥~ 因為我相信這裡都是受過良好教育,社會價值觀正確的人~ 我們都熱愛自己的家鄉,熱愛腳下的土地,反對惡意的欺騙和分裂。我們看得到國家在努力,我們也在努力,而不完善的地方我們也願意多給國家一些時間~ ——這些都是很容易達成共識的事~為什麼要敏感~
最後。好像很多人都在問哪個微博是我的……
就是這個…… 我剛剛改的昵稱和頭像……
儘管你們把我的名字解禁了~ 我還偏不用了~ 哼哼~ 不給新浪改正錯誤的機會~ 哈哈~
大家不用關注我……因為我真的不玩微博……平時什麼也不會發的……
這個回答能在這個周末帶給大家一件有意思的小事兒就挺好~
祝大家晚安~ 就這樣~
當然是人類歷史上第一個程序BUG
你看到的是人類歷史上的第一個程序Bug——燒糊的蛾子一枚。 1947年,哈佛大學的計算機哈佛二代(Harvard Mark II)突然停止了運行,程序員們費盡周折找到了這具蟲子屍體,程序錯誤從此被稱作Bug。 原來,哈佛二代當時還沒有二極體和晶體管,它是一部繼電器計算機,無數個喀噠作響的電磁開關在其中運作。當開關斷開的時候會有電弧發出閃光,於是這隻妖蛾子奮不顧身地飛了上去,用節肢動物的鮮血開闢了脊索動物的Debug史,從此名垂千古,永遠地保存在了華盛頓的美國國家歷史博物館中。
P.S. 有人指出是存於美國國家檔案館 答主特意查找了下貌似沒有直接證據證明是這樣 由於原文轉自網路 目前貌似所有版本都是國家歷史博物館 歡迎知情知友前來指明
咳,沒人說Bumblebee那個驚天bug么……一不小心就把你的/usr給幹掉了什麼的……
一個空格引發的慘劇
那個commit下面……
GIANT BUG... causing /usr to be deleted... so sorry.... issue #123, issu... · a047be8 · MrMEEE/bumblebee-Old-and-abbandoned · GitHub
好吧我是去收圖的hhhhh
可惜好多圖都掛了蛤蛤蛤蛤蛤
&作為當年受害者之一我怎麼笑得出來啊啊啊&
int mian()
蒂姆 庫克:「小鋒你去把TW站左上角的"Jobs at Apple"改成繁體字。」
小鋒:「老闆,換好了!」,
蒂姆 庫克:「......」
不知道有多少人還記得微軟當年為對抗iPod發布那個音樂播放器Zune?
在2008年的最後一天,全球所有Zune都停止運行了。官方的建議是,等到明天就好了。很顯然,2008年是Zune發布後的第一個閏年。而2008年的最後一天是第一次Zune經歷了一年的第366天。
這個bug的源代碼:
順便說一句,Zune並沒有活到2012年的最後一天。不是bug, 是design.
可能對於熟悉usb子系統的人來說這是常識. 不過我客戶報上來這個問題的時候我還是很詫異的.
3.0的U盤插3.0的usb口, 插快點兒就被識別成3.0設備. 插慢了... 就識別成2.0的設備...
大家可以自己試試看, lsusb -t 可以看出來這個設備被掛在3.0下還是2.0下...
之前在 Quora 上看到一個類似問題,我先大體引述一下:
作者為醫院急救設計了一個相關程序,在實驗室運行良好,但是每次在醫院調試都出 bug,作者只好到醫院去調試,而且是當著急救病人!!!
經過漫長的測試終於發現,是由於醫院使用的X射線導致電腦內存總是丟失幾個 bit 的信息,而導致程序出問題,最終通過把電腦的內存用鉛板隔起來解決!
對了,還有一個類似例子的也是這樣,大體也是由於山上的輻射過大,導致電腦丟失bit信息。
如我們普通程序猿對於這樣的 bug,只能是默默流淚了……
我去,剛才翻了一下 Quora 竟然沒找到原答案,本來打算貼出答案原地址的。有知道的小夥伴歡迎告知一下,我再添上!我曾經見過有人把運算放在assert里。
iPhone手機日曆有個嚴重的bug
眾所周知1900年是平年,不是閏年,而iOS的日曆似乎是簡單的4年一個閏年的演算法算閏年的。這麼大的bug怎麼沒人發現呢?iOS11上還有。
應該說計算閏年還是很簡單的,4年100年400年等等數據判斷一下就好,結果還是出錯,蘋果工程師的水平哪去了?
=========10/10/2017 更新=================
評論區裡面同學的回復促使我詳細調查了一下,更新如下:
微軟1900年站在了正確這一邊:
我是不是該大喊「微軟大法好!」了?慢著,當我打開Excel,輸入2/29/1900,它會認為是個有效的日期,並將其轉化成29-Feb-00,就如同我敲入2/28/1900一樣。而如果我輸入2/30/1900,則被認為是個無效日期而忽略,如下圖:
看來微軟也是自相矛盾啊。這是為什麼呢?我決定搜索一下,發現這還真是個冷門的問題,關鍵字應著寥寥。不過終於被我找到了答案,原來微軟Excel和iPhone的bug起因還不一致。
微軟Excel
在PC開始出現的初期,IBM的Lotus 1-2-3是PC的殺手應用,它被認為是PC所以成功的因素之一。Lotus 1-2-3紀元(epoch)從1900年開始,所以第一天是1900年1月1日,其後所有的日期都是在它上面加一個Delta差值,這也是為什麼我們上面1900年2月28是的年份表示是00的原因。Lotus從誕生起就有個bug,它認為1900年是閏年!
微軟因為Lotus的大賣而自己研發的表格系統Multiplan,它和它的繼任者Excel為了能夠與Lotus兼容,不但要做到外觀十分相似,而且為了能夠讀取Lotus的文件而故意引入了一樣的bug:將1900年設定為閏年!他們甚至聲稱這不是一個bug,而是一個feature!這真是Bug for bug的高度兼容啊。
包袱一旦背上就很難卸下,在Lotus早已作古的今天,Excel為了與以前的Excel兼容,還在繼承著這個」feature」,我們參考資料[1]裡面有微軟的官方解釋。
Apple
在古老的Apple I誕生之日起,蘋果的紀元就是從1904年1月1日開始,它用32bit記錄了從那之後的秒數,所以老的MAC系統最大能夠記錄到2040年(新的MAC擴展了位數)。而1904年之前則是通過簡單的4年一個閏年的方法倒推到之前的年份,所以1900年被錯誤的認為是閏年而2100年不會。這種方式也被iOS所繼承。後期因為兼容性問題,不做修改。曾經有人報告給Apple這個iPhone上的Bug,Apple的開發者未有回應(參考資料[2])
參考資料
[1]: https://support.microsoft.com/en-us/help/214326/excel-incorrectly-assumes-that-the-year-1900-is-a-leap-year
[2]: https://discussions.apple.com/thread/5982489?tstart=0
[3]: 《軟體隨想錄:程序員部落酋長》
另外此文被整理髮表在專欄:UEFI和BIOS探秘
也許是最冷的電腦冷知識:1900年閏年Bug
其他更多文章,大家可以關注我的專欄和用微信掃描下方二維碼加入微信公號"UEFIBlog",在那裡有最新的文章。同時歡迎大家給本專欄和公眾號投稿!
http://weixin.qq.com/r/BTkLE0-EhRL6rQtw92wX (二維碼自動識別)
第一部分:太醫沒來
歡迎收聽 NPI 旗下的醫療節目「太醫沒來」,本期我們將聊一聊 BUG 導致的遊戲角色疾病。
患者在早期階段,脫髮是最明顯的癥狀。原本一頭烏黑亮麗的秀髮突然 「Duang」 的一下就不見了,可憐我們的伊麗莎白和勞拉,只好靠後期加特技,讓人不禁感嘆禿髮樹機能。
圖片來源:《生化奇兵:無限》
圖片來源:《古墓麗影》
病情加劇以後,病患會發現自己的表情變得難以控制,比如勇者林克會拋出磨人的嫵媚眼神,堂堂公主會露出一副被玩壞了的表情。
圖片來源:《塞爾達無雙》
自此以後,患者就告別了正常人的模樣。
圖片來源:《軍團要塞2》
典型癥狀之一就是口腔變形,導致很難發出「三」這個數字的音節。
圖片來源:《半衰期》系列
在體驗生命的大和諧的敦倫之際,也會露出一張呆板的面容。
圖片來源:《質量效應》系列
哪怕是精通鍊金術的獵魔人,也很難用藥劑治癒自己。
圖片來源:《獵魔人》
對於普通的腳男來說,五官畸變更是家常便飯。
圖片:《魔獸世界》
照鏡子的時候,很容易把手柄嚇得摔在地上。
圖片來源:《WWE》系列
隨著病情加重,更可能會出現頭部腫大……
圖片來源:《NBA》系列
……皮膚變色等癥狀。
圖片來源:《蝙蝠俠:阿克漢姆城》
圖片來源:《古墓麗影》
到了晚期,甚至會出現殭屍化的傾向。
圖片來源:《戰神3》
圖片來源:《塞爾達傳說:時之笛》
同時這種疾病具有極強的傳染性,導致一傳十,十傳百,變成了全國皆知的秘密。
圖片來源:《全面戰爭》系列
最終,角色會出現面部鏤空,眼珠吐出等癥狀,此時距離死亡亦不遠矣。
圖片來源:《任天堂大亂斗 Wii U》
圖片來源:《行屍走肉 遊戲版》
圖片來源:《龍騰世紀》系列
圖片來源:《光環4》
圖片來源:《真·三國無雙7》
圖片來源:《越南戰爭》
圖片來源:《黑色洛城》
圖片來源:《光環》系列(小娜你這樣小冰她知道么?)
圖片來源:《上古捲軸4》
圖片來源:《死或生5》
圖片來源:《刺客信條:大革命》
這裡插播一條硬廣,回顧一下《刺客信條》艾齊奧三部曲里的浪漫故事:
遊戲里有哪些特別動人的支線劇情或細節描寫? - windleavez 的回答
圖片來源:《古墓麗影》
圖片來源:《聲名狼藉:第二之子》
另一種常見疾病會在脖子上發作。患者如同緬甸的長頸族一樣,脖頸纖長優雅。據觀察,FPS 遊戲的角色特別容易患此病症,這可能和他們需要隨時 360° 觀察四周有關。
圖片來源:《戰地》系列
圖片來源:《Day Z》
圖片來源:《寂靜嶺》
圖片來源:《冤罪殺機》
這類肢體疾病也會越演越烈,最終遍布全身。典型特徵是關節扭曲,四肢癱軟:
圖片來源:《刺客信條》系列
圖片來源:《無主之地》
圖片來源:《使命召喚:現代戰爭2》
圖片來源:《最終幻想:紛爭》
圖片來源:《寂靜嶺》
少數患者只是身材變矮,不影響正常生活,請大家務必不要歧視。
圖片來源:《殺出重圍:人類革命》
插個硬廣:如果讓昆汀拿《小時代》的劇本拍電影,成片會怎樣? - windleavez 的回答
但大多數患者沒那麼幸運,身體會完全扭曲變形。
圖片來源:《WWE》系列
末了,這些可憐的患者將會不成人形,四肢向八方擴張,最終如璀璨煙花般收場。
圖片來源:《光環》系列
圖片來源:《超級馬里奧 64》
疾病的殘酷讓人扼腕嘆息,可是醫療界卻對此漠不關心!我建議以後每年 8 月 8 日為「世界防治 BUG 病日」,希望引發社會上更多人群的關注。以上就是本期「太醫沒來」的全部內容,接下來讓我們觀看最新推出的「走出科學」!
第二部分:走出科學
天空霧霾為何浮現巨臉?
圖片來源:《騎馬與砍殺》系列
謝頂男子為何啃食左臂?
圖片來源:《馬克斯·佩恩3》
高薪青年為何身陷鋼板?
圖片來源:《生化危機6》
大叔自拍為何驚現分身?
圖片來源:《俠盜獵車手5》
詭異人像為何無處不在?
圖片來源:《傳送門》系列
圖片來源:《上古捲軸5》
圖片來源:《軍團要塞2》
上述內容,我們今天統統不講。
本期節目的故事發生在遙遠的美國西部。我們的主人公馬斯頓(下文簡稱老馬)是一位鏢客,他與妻兒一同打理著自家小小的莊園,以外出打獵、替人當差為生。一家三口其樂融融,雖然說不上富裕,但日子也還算安穩。可就在幾天前,他駕馬前往墨西哥途中,馬突然消失了!
圖片來源:《荒野大鏢客:救贖》
馬怎麼會憑空消失呢?馬消失以後,老馬為什麼還能繼續凌空前行呢?抱著這個疑問,記者走訪了美國西部,同時暗訪了好萊塢、拉斯維加斯、迪士尼樂園、環球影城等腐朽資本主義的聚集地。
老馬向記者透露,自己最懷疑的就是家住附近的中年農民喬爾。喬爾與養女艾麗生活在距離老馬家5公里外的一座莊園,喬爾很心疼自己的愛女,很可能想要為艾麗偷一匹小馬駒。
但
是喬爾聲稱,家裡只有自家的老馬,而艾麗根本不能騎馬,一騎就會飛出去。為了向記者證明此事,他讓艾麗上馬,果然她立刻向後仰倒。為了讓記者不起疑心,他
連讓艾麗飛了兩次。最後喬爾偷偷告訴記者,艾麗的體質天生只適合騎長頸鹿,他們已經打算舉家遷往非洲。記者當即表示,有部電影叫《走出非洲》,節目名稱叫
《走出科學》,兩者冥冥似有聯繫,預祝喬爾一路順風。
圖片來源:《最後生還者》
既
然馬不是喬爾偷的。那麼老馬的馬究竟在哪裡呢?記者又請教了韓國思密達大學的都教授,都教授告訴記者,世界原本是屬於韓國的,此後宇宙大爆炸,分裂出一部
分形成了現在我們生活的宇宙,另一部分則成為了異度空間。老馬的馬很可能落到異度空間去了。都教授隨後向記者描繪了異度空間的景象:
圖片來源:《看門狗》
圖片來源:《戰地》系列
圖片來源:《魔獸世界》
圖片來源:《我的世界》
圖片來源:《泰坦天降》
圖片來源:《上古捲軸5》
記者聽聞消息以後,立刻趕赴老馬的莊園,想要和老馬進一步確認細節。結果老馬告訴記者,自己的馬跑已經回來了,原來當初它看中一頭母馬,跑出去野合了。記者不禁感慨道:「啊,春天到了,萬物復甦了,這是個交配的季節。」至於凌空前行這件事,我要不提想必你們也不記得吧?
圖片來源:《荒野大鏢客:救贖》
第三部分:BUG 御三家
但凡遊戲類型和「模擬」兩個字搭邊,一旦出現 BUG 都會效果拔群,其中尤以體育模擬和模擬養成為甚。有三大系列的 BUG 一直特別可怕,史稱 BUG 御三家。
第一家:實況 FIFA
在 BUG 方面,實況和 FIFA 系列不分伯仲,我也就不加以細分了。BUG 內容方面大致有:
無頭無尾無骨皮,無肝無膽無心脾:
幾回光顧齒留香,足球蹴鞠耐品嘗:
宣揚甫解黃金手,兩腿空如九曲深:
有客千岩萬壑中,綠毛青臉紫方瞳:
腿長可以及馬腹,有限生涯時苦促:
默西狗子無佛性,七佛如來合掌聽:
山有木兮木有枝,心悅君兮君不知:
第二家:NBA 2K15
本來這個系列是極好的,但最新作加入了一個全新功能:玩家可以用 Kinect 或 PS Camera 掃描自己的面部,生成一個三維頭像,然後悲劇就發生了:
本來這裡我應該扭捏一下,表示給大家看這麼恐怖的圖片真是對不住。不過說老實話,既然你都看到這兒了,一定超喜歡這些可怕的 BUG,所以我也就不裝模作樣了,想看更多請點擊:Dat Facescan Tho,包您滿意!
第三家:模擬人生
《模擬人生》系列可以說是遊戲 BUG 界的瑰寶,全世界變態取之不盡的寶庫。你可以在這款遊戲的 BUG 中找到各式各樣的樂趣,總有一種會讓你的心靈悸動不已。
消滅人類暴政!世界屬於蚊子!
任何對黑人、女性、同性戀的批評都是政治不正確,只有文科生黑起來最正確!
我的手真是Q彈爽滑,入口即化!
咱們今晚就試試這個體位吧!
現在開始練習鄭多燕減肥操第一課!
老娘我今天就不要臉了,你能拿我怎麼樣!
媽媽,我要看他飛!
我才是老馬走丟的馬,之前你們找到的是山寨貨!
不用回頭就能看到自己的翹臀,我一定比卡戴珊還美!
看完這三大章節,相信諸位讀者老爺已經見識到不少遊戲的圖形 BUG 了。不過正如馬克思主義所說,凡事都有兩面性,BUG 不一定都是壞的,比如說……哎呀,好像手抖貼錯圖了,等我吃完飯就改回正確的圖片,有空就改,有空就改~
圖片來源:《超凡雙生》
發生在工廠的事,產線生產時,其中一條線的zebra印表機在列印標籤時比其它線要多耗時3秒左右,即使是列印一樣的東西。
我們知道這個消息時,都是一副你特么在逗我的表情,因為程式都一樣啊,14條線都沒問題,就你不行,說是不是你們幹了些啥?
當時心想要是真有人改了啥數據,導致產量沒達標,再導致我們被追責,看我不打死他!
結果當然沒人做啥改動,畢竟我們為了防止這種情況,很多數據都沒法直接修改,於是開始找bug……
因為產線一直在生產,所以沒法在線debug,我們在線外模擬,一直都是正常的,而且旁邊還有14條線也是正常的,把別的線的程式拷貝過來,也特么不行,媽蛋,電腦都一樣啊!
後來我們直接換了電腦,就好了,難道那台電腦有鬼???
把電腦拿回辦公室,裝上VS2012,下載代碼到D盤,開整,正常了!卧槽,真見鬼了?
仔細一想,產線是把程式放到了E盤,難道這還有差異?算了,救人救到底,送佛送到西,E盤再來一次,尼瑪,問題出現了……
問題是本機的模板的最後修改時間和伺服器上的模板的最後修改時間不一致,導致每次都需要重新下載模板!
而模板下載到本機後,最後修改時間會增加1到2秒,果斷看下硬碟的分區格式,伺服器是NTFS,這台電腦的D盤是NTFS,E盤居然是FAT32!!!
哪位大仙乾的好事,你粗來,我要打死你!!!
-----------------------------------------------------
更新
FAT32的文件時間精度限制為偶數秒,而NTFS能到100ns,所以文件拷貝下來了就發現最後修改時間多了1到2秒……
http://www.cnblogs.com/eaglet/archive/2012/10/12/2721165.html
我在一家燒烤店發現過一個難以置信的大BUG。
夏天晚上和夥伴們吃燒烤,這家店位置很偏,開車去要40分鐘,但是生意非常火爆,相比之下他旁邊也有一家店,就很冷清。
我們也是慕名而來,但是連著兩次,我發現他們的點單系統非常混亂,比方說點了十個菜,其中一個是五串烤魚豆腐,上菜之後已經吃完了,過會兒一個服務員又端著魚豆腐來了,說你們這兒的魚豆腐還沒上呢吧?放下就走了……
結賬的時候,看見賬單上只有5串魚豆腐的錢。我們一起吃飯的幾個夥伴說,肯定是因為這家店最近生意太好了人手不夠,服務員和後廚都亂掉了,哈哈哈哈下次還來這兒吃。
後來中午休息時我跟一個老師閑聊,說你知不知道那家燒烤店,點餐系統超級混亂……
結果話還沒說完,那個老師就跟我說:對!他們服務員經常上錯菜,每次我去吃他們不是給我上兩次烤麵筋就是給我重複端烤油麥,還有一次我們喝了五瓶啤酒,他們居然只數了三個瓶子!!幸虧他們家人多,每次我們都能少淘點兒錢!真不知道這家店這麼混亂,一天要賠多少錢!!!
聽完之後,我啞然失笑。
原來這家店不是因為人太多、服務員忙不過來了才出現了Bug;而是因為有了這個「Bug」,店裡的人才有這麼多的啊!!當我想購買正版微軟office套件visio的時候遇見了一個神一般的bug。
微軟竟然說,outlook郵箱…不!是!他!的!了!
我用了三年的outlook郵箱,他突然就不認我了!
微軟:我瘋起來連自己都打。
當年某個簡訊系統,發過去一條特定信息(就是一本普通的書名)後,結果總是反饋不回來,工程師反覆查找都找不到問題所在,而且,這條信息本身很正常啊,沒有任何特殊的地方,一點都不敏感。這成了一個無解的 Bug。
後來經過多方查證,通過內部渠道,終於明白了 Bug 的關鍵:系統反饋的信息里,有一個人名,和當時信產部(那時還沒有工信部)一位官員重名,於是在網關就被攔截了。。。太神奇了。
答案是豐富多彩的。最後發現有一個分號是中文字元。
謝玥邀...讓我目瞪口呆的BUG是 update 不加 where...
暴一個當年在某外資通信設備商碰到的逆天bug,當年折磨的老夫死去活來。B國電信的ethernet over sdh網路時不時發現某些乙太網埠不可用,問題一層層報告到研發。
於是實驗室苦逼的重現工作開始了。發現當光纖ok板子OK,光纖斷了板子也OK。只有光纖慢慢髒了,信號衰減到某一個臨界值的時候,有小概率可以重現。不能太臟,不能太乾淨,必須在臟和不臟之間徘徊千百遍,你妹。
測試大姐拿著光衰減器,在板子上找這個幽靈一般的臨界點,每天看到我都滿眼怨念,估計心裡每天砍我一百遍。其實代碼是D國人寫的,冤有頭,債有主T_T。
各級老闆強勢圍觀,email列表裡面幾十個人,真正幹活的就我和測試大姐兩個。天天催進度。
好吧,隔離代碼開始。協議a單獨工作正常,協議b單獨工作也正常,當然不能排除測試運氣好,這是最頭疼的地方。
終於在無數遍默念f*ck和祈禱之後,發現臨界於光纖連通和斷裂的時候,中斷報上來,協議a反覆通知協議b,由於過於頻繁,協議b無法收斂,最終導致了不可用狀態。
問題找到了,怎麼優雅的解決呢?荷蘭老闆沖我鬼魅的一笑,「你是中國工程師,總有辦法解決的,給你三天吧。」
大哥,我不是錢學森,不是諸葛亮,不是圖靈,三天改代碼加測試,還要優雅,畫個圈圈詛咒你。
好吧,別怨我憋大招了。解鈴還需系鈴人人,既然是通知惹的禍,那就改通知。狀態不穩定的時候,協議a拿個黑名單默默的記著,時間滿了,沖協議b大吼一聲:「你去死吧」。然後問題解決了。
這麼多年過去了,也不知道這個bug死徹底了沒,反正江湖上我再也沒聽過他的傳說。
推薦閱讀: