不認(rèn)2月29?歇菜的可遠(yuǎn)不止自動(dòng)駕駛
當(dāng)前位置:點(diǎn)晴教程→閑情逸致
→『 微信好文 』
今天,2024年2月29日,有消息稱,激光雷達(dá)大廠禾賽,遭遇了閏年bug:固件沒(méi)處理閏年,凡是用了禾賽激光雷達(dá)的車,自動(dòng)駕駛功能全都歇菜了。 據(jù)“鳳凰網(wǎng)科技”,禾賽已經(jīng)回應(yīng):有2個(gè)老款L4機(jī)械式激光雷達(dá)今天出現(xiàn)了軟件bug,問(wèn)題原因已經(jīng)找到,我們也跟相關(guān)客戶都做了深入溝通、并提供了相關(guān)解決方案。預(yù)計(jì)該問(wèn)題會(huì)在24小時(shí)內(nèi)徹底解決。此問(wèn)題不涉及AT128、不影響OEM客戶,對(duì)路上跑的所有搭載AT128的乘用車都無(wú)影響。 禾賽的合作廠商,包括理想、長(zhǎng)城、路特斯、飛凡等。聲明中特別提及“不受影響”的AT128,則是禾賽的旗艦產(chǎn)品,已搭載在理想L9、路特斯EMEYA等車型上。 圖源:微博截圖 每4年就有一個(gè)2月29日,形形色色的閏年日bug總是準(zhǔn)時(shí)出現(xiàn)。 什么是閏年日Bug?簡(jiǎn)單來(lái)說(shuō),就是在閏年多出來(lái)的這一天,由于對(duì)日期和時(shí)間的計(jì)算處理存在錯(cuò)誤,導(dǎo)致某些系統(tǒng)或設(shè)備無(wú)法正常工作的問(wèn)題。這類Bug如果不及時(shí)發(fā)現(xiàn)和修復(fù),就可能造成嚴(yán)重后果。 圖源:DALL-E 下面幾個(gè)真實(shí)案例可以幫助我們更好地理解閏年日Bug的危害:
類似的案例還有很多,比如航空公司無(wú)法正常登機(jī)、售票系統(tǒng)癱瘓、交通設(shè)施發(fā)生故障等,嚴(yán)重影響著人們的出行和生活。 其實(shí),除了四年一遇的閏年日bug,在手機(jī)和電腦上還有其他跟日期有關(guān)的奇怪bug,比如—— 世界末日到底是哪一天? 這個(gè)無(wú)厘頭的問(wèn)題一直有著各種各樣的離奇答案。當(dāng)你打開(kāi)手機(jī)系統(tǒng)設(shè)置(不是日歷),關(guān)閉自動(dòng)設(shè)置時(shí)間,往未來(lái)的方向滑動(dòng)數(shù)字時(shí),你會(huì)發(fā)現(xiàn)時(shí)間停在了2038年。 小米、華為可以設(shè)置到2037年12月31日,iPhone也只多兩天 不僅是手機(jī),在電腦上,當(dāng)你嘗試將時(shí)間從2037年再往上調(diào)整時(shí),會(huì)發(fā)現(xiàn)不管怎么按設(shè)置按鈕,日期都不會(huì)繼續(xù)改變。 日期調(diào)整超過(guò)2038年時(shí),會(huì)停在2038年1月1日 2038年到底會(huì)發(fā)生什么?為什么各種設(shè)備都無(wú)法“逾越”2038年?在網(wǎng)上搜尋2038,你還能發(fā)現(xiàn)有人專門(mén)設(shè)置了倒計(jì)時(shí)網(wǎng)頁(yè)。這其中包含了一個(gè)更加精確的時(shí)間:2038年1月19日 3點(diǎn)14分7秒。而下一秒,你的電子設(shè)備將會(huì)穿越回到1901年。 著名的“2038問(wèn)題”,將在此刻爆發(fā)。 到“2038年問(wèn)題”發(fā)生,還?!?/p> 2038年,時(shí)間“摧毀”系統(tǒng) 問(wèn)題發(fā)生在2038年1月19日 3點(diǎn)14分7秒的下一秒。這一天的03:14:08不會(huì)到來(lái),迎接你的將會(huì)是1901年12月13日20:45:52。 使用腳本模擬系統(tǒng)時(shí)間,會(huì)出現(xiàn)時(shí)間的跳變(平臺(tái) Debian GNU/Linux (內(nèi)核 2.4.22))丨William Porquet/deepsky.com 對(duì)于很多電子設(shè)備而言,這是個(gè)毀滅性的打擊。文件的創(chuàng)建與修改、應(yīng)用軟件的運(yùn)行、網(wǎng)絡(luò)系統(tǒng)的同步……時(shí)間作為一個(gè)關(guān)鍵數(shù)值,在整個(gè)電子系統(tǒng)里起著絕對(duì)重要的作用。因此有一陣子蘋(píng)果手機(jī)的語(yǔ)音助手Siri,還把這一天當(dāng)成了“世界末日”。為什么是這一天?Siri回答中的關(guān)鍵詞也給出了答案。 早期Siri對(duì)于世界末日問(wèn)題的回答(新版本系統(tǒng)已無(wú)此回答) Unix、32位,這兩個(gè)詞讓2038年的這一天注定成為末日。Unix是一種操作系統(tǒng),這種系統(tǒng)中計(jì)時(shí)方式是以1970年1月1日 00:00:00為基準(zhǔn),按秒為單位進(jìn)行增減。比如到2022年1月1日0點(diǎn),只需要用基準(zhǔn)值加上1640966400秒。而我們現(xiàn)在使用的安卓、蘋(píng)果系統(tǒng)都屬于類Unix系統(tǒng),采用了同樣的方案。 電子系統(tǒng)使用0和1對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存,也就是二進(jìn)制。如果只用1位數(shù),只能表示0和1,如果2位數(shù),則可以用00、01、10、11分別表示0、1、2、3這四個(gè)數(shù)。隨著位數(shù)的增加,二進(jìn)制可以表示的數(shù)也越來(lái)越大,但總會(huì)遇到上限。如果用32個(gè)0、1儲(chǔ)存數(shù)字,第一位表示符號(hào),0代表+,1代表-,則剩下31位最大可以表示2147483647。在計(jì)算機(jī)資源非常寶貴的年代,用32位來(lái)放置時(shí)間,已經(jīng)很夠用了。 1970年1月1日00:00:00 + 2147483647秒 = 2038年1月19日 3點(diǎn)14分7秒。下一秒,數(shù)據(jù)就會(huì)出現(xiàn)“裝不下”的情況,發(fā)生溢出。此時(shí)第一位符號(hào)位從0變成1,本來(lái)的加號(hào)變成了減號(hào),時(shí)間突然穿越到過(guò)去。 從上到下分別是二進(jìn)制秒數(shù)、對(duì)應(yīng)的十進(jìn)制秒數(shù)、32位Unix系統(tǒng)時(shí)間、實(shí)際時(shí)間。超過(guò)2147483647后,符號(hào)位會(huì)變成1(負(fù)號(hào)),整個(gè)數(shù)字會(huì)突然發(fā)生翻轉(zhuǎn),回到1901年。丨Pemu/Wikicommons 這個(gè)存在于將來(lái)的問(wèn)題,它會(huì)給我們帶來(lái)怎樣的影響?回溯過(guò)往,一次又一次的“千年蟲(chóng)”問(wèn)題已經(jīng)給了我們一些預(yù)告。 千年之外的千年蟲(chóng) 2000年,千禧年。而在很多應(yīng)用程序看來(lái),這一年會(huì)變成1900年。 同樣因?yàn)橛布Y源寶貴,早期程序使用了年份的后兩位數(shù)字來(lái)表示日期,而前兩位數(shù)都默認(rèn)為19。這個(gè)不起眼的時(shí)間問(wèn)題,在整個(gè)世界引發(fā)了巨大的關(guān)注。政務(wù)系統(tǒng)、銀行系統(tǒng)、航空系統(tǒng)等多個(gè)系統(tǒng)都可能受到影響而失效。全球各地對(duì)這一問(wèn)題進(jìn)行了響應(yīng),試圖解決這一問(wèn)題。我國(guó)多次發(fā)文強(qiáng)調(diào)這一問(wèn)題的重要性。美國(guó)也推出了有關(guān)千年蟲(chóng)問(wèn)題的法案,以敦促各行業(yè)共享信息解決此類問(wèn)題。 全球各地對(duì)“千年蟲(chóng)”采取行動(dòng)丨人民日?qǐng)?bào)網(wǎng)絡(luò)版 多虧人們對(duì)“千年蟲(chóng)”的高度重視,使得這一問(wèn)題在集中爆發(fā)前得以解決。但在此之后,類似“千年蟲(chóng)”的事件卻依然層出不窮。 2010年的第一周,德國(guó)約3千萬(wàn)張銀行卡同時(shí)“失效”。持卡人不僅無(wú)法直接刷卡消費(fèi),連在自動(dòng)取款機(jī)上取錢(qián)都成問(wèn)題。這不僅影響了本國(guó)居民的生活,也使得在外度假的德國(guó)人滯留在當(dāng)?shù)亍?/p> 由于不同編碼方式存在差異,2010在德國(guó)的銀行系統(tǒng)中被錯(cuò)誤地識(shí)別成2016。銀行卡也因此“被過(guò)期”了。同樣的情況出現(xiàn)在使用Windows Mobile系統(tǒng)的手機(jī)上:你在2010年第一天收到的新年短信,會(huì)被系統(tǒng)顯示成2016年。 德國(guó)加速修復(fù)了銀行系統(tǒng),所幸沒(méi)有造成更大的損失。但放眼太空,事情就沒(méi)那么簡(jiǎn)單了。2013年9月,航天器Deep Impact突然失聯(lián),迫使美國(guó)航空航天局宣布相關(guān)探測(cè)任務(wù)正式結(jié)束。Deep Impact的首席任務(wù)科學(xué)家 Mike A'Hearn認(rèn)為,這是一個(gè)“千年蟲(chóng)問(wèn)題”。航天器的部分軟件無(wú)法正確識(shí)別2013年8月11日之后的日期,導(dǎo)致計(jì)算機(jī)不斷重啟。最終,科學(xué)家們失去了航天器的信號(hào)。 Deep Impact與坦普爾1號(hào)彗星相遇模擬圖丨NASA 就在2022年初,“2022年蟲(chóng)”讓微軟的程序員體會(huì)了新年大加班。1月1日,微軟的郵件服務(wù)系統(tǒng)Exchange突然中斷,使用該服務(wù)的用戶都無(wú)法發(fā)送電子郵件。微軟隨后給出了聲明,稱該問(wèn)題與日期檢查失敗以及新年的變化有關(guān)。簡(jiǎn)單點(diǎn)說(shuō),和2038問(wèn)題一樣,時(shí)間“溢出”了。好在微軟團(tuán)隊(duì)加班加點(diǎn),在當(dāng)天解決了該問(wèn)題。 在未來(lái),“類千年蟲(chóng)”問(wèn)題一定還會(huì)出現(xiàn)。對(duì)于可以預(yù)料的問(wèn)題,人們已經(jīng)開(kāi)始嘗試提供解決方法。比如使用新的格式存儲(chǔ)時(shí)間信息。與此同時(shí),系統(tǒng)團(tuán)隊(duì)提供的新內(nèi)核也在解決32位平臺(tái)上的“歷史問(wèn)題”。你也不用太擔(dān)心,畢竟到那時(shí),你應(yīng)該已經(jīng)換了好幾波手機(jī)了。 不過(guò),再遇到類似的突發(fā)Bug也很正常。因?yàn)槭澜缟峡傇诎l(fā)生情理之中、意料之外的事情。 轉(zhuǎn)自網(wǎng)易號(hào)https://www.163.com/dy/article/IS54S21F05118OGM.html 該文章在 2024/3/5 15:44:11 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |