ChatGPT 因 GNU libunwind 中存在 18 年的漏洞而崩潰
openai 通過在 gnu libunwind 庫中識別出一個 18 年的競爭條件以及 azure 主機上的靜默硬體損壞,修復了 chatgpt 的神祕崩潰問題,從而確保了資料密集型 ai 基礎設施的可靠性。
OpenAI 透過分析整個核心傾倒檔案集(core dumps),而非檢查個別故障,解決了其基於 Rockset 的檢索基礎設施中罕見但關鍵的崩潰問題。調查發現,不穩定性源於兩個同時存在的問題:一個特定的 Azure 主機由於硬體故障而執行數學運算錯誤,以及廣泛使用的 GNU libunwind 程式庫中存在競爭條件(race condition),該競爭條件破壞了堆疊指標暫存器。libunwind 中這個 18 年之久的錯誤(該程式庫負責處理 C++ 異常的堆疊展開)導致指令指標在處理高負載任務時跳躍到不可執行的記憶體地址。通過更新程式庫和停用故障硬體,OpenAI 確保了即時搜尋和索引功能的穩定性,這些功能允許 ChatGPT 存取外部資料。