因程序員少打一個(gè)字符,大量用戶電腦出現(xiàn)嚴(yán)重Bug!
作者丨湯泡飯
來(lái)源丨擴(kuò)展迷EXTFANS
如果要問(wèn),程序員的勁敵是什么?
不容置疑,答案一定是Bug的出現(xiàn)。

前幾日,就連互聯(lián)網(wǎng)大廠谷歌的程序員都犯了低級(jí)錯(cuò)誤。
近期,谷歌為Chromebook推送了Chrome OS 91版本,版本號(hào)91.0.4772.165。
沒(méi)想到,就是這次更新,出現(xiàn)了重大Bug。

安裝更新后,有大量用戶反饋稱,自己的Chrome筆記本筆記本陷入無(wú)限重啟狀態(tài),只能恢復(fù)出廠設(shè)置然后再重新更新,但數(shù)據(jù)會(huì)全部丟失。
明明輸入的開(kāi)機(jī)密碼是對(duì)的,但就是一直提示“無(wú)法驗(yàn)證您的密碼”,進(jìn)入不了系統(tǒng)。
一旦重啟筆記本,就將陷入無(wú)法登陸的死循環(huán),反復(fù)重啟的狀態(tài)。

還有部分用戶的Chrome OS在重新啟動(dòng)后,會(huì)自動(dòng)下載更新并切換到新版本。
因此,重啟設(shè)備的用戶會(huì)突然被鎖在外面,無(wú)法正常使用設(shè)備。
那么,究竟是什么引起的這次Bug的出現(xiàn)呢?
一位Reddit網(wǎng)友從谷歌官網(wǎng)源碼中發(fā)現(xiàn),該問(wèn)題是由一個(gè)極其低級(jí)的錯(cuò)誤引發(fā)的。
簡(jiǎn)單來(lái)說(shuō),就只是因谷歌程序員少輸了一個(gè)字符“&”。
原本正確的代碼應(yīng)該是:
if (key_data_.has_value() && !key_data_->label().empty()) {
結(jié)果程序員寫(xiě)成了
if (key_data_.has_value() & !key_data_->label().empty()) {
而這串代碼是保存用戶加密密鑰的部分,所以,這個(gè)錯(cuò)誤直接導(dǎo)致系統(tǒng)無(wú)法將存儲(chǔ)的密鑰與輸入的密鑰進(jìn)行比較。

此事傳出后,許多網(wǎng)友評(píng)論稱,“谷歌沒(méi)有進(jìn)行代碼測(cè)試嗎?”
“谷歌的測(cè)試團(tuán)隊(duì)這兩個(gè)月是在休假嗎?”

“谷歌程序員太自信了?”

有一些網(wǎng)友也從中找到了自信。
“我感覺(jué)我也能進(jìn)谷歌了?!?/span>

還有網(wǎng)友慶幸自己沒(méi)有及時(shí)更新系統(tǒng)的習(xí)慣:“這就是我討厭強(qiáng)制更新的原因。一般像我這樣經(jīng)驗(yàn)豐富的IT專業(yè)人士選擇更新時(shí),通常是在一大群人都更新了并且沒(méi)有報(bào)告任何問(wèn)題之后。”

其實(shí),Chrome OS共有三個(gè)測(cè)試渠道:“金絲雀”渠道、“開(kāi)發(fā)”渠道和“beta測(cè)試”渠道,代碼變更應(yīng)經(jīng)過(guò)這三個(gè)渠道的審查,版本發(fā)布之間進(jìn)行數(shù)周的測(cè)試。
所以,這個(gè)Bug的出現(xiàn)也屬實(shí)有些匪夷所思!
不過(guò),在接到反饋后,谷歌也迅速發(fā)布了解決辦法,刪除了91.0.4472.165版本,并將Chromebook的系統(tǒng)版本退回至91.0.4472.147。
雖然這個(gè)版本也不是太安全,但起碼用戶可以登入電腦了。

另外,谷歌也在7月20日的聲明中說(shuō)已經(jīng)確定了問(wèn)題所在,并發(fā)布新版本91.0.4472.167以解決該問(wèn)題,只要Chromebook系統(tǒng)更新至此新版本,用戶就可以順利登入電腦進(jìn)行正常操作。
受糟糕更新版影響的用戶可以等待設(shè)備再次更新,或者“強(qiáng)力清洗”設(shè)備(即擦除所有本地?cái)?shù)據(jù)),以便能夠正常登錄。

說(shuō)起來(lái),不只是谷歌,國(guó)內(nèi)外的各大科技巨頭,實(shí)際上或多或少都出現(xiàn)過(guò)一些“匪夷所思”的Bug事件。
比如,Gab公司經(jīng)驗(yàn)豐富的CTO曾將代碼中“reject”和“filter”拆分,導(dǎo)致一些知名人士(比如特朗普)在內(nèi)的、70GB大小的信息數(shù)據(jù)被泄露,公司還被黑客敲詐了50萬(wàn)美元。

比如,蘋(píng)果的iOS 14.7出現(xiàn)Bug,導(dǎo)致App Store無(wú)法更新應(yīng)用,用戶設(shè)備電池健康降低。
比如,王者榮耀test郵件事件,該Bug可令玩家免費(fèi)領(lǐng)取到多個(gè)英雄,皮膚,以及英雄碎片,皮膚碎片。
更不用說(shuō),每次更新都會(huì)帶來(lái)一系列Bug的Windows 10。

這些層出不窮的例子都表明,再縝密的程序,歸根結(jié)底都是由一個(gè)個(gè)活生生的程序員親自碼出來(lái)的,出錯(cuò)也是在所難免。
作為程序員,你曾經(jīng)又寫(xiě)出過(guò)什么Bug呢?歡迎大家在評(píng)論區(qū)交流。
-End-
最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來(lái),可以說(shuō)是程序員面試必備!所有資料都整理到網(wǎng)盤(pán)了,歡迎下載!

面試題】即可獲取
