Спустя больше года расследования Mozilla выпустила Firefox 151.0.1, который закрывает массовые вылеты браузера на десктопах с Intel Raptor Lake. Речь про системы на процессорах 13-го и 14-го поколений, где краши связывали с нестабильностью CPU.
Проблема выглядела как «обычный» баг в коде, но в итоге упёрлась в поведение конкретных инструкций Raptor Lake. Для пользователей это выражалось просто: Firefox мог падать на ровном месте, а отчёты о сбоях копились месяцами.
Что именно ломалось в Firefox и почему виноват оказался CPU
Инженеры Mozilla сначала нашли точку падения в zlib-rs. Это рутина сжатия, где при распаковке встречались некорректные значения dist. Дальше цепочка приводила к index out-of-bounds и падению процесса браузера.
Но корень оказался ниже уровня браузера. По данным Mozilla, нестабильность была связана с инструкциями RPL050 и RPL060 в Raptor Lake. В отдельных сценариях ядра CPU могли читать неверные или устаревшие данные. И уже это «подставляло» код, который формально выглядел корректным.
Как это связано с историей деградации Raptor Lake
Старший инженер Mozilla Gabriele Svelto ещё в прошлом году публично связал волну крашей Firefox с нестабильностью Raptor Lake. Он отдельно обращал внимание на корреляцию с жарой и тепловыми волнами, когда системы чаще уходили в ошибки. Его формулировка была жёсткой: «If you have an Intel Raptor Lake system and you’re in the northern hemisphere, chances are that your machine is crashing more often because of the summer heat».
Параллельно развивалась и общая история нестабильности Intel 13/14-gen. Первые сигналы появились в конце 2022 года. В 2023-м тема стала массовой: пользователи жаловались на вылеты игр, нестабильность браузеров и системные сбои на 13-м и 14-м поколениях.
Intel позже признала, что причина связана с физической деградацией при длительном воздействии повышенного напряжения и температуры. Компания выпускала микрокодные патчи 0x125, 0x129, 0x12B и более свежий 0x12F. Эти обновления снижали вероятность условий, которые ускоряют деградацию, но не «лечили» уже повреждённые чипы. Ещё один факт из этой истории: Intel расширила гарантию для затронутых клиентов с трёх до пяти лет.
По словам Svelto, микрокод 0x12C заметно уменьшал число крашей, но после выхода 0x12F проблемы вернулись.
Обновление браузера уже доступно в стабильном канале: список изменений Mozilla опубликовала в release notes Firefox 151.0.1.
Из технических деталей расследования Mozilla отдельно упоминала разбор падений в задаче на Phabricator: D301917.