“電子郵件無法發送到 500 英里以外”
我在做校園的郵件系統管理員的時候,有用戶向我抱怨說:他們不能發送超過500英里距離的email…
如果你之前沒有聽過這個故事。
如果你就是這個管理員。
此刻是否一臉懵逼。
補充材料:
用戶中有位地理統計人員,還添油加醋地制作了一張郵件發送失敗地圖,地圖上顯示,她郵件的送達區域半徑比500英里就多那么一點點:半徑內的收件人,全收到了,之外的,全失敗了。
請給出你的debug plan。
別說是郵票沒貼夠。
真相:
一次軟件升級導致遠程服務器超時時間被設為0。在一個具有典型負載的特定機器上,零超時意味著如果連接時間稍微超過3毫秒,服務器就會終止連接。而以光速傳播的電信號,在3毫秒的時間內所能到達的距離大約是:
0.003 * c (光速) = 558.84719 miles
“只有在星期三才會崩潰的系統”
一家醫院用來監控病人健康的數據庫,每到周三,會自己崩潰。
我在周三的時候通常也會崩潰。
因為那天有組會。
但我感覺這應該不是這道問題的答案。
補充材料:
該事件中,最大的難度在于,一周只有一天有機會debug。
該系統記錄日志是用 C 風格的代碼編寫的,把日志字符串記錄到了一個固定長度的緩沖區中,其中日志時間一欄,格式例如“Monday, July 17, 1997, 10:38:47.123“。
請給出你的debug plan。
真相:
因為周三的日志的時間一欄,緩沖區恰好溢出了。
(就差一個字節寫不下)
不會有來自星星的bug
也沒有哪個bug是太陽的后裔
所有那些你認為的、不惜穿越過時空,
來與你情定今生的bug
都特么是你曾經的二比惹的禍
故事繼續。
“當我坐在窗邊的時候,內存讀寫就會失敗”
給一個自己設計的SD卡控制器寫驅動,從五月開始調試,一直很順利,到了七月份突然開始出現間歇性的SD卡讀寫失敗,而且越靠近窗戶,失敗頻率越高。
也許坐在窗前寫程序,
本身就是一個錯誤
每次我坐在窗前的時候,
都會想
隔壁班的
那個女孩
怎么還沒經過我的窗前
補充材料:
驅動程序是要下載到控制器的板子上的。當這塊板子放置于窗邊,特別是正午的時候,調試幾乎總是失敗。
請給出你的debug plan。
真相:
電路板上芯片的正常工作溫度有限,當超過一定的溫度時它就帶不動負載了,而7月的正午,太陽正好會通過窗戶會照到板子,導致溫度過高。
“搖動游戲手柄的時候,游戲存檔就會失敗”
在開發PS1游戲“袋鼠大進擊”這款游戲的存檔/讀檔時候遇到的。Bug的癥狀是每隔一段時間存檔/讀檔都會超時失敗。并且十分隨機。
像我這種游戲從來都是一命通關的人
其實不是很在乎能不能存檔的
補充材料:
該事件中的難點在于重現bug。當開發人員把可能出錯的代碼已經注釋到了四大皆空的時候,bug依然隨機出現。偶然間,測試發現了快速重現Bug的方法:一邊擺動手柄,一邊存檔。
請給出你的debug plan。
真相:
PS的時鐘在高頻率下運行時,會影響到主板旁邊的晶振,造成手柄控制器的內存卡控制器之間的串擾。手柄上一有信號,內存就被干擾了。
最后給出一個真實的靈異故事。
(轉自知乎)
某公司有個碼農工作壓力太大,天天晚上加班到半夜,最后受不了跳樓死了,他的機位從此就一直空著。但令大家都感到非常奇怪的是,有幾次早上來上班時卻發現這臺機子竟然開著!大概是因為電源有問題吧,但這個項目經理是個疑神疑鬼的人,每次經過這里都繞著走。
到了新一屆招人,一個女孩被分到這個項目組。項目經理讓她坐這個空著的機位,誰也沒敢告訴她之前的事,只是讓她接手原來同事的工作。過了沒幾天,她寫的代碼被測出來一個bug,可她水平確實比較差,怎么都調不通。她又不敢問同事,只好向男友求助(她男友是另一家公司的大牛)。男友說現在很忙,晚上10點以后才有空。 那天她只好等到晚上10點,男友終于有空了。這時公司里只剩下她和項目經理兩個人。
她男友通過遠程桌面幫她調試的時候,她要去個廁所便起身離開了坐位。過了一會項目經理下班回家,經過這里時用余光看到屏幕的上的代碼好像在動!他定睛一看,屏幕上的代碼正在一行一行的往下寫,可是機位上并沒有人?。?!
第二天這個項目經理沒來上班,而是給HR發了封郵件,提交了辭職申請。
以上就是一個程序員版的田螺姑娘的故事。
原文轉自:http://www.techug.com/post/most-famous-four-bugs.html