문제가 발생한 시스템에서는 dist라는 16비트 값이 손상되면서 잘못된 인덱스가 생성됐고, 그 결과 **배열 범위를 벗어나는 접근(out‑of‑bounds)**이 발생해 브라우저가 종료됐다.
엔지니어들은 이 데이터 손상이 인텔이 문서화한 Raptor Lake 관련 하드웨어 오류와 일치한다고 설명했다. 예를 들어 다음과 같은 상황이다.
이처럼 CPU 내부에서 잘못된 값이 생성되면, Firefox는 그 값이 전달된 지점에서 충돌하게 된다.
Firefox 151.0.1 업데이트는 문제가 발생하던 코드 경로를 더 안전하게 처리하도록 변경했다. 그 결과 손상된 값이 들어오더라도 동일한 충돌이 발생하지 않도록 방어 로직이 추가됐다.
이 업데이트는 **소프트웨어 차원의 완화(mitigation)**다. 즉:
Mozilla는 또한 **인텔의 최신 마이크로코드(예: 0x12C)**가 적용된 시스템에서는 이미 크래시 빈도가 크게 줄어든 것을 확인했다고 밝혔다. 이는 펌웨어 업데이트가 문제 발생 조건을 줄였다는 의미다.
Raptor Lake 안정성 논란의 중심에는 Vmin Shift Instability라는 현상이 있다.
이 용어는 CPU가 안정적으로 작동하기 위해 필요한 **최소 동작 전압(Vmin)**이 시간이 지나면서 점점 높아지는 현상을 뜻한다. 원인은 프로세서 IA 코어 내부의 클록 트리(clock tree) 회로가 높은 전압과 온도에서 점차 열화되는 것과 관련이 있다.
이 회로가 노화되면 타이밍 여유가 줄어들고 다음과 같은 문제가 나타날 수 있다.
특히 초기에는 문제가 없더라도 장기간 높은 전압이나 온도 환경에서 사용한 뒤 문제가 나타나는 경우가 있다.
높은 온도와 지속적인 CPU 부하는 Vmin Shift 현상을 더 빠르게 진행시킨다. CPU가 전압과 온도 한계에 가까운 상태에서 오래 동작할수록 타이밍 오류가 발생할 확률이 높아진다.
Mozilla는 Firefox 크래시 보고 데이터를 분석하면서 여름 폭염 기간에 특정 지역에서 크래시 보고가 급증하는 현상도 확인했다. 이는 주변 온도가 높아지면서 이미 한계에 가까운 CPU가 불안정 상태에 들어갔을 가능성을 시사한다.
결국 많은 경우 Firefox 크래시는 CPU 하드웨어 불안정성이 겉으로 드러난 증상이었다.
인텔은 이 문제를 완화하기 위해 여러 대응을 진행했다.
마이크로코드 업데이트
인텔은 0x129, 0x12B, 이후 0x12F 등 여러 마이크로코드 업데이트를 배포했다. 이 업데이트는 전압 관리 방식을 조정해 Vmin Shift가 발생하기 쉬운 조건을 줄이도록 설계됐다. 대부분은 메인보드 BIOS 업데이트를 통해 적용된다.
다만 이러한 조치는 추가 열화를 방지하거나 발생 확률을 낮추는 것이지 이미 손상된 실리콘을 복구하는 것은 아니다.
13세대 또는 14세대 인텔 Core 데스크톱 CPU를 사용하는 시스템에서 브라우저 크래시나 불안정이 있었다면 다음 조치를 권장한다.
이번 사례는 브라우저 버그처럼 보이던 문제가 실제로는 CPU 하드웨어 이슈와 연결된 드문 사례였다. Firefox 151.0.1은 충돌을 크게 줄였지만, 근본 원인 중 일부는 Raptor Lake CPU의 안정성 문제와 관련되어 있다.
대부분의 사용자에게는 Firefox 최신 버전 업데이트 + 최신 BIOS 적용만으로도 크래시 빈도가 크게 줄어들 가능성이 높다. 다만 CPU가 이미 심하게 열화된 경우라면 최종 해결책은 프로세서 교체일 수 있다.
Comments
0 comments