1P by GN⁺ | ★ favorite | 댓글 1개
  • 13세대·14세대 Intel Core 프로세서의 하드웨어 불안정이 Unreal Engine 기반 게임에서 Oodle Data 압축 해제 실패와 크래시로 드러날 수 있음
  • 대표 오류는 DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)이며, 문제는 Oodle 자체보다 CPU를 강하게 쓰는 다중 스레드 작업 전반과 관련됨
  • Adobe Premiere, RealBench, CineBench, Prime95, Handbrake, Visual Studio 등에서도 크래시가 나타날 수 있고, CPU 원인인데도 out of video memory 같은 GPU 오류처럼 보일 수 있음
  • Intel은 여러 문제가 겹쳐 칩 내부 클록 신호 회로가 빠르게 노화되는 것을 원인으로 확인했으며, 이미 물리적으로 열화된 부품은 교체해야 함
  • 2024년 10월 1일 기준 손상을 유발하는 동작 조건을 피하는 BIOS 업데이트가 배포되기 시작했으므로, 증상이 나타나기 전에 설치해야 함

게임 크래시로 드러나는 CPU 불안정

  • 13xxx·14xxx 시리즈 13세대 및 14세대 Intel Core 프로세서의 하드웨어 문제가 일반적인 시스템 불안정으로 이어질 수 있음
  • Unreal Engine 기반 게임에서는 Oodle Data 압축 해제 실패와 크래시가 발생할 수 있음
    • 대표 오류: DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)
  • 이 현상은 Oodle에만 국한되지 않음
    • 프로세서를 여러 스레드에서 강하게 사용하는 프로그램도 크래시나 예측 불가능한 동작을 보일 수 있음
    • Adobe Premiere, RealBench, CineBench, Prime95, Handbrake, Visual Studio 등에서도 크래시가 관찰됨
  • CPU가 원인인데도 GPU 문제처럼 보이는 메시지가 나올 수 있음
    • 예: 잘못된 out of video memory 오류

원인과 필요한 조치

  • Intel은 근본 원인을 칩 내부 클록 신호 회로의 빠른 노화로 확인함
    • 여러 문제가 겹치면서 회로 손상이 발생함
    • 손상은 칩 자체의 물리적 마모이며, 한 번 진행되면 되돌릴 수 없음
  • 이미 열화가 발생한 부품은 교체가 필요함
  • 2024년 10월 1일 기준, 회로 손상을 일으키는 동작 조건을 피하는 새 BIOS 업데이트가 배포되기 시작함
    • 완제품 노트북이나 데스크톱 PC는 제조사가 해당 우회책을 포함한 BIOS 업데이트를 배포 중이거나 곧 배포할 예정임
    • 직접 조립한 PC는 메인보드 제조사 웹사이트에서 업데이트된 BIOS 이미지를 확인해야 함
  • 증상이 나타나기 전에 BIOS 업데이트를 설치해야 함
    • 크래시가 시작된 뒤에는 소프트웨어로 해결하기에는 늦음

댓글과 토론

