Mozillaが、IntelのRaptor Lake CPU上でFirefoxがクラッシュする問題に対処しました。Tom's Hardwareの記事によると、これは1年以上調査されていた問題で、最新の安定版 Firefox 151.01 で修正されたとのことです。
ここで面白いのは、最初は「Firefox側のバグかな?」と思われていたのに、掘っていくと原因がIntel 13世代/14世代CPUの不安定性に行き着いたことです。
つまり、ブラウザが悪いというより、CPUがときどき変なデータを返してしまうことが引き金になっていた、という話です。
技術用語でいうと、記事中に出てくる zlib-rs は圧縮処理のためのライブラリです。ざっくり言えば、データを小さくしたり戻したりする部品ですね。Firefoxは内部でこうした部品を使っていますが、そこに変な値が入ると、配列の外を読んでしまう(index out-of-bounds)ようなクラッシュにつながります。
この手の不具合、ユーザーから見ると「ただFirefoxが落ちる」だけなので本当に厄介です。再現も難しいし、原因も見えにくい。正直、調査チームはかなりしんどかっただろうなと思います。
記事によれば、Mozillaのエンジニアは最初、圧縮処理の中でdist values(距離を表す値)がおかしいことに注目しました。そこから「データが壊れているっぽい」となり、原因調査が進みます。
ところが最終的には、問題の根っこは IntelのRaptor Lake向け命令 RPL050 と RPL060 に関連していた、とされています。
この命令が原因で、CPUコアが古い、または間違ったデータを読むことがあるらしいのです。
ここがかなり重要です。
普通、ソフトウェアのクラッシュは「アプリが悪い」「メモリが壊れた」「ドライバが怪しい」などと疑われがちですが、今回はCPUの挙動そのものが疑われたわけです。しかもブラウザのような、ふだん安定して動いてほしいソフトでそれが起きる。そりゃ開発者もユーザーも困ります。
Firefoxのクラッシュは、以前からIntelのCPU不安定性と結びつけて報告されていたそうです。
要するに、「Firefoxが勝手に悪さをした」というより、Intelの一部CPU環境で、Firefoxがクラッシュしやすい条件が重なっていたという見方です。
この話、個人的にはかなり象徴的だと思います。
というのも、ブラウザはPCの中でも“軽そうに見えて実は超重要”なソフトだからです。動画視聴、Web会議、開発、買い物、銀行、仕事…ぜんぶブラウザでやる時代に、そこが不安定だと影響が大きい。
ゲームだけ落ちるならまだしも、Firefoxが落ちるのはかなり日常生活へのダメージが大きいですよね。
今回の修正で、Intel Raptor Lake搭載PCを使っているFirefoxユーザーは、少なくともこの特定のクラッシュ問題から解放される可能性が高いです。
もちろん、PC全体の不安定さが完全に消えるという話ではありません。でも、「Firefoxだけ妙に落ちる」みたいな謎のトラブルが減るのはかなり大きいです。

私なら、こういう話を聞いたらまずFirefoxを最新版に上げます。
理由は単純で、こうした問題は再現条件が限られるぶん、アップデートで直るなら直したほうがいいからです。特に13世代・14世代Intel Coreを使っている人は、ブラウザの安定性に恩恵がありそうです。

このニュースが面白いのは、単に「Firefoxのバグ修正」では終わらないところです。
ソフトウェアの問題に見えて、実はハードウェアの挙動が深く絡んでいた。しかも、それを突き止めるのに1年かかっている。これは現代のPCトラブルの難しさをよく表しています。
最近のPCは、OS、ブラウザ、ライブラリ、CPU命令、マイクロコード、ドライバ…と、いろんな層が複雑に絡みます。だから「落ちた」という結果は同じでも、原因はまったく別、ということが珍しくありません。
今回の件は、その典型例ではないかと思います。

