跳至主要內容
Buzzdope Buzzdope
社群

數千款 iOS App 開了就閃退,這次爆的是 Google 那邊的水管

Buzzdope 編輯室
數千款 iOS App 開了就閃退,這次爆的是 Google 那邊的水管

手機沒摔到、沒進水,儲存空間也還夠,App 卻一打開就跳回桌面。你重開機,沒用;移除重灌,還是沒用;把快取清一遍,它照樣三秒關給你看。9 月底這一天,有著相同遭遇的使用者散布各地,不同 App、不同開發商,症狀一模一樣。9 月 29 日,科技媒體 macobserver 發文(公開報導,經 IT之家 轉述),源頭指向 Google 的雲端服務 Firebase:一次突發故障,讓數千款 iOS 應用程式啟動即崩潰。

打開的第一秒,就是結束的一秒

根據報導,這波故障讓部分 App 記錄到的崩潰次數,達到日常平均值的 5000 倍。

5000 倍可以這樣理解:一支平日一天崩潰十次的 App,故障期間的數字直接翻上萬。使用者的體感更簡單,圖示點下去,畫面閃一下,回到桌面,一個回合三秒結束。有人懷疑手機老了、系統該更新了,折騰半天,才發現問題根本不在自己這端。開發者後臺的崩潰報表,則在那幾個小時裡拉出一條近乎垂直的線。

統計圖卡顯示 Firebase 故障期間部分 iOS 應用程式的崩潰次數,達到平日平均值的五千倍

幾千款 App,接著同一條水管

Firebase 是 Google 提供的雲端服務平臺,包辦資料庫、身分驗證、訊息推送、崩潰回報與數據分析,開發者透過軟體開發工具包(SDK)把這些功能接進 App。你按過的免密碼登入、收到的推播通知、活動頁上跳動的即時數字,很多都由這類服務在幕後代勞。

換個比喻,你手機裡那些看起來互不相幹的 App,背後可能接著同一條自來水管。對開發者來說,接上這條管線省下自建伺服器的心力,代價是幾千款 App 從此共用同一個罩門。管線通暢時沒人想起它,管線一爆,大家一起停水。

網路世界的地基,向來長在使用者看不見的地方。資料中心裡有照常下單補貨的磁帶,雲端平臺裡有 Firebase,安靜運轉的時候,沒有人抬眼多看。這類設施被大量看見的那一天,通常是出事的那一天。

最先被懷疑的,是自己的程式碼

報導裡有個細節:故障發生後,許多開發者的第一反應,是自己的程式碼出事了。

這個反應很正常。App 一啟動就崩潰,頭號嫌疑人從來都是自己昨晚上線的更新、自己改過的設定。啟動即崩的另一個麻煩是,程式常常來不及留下完整紀錄,排查起來格外費勁。有人連夜回滾版本,有人逐行檢查,折騰半天,社羣裡的求救文越聚越多,大家才慢慢拼出共同結論:壞掉的東西在 Google 那頭,自己其實沒事。

這種劇情,工程師社羣並不陌生。整棟公寓停電,住戶會先檢查自家總開關,最後在樓梯間相遇,才知道全樓都黑了。開發者論壇就是那個樓梯間,這一天格外熱鬧。個別的慌亂進到論壇,被互相印證成集體的答案,然後才有下一步:等 Google 修。

這種畫面,每隔幾年重播一次

把時間軸往回拉,這類一家出事、全球買單的場面有固定班底。

清單圖卡依年份列出 Facebook SDK 閃退潮、Fastly 斷網、Facebook 全家斷線與 CrowdStrike 藍畫面四場讓大量網站或應用同時失效的事件
每隔幾年,總有一條共用管線爆開

2019 年 5 月,Facebook 的 iOS SDK 出包,Spotify、Pinterest 等一票內嵌它做登入與統計的大牌 App 開了就崩,劇情跟這次如出一轍。2021 年 6 月,CDN 服務商 Fastly 的一個設定錯誤,讓 Reddit、Twitch、紐約時報等大站同時掛出錯誤頁面,前後約一小時。同年 10 月,Facebook、Instagram、WhatsApp 斷線近六小時。2024 年 7 月,資安公司 CrowdStrike 的一支問題更新,把全球大批 Windows 電腦推上藍畫面,機場櫃檯與銀行行員一度回到手寫年代。

每一次,使用者的反應順序都差不多:先怪自己的網路,再怪自己的手機,最後才發現大家都一樣。這些事件反覆驗證同一件事,省事的共用管線,同時也是集中的風險,接的人越多,單點故障的半徑越大。

修好了,快取還讓它多鬧幾小時

Google 隨後修復了問題(官方公告),並在致歉推文中提醒:應用程式可能受快取影響,修復後仍會繼續崩潰,最長 4 小時。

翻成白話,水管修好了,但家家戶戶水龍頭裡的舊水還沒流乾。快取的本意是把常用資料留在本地、加快開啟速度,故障期間它反而成了舊消息的保險箱,讓 App 誤以為世界還沒復原,於是繼續開了就關。這也解釋了「官方宣布修復」和「我的 App 恢復正常」之間,為什麼經常隔著一段誰也快轉不了的時間差。這段期間最徒勞的動作,大概就是不斷移除重灌,因為壞掉的環節,從頭到尾都不在手機裡。

統計圖卡顯示 Google 官方提醒修復後應用程式仍可能因快取持續崩潰,最長四小時

圖示在手上,機器在機房

這場故障留下的日常啟示,是看清智慧型手機的另一面:登入在雲端,推播在雲端,連 App 當機後的自動回報也在雲端。桌面上的圖示只是入口,真正運轉的機器開在機房裡。機房打個噴嚏,入口就集體關門。

現代人手機裡動輒裝上百款 App,容量焦慮早就分成了囤滿截圖與定期清理的兩派,卻很少人追問這些 App 背後共用了哪些服務。這些選擇由開發者代勞,使用者第一次聽見 Firebase 這個名字,往往就是它上新聞的這一天。這也未必是誰的錯,自建水管一樣會爆,只是爆得比較孤單;共用管線的好處,平時是真的省事。

所以留一個問題在這裡:哪天雲端集體安靜下來,你手機裡還有幾款 App,能不靠任何伺服器,獨自打開?