Hacker News 의견들
  • AMD Threadripper 3970X를 초기 도입했을 때 겪었던 사건이 떠오름: https://forum.level1techs.com/t/amd-threadripper-3970x-under...
    HN 논의: https://news.ycombinator.com/item?id=22382946
    결국 몇 달 동안 AMD와 함께 문제를 조사했고, 메인보드와 CPU를 주고받는 번거로움에 대해 AMD가 넉넉히 보상해 줬지만, 그 뒤로는 AMD가 제공한 커스텀 BIOS 이미지로 계속 사용 중임. 최종적으로는 Gigabyte 쪽 문제였던 것 같음

  • 결함 있는 13900K를 받았고, 적어도 내 경우에는 기본 PL1/PL2 설정에서도 문제가 나타났다고 확인할 수 있음
    그 시스템에서 강화학습을 돌리는데 계속 충돌해서 꽤 오래 원인을 찾았고, 다른 PC에서 쓰던 13700KF로 CPU를 바꾸니 문제가 해결됨
    Intel에 RMA를 요청했더니 사용 중인 MSI 메인보드가 Linux를 지원하지 않는다고 했고, 지원을 활성화하는 마이크로코드가 있는 Intel 공식 GitHub 저장소를 보내자 담당자가 바뀌었음. 그 순간 Intel이 RMA를 최대한 피하려 한다는 게 분명해 보였고, 다행히 유럽에 살아서 지역 소비자 보호기관을 통해 RMA를 진행함
    그 사이 온라인 판매처에서 7950X와 메인보드 묶음 할인을 보고 구매했고, 기존 메인보드와 RMA로 받은 13900K는 중고로 팔았음. Intel이 일부 데이터 과학 프로젝트를 후원해서 Intel을 쓰고 있었지만, 다시는 Intel을 사지 않을 생각임

    • 7700K도 구매 이후 계속 불안정했고, 16개월간 BIOS 업데이트를 해도 해결되지 않았음. 최신 세대 프로세서가 예전의 단순한 설계보다 더 많은 문제를 겪는 것일 수도 있음
  • 보안 문제를 줄이려면 하이퍼스레딩을 끄고, 이제 메모리 손상 문제를 줄이려면 터보 모드도 꺼야 하는 듯함
    부채널 공격을 피하려고 C 상태도 끄고, 스케줄러 문제를 피하려고 효율 코어도 끄다 보면 어느 순간 20년 전 기능 구성으로 돌아가게 됨 :P

    • 여러 메인보드 제조사의 펌웨어 차이에서 문제가 생기는 것 같음. Ryzen 7950X가 달린 메인보드를 쓰는데 무작위로 부팅이 안 됐고, 배터리를 빼서 완전히 초기화해야 다시 동작했음. 결국 펌웨어 업데이트가 그 버그를 고쳐줌
    • 그냥 오버클럭을 끄면 됨
    • 그때는 검증이 덜 된 기능을 욱여넣고 의심스러운 절충으로 최첨단 수치를 맞추려 하기보다, 신뢰할 수 있는 하드웨어를 만드는 법을 알고 있었음
    • 솔직히 Coppermine이나 Tualatin에서 멈추고 소프트웨어 개선에만 집중했다면 세상이 더 나았을지도 모름
    • 좋고, 빠르고, 싸다. 셋 중 둘만 고르면 됨
  • 최근 i9 149KF와 Asus Formula 메인보드로 새 시스템을 만들었음. VFIO 시스템으로 Windows를 돌리고 게임도 하려는 목적이었음
    안정적으로 동작하게 만드는 과정이 악몽이었고, 메인보드 기본 설정은 하나도 제대로 맞지 않았음. 게임은 충돌했고, 커널과 Emacs 컴파일도 실패함
    결국 6GHz 칩의 터보를 5.4GHz로 제한하고, 최대 전력과 스로틀링 온도를 90°C로 제한하는 설정을 켜야 했음
    지금은 안정적으로 보이고, 스로틀링 없이 5.4GHz를 지속하면서 4K 해상도 120fps로 게임을 즐기고 있음. 다만 돈을 내고 산 광고 수치대로는 어떤 설정에서도 돌릴 수 없다는 점이 찜찜함

    • 스로틀링 온도를 90°C로 제한했다는 건, 그 전에는 90°C를 넘고 있었다는 뜻인가?
      처음엔 말도 안 된다고 생각했지만, Intel에 따르면 이 칩에서는 정상인 듯함: “프로세서는 최대 100°C를 지원하며, 그보다 낮은 온도는 정상이고 예상된 범위입니다”
      https://community.intel.com/t5/Processors/i9-14900K-temperat...
      그래도 정말 이상함. 한편으로는 광고하고 결제한 성능을 당연히 받아야 하지만, 다른 한편으로 CPU를 90~100°C에서 운용하는 건 미친 짓처럼 느껴짐. Intel이 상당히 몰린 상태라는 느낌이 듦. 어떤 냉각 구성을 쓰는지 궁금함
    • 터보 부스트 마케팅이 마음에 들지 않음
      예전에 ISP가 “최대 X Mbps”라고 팔던 방식과 같음. 이 칩도 “최대 6.00GHz”까지 터보 부스트한다고 말함
      사실상 자동 오버클럭이고, 직접 겪었듯이 때로는 안정적으로 그 속도를 내지도 못함. 어떤 칩은 절대 “최대 6.00GHz”로 동작하지 않겠지만, 거짓말은 아님. “최대”니까
    • 최근 ASUS TUF 메인보드와 NZXT Kraken 360 쿨러에 14900KF로 시스템을 만들었는데, 아직은 기본 BIOS 설정에서 문제가 없었음. 기본은 5.7GHz였고, 온도도 70°C를 넘는 걸 보지 못함
      다만 CPU 부하가 40%를 넘는 것도 보지 못했고, 벤치마크 소프트웨어도 돌려보지 않았음. 5.4GHz에서 90°C라는 건 내 프로세서에서 보는 것과 크게 달라서 어떤 냉각 장치를 쓰는지 궁금함. 더 높은 클럭이어도 내가 CPU를 그만큼 세게 밀어붙이지 않았을 수도 있음
    • 전부 깨끗이 닦고 새 서멀 페이스트로 쿨러를 다시 장착해 봤는지 궁금함. 페이스트를 잘못 발라 기포가 생겼을 때 비슷한 동작을 본 적이 있음. 코어별 온도 표시가 크게 다르게 나오나?
    • 클럭 주파수 10% 차이가 안정성을 갈라버린다는 건 무섭게 느껴짐. 실제 여유분이 얼마나 남아 있는 걸까?
  • Raymond Chen의 고전 글이 떠오름: https://devblogs.microsoft.com/oldnewthing/20050412-47/?p=35...

    • 왜 시스템 충돌 분석기에 CPU가 이상 동작한다고 사용자에게 알려주는 구성요소를 넣지 않았는지 궁금함. 예를 들어 xor eax, eax 같은 기본 명령도 틀린다고 알려주면 디버깅하기 어려운 지원 요청을 줄일 수 있었을 텐데
  • 이 상황이 익숙함. 옛날 Pentium III 1.13GHz가 떠오름
    https://www.tomshardware.com/reviews/intel-admits-problems-p...

    • 본래 주제와는 별개로, Tom’s Hardware가 24년 전 웹 게시물을 완벽하게 제공하고 있다는 점은 칭찬할 만함
  • Zstd에서도 하드웨어 문제를 정기적으로 마주침. 종종 압축 해제기가 네트워크로 들어온 데이터와 처음 상호작용하는 구성요소가 됨
    이번 경우처럼 압축 해제기는 체크섬 사용 여부와 관계없이 비트 뒤집힘에 매우 민감해서, 같은 호스트에서 돌아가는 다른 프로세스보다 하드웨어 문제를 더 먼저 알아차리는 경우가 많음
    Zstd는 원본 데이터의 체크섬만 포함하기로 결정했는데, 이는 데이터 무결성을 보장하기에는 충분함. 하지만 압축된 데이터가 손상됐는지 확인할 수 없어서, 손상의 원인이 압축 해제기인지 배제하기는 더 어려워짐

    • 압축 데이터는 백업과 같음. 검증해 보기 전까지는 유효하지 않음
  • 이 페이지는 다른 공개 페이지에서 링크된 것 같지 않아서, 오류 로그의 “oodle”을 추적하려던 사용자들의 원치 않는 불만에 대응하려고 만든 페이지처럼 보임. 2006년 SQLite 때와 비슷함 [1]
    [1] https://news.ycombinator.com/item?id=36302805

  • 전혀 놀랍지 않음
    예전에 4790K용 ASUS TUF 보드를 산 이유는 기본적인 것을 원했고 오버클럭이나 조정에는 관심이 없었기 때문임. 그런데 BIOS 생각은 달랐음
    오버클럭을 피하려고만 해도 수많은 설정을 수동으로 잡아야 했고, RAM 타이밍을 설정하고 BIOS의 각 항목을 확인해 어떤 식으로든 오버클럭하지 않는지 살펴야 했음. “optimal” 설정은 버스 속도 배수 조정 같은 공격적인 변경을 켜버렸음

    • 다른 사람들이 말하듯, 그 “충분히 기본적인” CPU는 사실 오버클럭 시장을 정면으로 겨냥한 제품이고, 올린 메인보드도 아마 그럴 가능성이 큼. 전혀 기본 구성이 아니라 고급 조정용 시스템임. 단지 10년 된 조정용 시스템일 뿐임
    • 오버클럭과 조정에 관심이 없는데 K 프로세서를 사는 사람은 드묾. 게이밍 메인보드 BIOS가 “optimal” 기본값을 그런 전제로 잡는다고 해도 놀랍지 않음. 게이밍 시장은 벤치마크 중심이니까
  • Asus 메인보드에서 비슷한 일을 겪었음. 자동 튜닝 때문에 불안정해져 컴파일러가 충돌했고, 정상적으로 쓰려면 BIOS를 수동으로 설정해야 했음
    문제는 SuperIO가 쿨러를 제어하는 방식 때문에 더 심해진다고 봄. 충돌이 100°C 온도 급등과 연결돼 있었기 때문임. 팬을 올리는 속도는 너무 느리고, 내리는 속도는 너무 빠름
    Linux에서는 사용자 공간에서 이를 조정할 수 있음. 하지만 실제로는 온도 같은 지연 지표가 아니라 전압 조정기 같은 선행 지표가 상승 구간을 제어해야 함. 아니면 Linux p-state 제어기가 전력 수준을 예측해 더 높은 팬 속도를 설정할 수도 있음

    • 지금 바로 이 문제를 겪는 중임. 구성은 Asus ROG Z790, 14900K, Noctua NH-D15
      기본 팬 곡선은 효과도 없고, 계속 흔들려서 짜증남. 단일 P 코어 온도가 계속 튀면서 팬이 산만하게 반응함
      상승 시간을 늘리면 팬 동작이 부드러워진다고 읽었지만, 위 경험을 보면 그게 프로세서 실패를 일으킬 수도 있겠음