Fehlgeschlagene Dekomprimierung von „Oodle“ durch Instabilität von Intel-Prozessoren
(radgametools.com)- Die Hardware-Instabilität von Intel Core Prozessoren der 13. und 14. Generation kann sich in Unreal-Engine-basierten Spielen als fehlgeschlagene Oodle-Data-Dekomprimierung und Abstürze zeigen
- Ein typischer Fehler ist
DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle); das Problem hängt eher mit stark CPU-lastigen Multi-Threading-Aufgaben im Allgemeinen zusammen als mit Oodle selbst - Auch in Adobe Premiere, RealBench, CineBench, Prime95, Handbrake und Visual Studio können Abstürze auftreten, und obwohl die CPU die Ursache ist, kann es wie ein GPU-Fehler wirken – etwa
out of video memory - Intel hat als Ursache bestätigt, dass mehrere Probleme zusammen zu einer schnellen Alterung der internen Taktsignalschaltung des Chips führen; bereits physisch degradierte Komponenten müssen ersetzt werden
- Mit Stand vom 1. Oktober 2024 wurden BIOS-Updates ausgeliefert, die Betriebsbedingungen vermeiden sollen, welche die Schäden verursachen; sie sollten installiert werden, bevor Symptome auftreten
CPU-Instabilität, die sich durch Spielabstürze zeigt
- Ein Hardwareproblem der Intel Core Prozessoren der 13xxx- und 14xxx-Serien der 13. und 14. Generation kann zu allgemeiner Systeminstabilität führen
- In Unreal-Engine-basierten Spielen kann es zu fehlgeschlagener Oodle-Data-Dekomprimierung und Abstürzen kommen
- Typischer Fehler:
DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)
- Typischer Fehler:
- Dieses Phänomen ist nicht auf Oodle beschränkt
- Auch Programme, die den Prozessor über mehrere Threads stark auslasten, können abstürzen oder unvorhersehbares Verhalten zeigen
- Abstürze wurden auch in Adobe Premiere, RealBench, CineBench, Prime95, Handbrake und Visual Studio beobachtet
- Obwohl die CPU die Ursache ist, können Meldungen erscheinen, die wie ein GPU-Problem wirken
- Beispiel: der irreführende Fehler
out of video memory
- Beispiel: der irreführende Fehler
Ursache und erforderliche Maßnahmen
- Intel hat die grundlegende Ursache als schnelle Alterung der internen Taktsignalschaltung des Chips bestätigt
- Durch das Zusammenwirken mehrerer Probleme kommt es zu Schäden an der Schaltung
- Der Schaden ist ein physischer Verschleiß des Chips selbst und kann, sobald er eingetreten ist, nicht rückgängig gemacht werden
- Bereits degradierte Komponenten müssen ersetzt werden
- Das Austauschverfahren ist in dieser Anleitung zusammengefasst
- Mit Stand vom 1. Oktober 2024 wurden neue BIOS-Updates ausgerollt, die Betriebsbedingungen vermeiden, welche die Schaltung beschädigen
- Bei Komplett-Laptops oder Desktop-PCs verteilt der Hersteller bereits BIOS-Updates mit diesem Workaround oder wird sie in Kürze bereitstellen
- Bei selbst zusammengebauten PCs sollte auf der Website des Mainboard-Herstellers nach einem aktualisierten BIOS-Image gesucht werden
- Das BIOS-Update sollte installiert werden, bevor Symptome auftreten
- Sobald die Abstürze begonnen haben, ist es für eine reine Softwarelösung zu spät
1 Kommentare
Hacker-News-Kommentare
Das erinnert mich an einen Vorfall, den ich bei der frühen Einführung des AMD Threadripper 3970X erlebt habe: https://forum.level1techs.com/t/amd-threadripper-3970x-under...
HN-Diskussion: https://news.ycombinator.com/item?id=22382946
Am Ende habe ich das Problem über mehrere Monate zusammen mit AMD untersucht, und AMD hat mich für den Aufwand mit dem Hin- und Herschicken von Mainboard und CPU großzügig entschädigt, aber seitdem nutze ich das System weiterhin mit einem von AMD bereitgestellten Custom-BIOS-Image. Letztlich scheint es ein Gigabyte-Problem gewesen zu sein
Ich habe ein fehlerhaftes 13900K erwischt, und zumindest in meinem Fall kann ich bestätigen, dass die Probleme sogar mit den Standard-PL1/PL2-Einstellungen auftraten
Auf dem System lief Reinforcement Learning, das ständig abstürzte, daher habe ich ziemlich lange nach der Ursache gesucht; nachdem ich die CPU gegen einen 13700KF aus einem anderen PC getauscht hatte, war das Problem gelöst
Als ich bei Intel eine RMA anfragte, hieß es, mein verwendetes MSI-Mainboard unterstütze Linux nicht, und nachdem ich ihnen das offizielle Intel-GitHub-Repository mit dem Mikrocode geschickt hatte, der den Support aktiviert, wurde der zuständige Mitarbeiter ausgetauscht. In dem Moment wirkte es sehr deutlich so, als wolle Intel die RMA um jeden Preis vermeiden, und zum Glück lebe ich in Europa und konnte die RMA über die örtliche Verbraucherschutzstelle durchsetzen
In der Zwischenzeit sah ich online ein Bundle-Angebot für einen 7950X mit Mainboard und kaufte es; das alte Mainboard und das per RMA erhaltene 13900K habe ich gebraucht weiterverkauft. Ich hatte Intel genutzt, weil Intel einige Data-Science-Projekte fördert, aber ich habe nicht vor, jemals wieder Intel zu kaufen
Um Sicherheitsprobleme zu verringern, muss man offenbar Hyper-Threading abschalten, und um Speicherbeschädigungen zu vermeiden, jetzt wohl auch noch den Turbo-Modus
Wenn man dann noch C-States deaktiviert, um Side-Channel-Angriffe zu vermeiden, und die Efficiency Cores abschaltet, um Scheduler-Probleme zu umgehen, landet man irgendwann wieder bei einem Funktionsumfang wie vor 20 Jahren :P
Ich habe kürzlich ein neues System mit einem i9 149KF und einem Asus-Formula-Mainboard gebaut. Ziel war es, Windows in einem VFIO-System laufen zu lassen und auch damit zu spielen
Der Weg zu einem stabil laufenden System war ein Albtraum, und keine einzige Standardeinstellung des Mainboards war korrekt. Spiele stürzten ab, und auch Kernel- und Emacs-Kompilierungen schlugen fehl
Am Ende musste ich den Turbo des 6-GHz-Chips auf 5,4 GHz begrenzen und Einstellungen aktivieren, die die maximale Leistung und die Throttling-Temperatur auf 90 °C begrenzen
Jetzt wirkt es stabil, und ich kann 5,4 GHz dauerhaft ohne Throttling halten und bei 4K mit 120 fps spielen. Es fühlt sich aber unangenehm an, dass sich die beworbenen Werte, für die ich bezahlt habe, unter keiner Einstellung erreichen lassen
Anfangs hielt ich das für absurd, aber laut Intel scheint das bei diesem Chip normal zu sein: „Der Prozessor unterstützt bis zu 100 °C, und niedrigere Temperaturen sind normal und liegen im erwarteten Bereich.“
https://community.intel.com/t5/Processors/i9-14900K-temperat...
Trotzdem ist das wirklich seltsam. Einerseits sollte man selbstverständlich die Leistung bekommen, die beworben und bezahlt wurde, andererseits fühlt es sich wahnsinnig an, eine CPU bei 90–100 °C zu betreiben. Es wirkt, als stünde Intel ziemlich unter Druck. Mich würde interessieren, welche Kühlkonfiguration verwendet wird
Das ist wie früher bei ISPs, die mit „bis zu X Mbps“ geworben haben. Dieser Chip soll ebenfalls per Turbo Boost „bis zu 6,00 GHz“ erreichen
Effektiv ist das automatisches Overclocking, und wie du selbst erlebt hast, schafft es diese Geschwindigkeit manchmal nicht einmal stabil. Manche Chips werden nie mit „bis zu 6,00 GHz“ laufen, aber gelogen ist es nicht. Es heißt ja „bis zu“
Allerdings habe ich die CPU-Auslastung auch nie über 40 % gesehen und ebenfalls keine Benchmark-Software laufen lassen. 90 °C bei 5,4 GHz ist ziemlich anders als das, was ich bei meinem Prozessor sehe, daher würde mich interessieren, welche Kühlung du verwendest. Trotz des höheren Takts habe ich meine CPU vielleicht einfach nie so stark belastet
Das erinnert mich an einen klassischen Beitrag von Raymond Chen: https://devblogs.microsoft.com/oldnewthing/20050412-47/?p=35...
xor eax, eaxfalsch ausgeführt wird, hätte das wohl einige schwer zu debuggende Support-Anfragen reduziertKommt mir sehr bekannt vor. Das erinnert an den alten Pentium III 1.13GHz
https://www.tomshardware.com/reviews/intel-admits-problems-p...
Auch bei Zstd stößt man regelmäßig auf Hardwareprobleme. Oft ist der Dekompressor die erste Komponente, die mit über das Netzwerk eingehenden Daten interagiert
Wie in diesem Fall reagiert der Dekompressor äußerst empfindlich auf Bitflips, unabhängig davon, ob Prüfsummen verwendet werden, und bemerkt Hardwareprobleme daher oft früher als andere Prozesse auf demselben Host
Zstd hat sich entschieden, nur eine Prüfsumme der Originaldaten aufzunehmen, was ausreicht, um die Datenintegrität sicherzustellen. Allerdings lässt sich damit nicht prüfen, ob die komprimierten Daten beschädigt wurden, wodurch sich schwieriger ausschließen lässt, dass die Ursache der Beschädigung im Dekompressor liegt
Diese Seite scheint von keiner anderen öffentlichen Seite verlinkt zu sein, daher wirkt sie wie eine Seite, die erstellt wurde, um auf unerwünschte Beschwerden von Nutzern zu reagieren, die in Fehlerlogs „oodle“ zurückverfolgen wollten. Ähnlich wie damals bei SQLite 2006 [1]
[1] https://news.ycombinator.com/item?id=36302805
https://www.radgametools.com/granny.html
https://www.radgametools.com/iggy.htm
https://www.radgametools.com/milesperf.htm
Überhaupt nicht überraschend
Der Grund, warum ich damals ein ASUS-TUF-Board für einen 4790K gekauft habe, war, dass ich etwas Grundlegendes wollte und mich weder für Overclocking noch für Tuning interessiert habe. Aber das BIOS sah das anders
Um Overclocking überhaupt zu vermeiden, musste ich unzählige Einstellungen manuell setzen, RAM-Timings konfigurieren und jeden einzelnen BIOS-Punkt prüfen, um sicherzugehen, dass nichts auf irgendeine Weise übertaktet wird. Die „optimalen“ Einstellungen aktivierten aggressive Änderungen wie das Anpassen des Bus-Speed-Multiplikators
Ich hatte auf einem Asus-Mainboard etwas Ähnliches. Durch Auto-Tuning wurde das System instabil, der Compiler stürzte ab, und um es normal nutzen zu können, musste ich das BIOS manuell konfigurieren
Ich denke, das Problem wird dadurch verschärft, wie das SuperIO die Lüfter steuert, denn die Abstürze standen mit 100°C-Temperaturspitzen in Verbindung. Das Hochregeln der Lüfter ist viel zu langsam, das Herunterregeln dagegen viel zu schnell
Unter Linux kann man das im Userspace anpassen. Eigentlich müsste aber nicht ein verzögerter Indikator wie die Temperatur den Anstieg steuern, sondern ein vorlaufender Indikator wie der Spannungsregler. Alternativ könnte der Linux-p-state-Controller die Leistungsstufe vorhersagen und eine höhere Lüfterdrehzahl setzen
Die Standard-Lüfterkurve ist weder wirksam noch angenehm, sie schwankt ständig und nervt. Die Temperatur eines einzelnen P-Kerns springt dauernd hoch, und die Lüfter reagieren hektisch
Ich habe gelesen, dass eine längere Anstiegszeit das Lüfterverhalten beruhigt, aber nach den obigen Erfahrungen könnte genau das zu Prozessorfehlern führen