Abo
  • Services:
Anzeige
Verschiedene CPUs von Intel hatten ein Bug im Microcode.
Verschiedene CPUs von Intel hatten ein Bug im Microcode. (Bild: Martin Wolf/Golem.de)

CPU-Bug: Wie der Albtraum-Bug in Skylake gefunden wurde

Verschiedene CPUs von Intel hatten ein Bug im Microcode.
Verschiedene CPUs von Intel hatten ein Bug im Microcode. (Bild: Martin Wolf/Golem.de)

Ein Hardware-Bug ist auch nur so etwas wie ein Software-Bug, hat sich das Team gedacht, das den sogenannten Albtraum-Bug in Skylake-CPUs gefunden hat. Am Ende blieben wenige Zeilen Assembler und das Warten auf den Bugfix von Intel.

In einem sehr ausführlichen Blogeintrag beschreibt der Entwickler Joris Giovannangeli, wie der Fehler in dem Microcode für Intels Skylake-CPUs gefunden wurde. Das Debian-Team hatte diesen als Albtraum bezeichnet. Dabei hatte es bei dem Unternehmen Ahrefs viel Hilfe von verschiedenen anderen Entwicklern und vor allem von der Ocaml-Community - und zunächst hatten sie auch eine "verrückte Idee".

Anzeige

Speicherfehler von Hardware ausgelöst

Demnach konnte das Team den Fehler, der beim Kompilieren von Ocaml ausgelöst wurde, zuerst nur sehr schlecht reproduzieren. Nachdem der Fehler aber auch auf den neuen Produktivservern aufgetreten war, musste das Team handeln. Das augenscheinliche Problem ist ein Segfault, also ein Speicherfehler. Allerdings lag der betroffene Speicherbereich außerhalb des Adressbereiches der Anwendung, was auf Fehler im Kernel oder in der Hardware hindeutet.

Da die Verwendung von Werkzeugen wie Asan oder Valgrind, die zum Untersuchen derartiger Fehler genutzt werden, viel Leistung benötigt, zog das Team zum Testen von den Entwickler-Rechnern auf einen Server um, wo es den Fehler nicht hat reproduzieren können. Erst dann stellte das Team fest, dass nur Skylake-Systeme betroffen sind und möglicherweise die Hardware der Verursacher ist.

Entwickler Giovannangeli beschreibt das als "unübliche" Vermutung und wie erwähnt als "verrückte Idee". Gereift sei diese Überlegung wegen des Berichts von einem anderem Ocaml-Entwickler, der einen ähnlichen Fehler beschrieben hat und diesen in Zusammenhang mit dem Hyperthreading des Skylake brachte.

Fehlersuche bis zum Assemblercode

Zu der Zeit gab es aber weder in Intels-Errata-Liste eine Beschreibung, die auf das Problem gepasst hätte, noch ein Microcode-Update, das das Problem löst. Also versuchte das Team weiterhin, den Fehler einzugrenzen. Dafür wurde angenommen, dass der Code, der den Speicherfehler provoziert, derjenige ist, der auch in den entsprechenden Bereich schreibt und liest, in diesem Fall der Garbage Collector.

Diese Information kombiniert mit dem Wissen, dass der Fehler nur bei der Verwendung einer bestimmten Compiler-Optimierung auftritt, ermöglichte letztlich die Suche in dem betroffenen Code, so dass das Team eine spezifische Kombination von Register-Befehlen in Assemblercode als Auslöser ausmachen konnte.

Die Auflistung der Änderungen beim aktuellen Microcode-Update für Intels Skylake-CPUs zählt in einem Fall dann auch die betroffene Registersequenz auf. Nach einem Microcode-Update konnten die beteiligten Ocaml-Entwickler den Bugfix bestätigen. "Schließlich", so schreibt das Team, "fühlten sich unsere Skylake-CPUs sicher und Ocaml-Compiler war glücklich."


eye home zur Startseite
Rubbelbubbel 14. Jul 2017

...der es auch als Flachwitz in das Adventure "Simon the Sorcerer 2" geschafft hat...

Themenstart

Tom01 02. Jul 2017

Das ist ein mieser Programmierstil. Genau das, was Mann nicht machen sollte.

Themenstart

ML82 30. Jun 2017

ohne mitbewerber geht auch das ... nvidia, via, cyrix ... früher wars wenigstens...

Themenstart

Deff-Zero 30. Jun 2017

Bei CPUs werden im Gegensatz zu Wald- und Wiesensoftware schon lange...

Themenstart

Schleicher 30. Jun 2017

Richtig! Jedenfalls wenn du die Version 0x48 hast. Überprüfen kannst du das mit grep -i...

Themenstart

Kommentieren



Anzeige

Stellenmarkt
  1. Fraunhofer-Institut für Angewandte Informationstechnik FIT, Sankt Augustin
  2. Safran Electronics & Defense Germany GmbH, Stuttgart
  3. operational services GmbH & Co. KG, Berlin, Dresden
  4. Dr. August Oetker KG, Bielefeld


Anzeige
Top-Angebote
  1. 8,58€ (ohne Prime bzw. unter 29€ Einkauf + 3€ Versand)
  2. 39,99€ (Vorbesteller-Preisgarantie)
  3. 44,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Android O

    Google veröffentlicht letzte Testversion vor Release

  2. Fruit Fly 2

    Mysteriöse Mac-Malware seit Jahren aktiv

  3. Poets One im Test

    Kleiner Preamp, großer Sound

  4. Chipping

    Firma versieht Mitarbeiter mit Microchips

  5. Elektroautos

    Bayern startet Förderprogramm für Ladesäulen

  6. Elektrorennserie

    Mercedes Benz steigt in die Formel E ein

  7. Ronny Verhelst

    Tele-Columbus-Chef geht nach Hause

  8. Alphabet

    Googles Gewinn geht wegen EU-Strafe zurück

  9. Microsoft

    Nächste Hololens nutzt Deep-Learning-Kerne

  10. Schwerin

    Livestream-Mitschnitt des Stadtrats kostet 250.000 Euro



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Neuer A8 vorgestellt: Audis Staupilot steckt noch im Zulassungsstau
Neuer A8 vorgestellt
Audis Staupilot steckt noch im Zulassungsstau
  1. Autonomes Fahren Continental will beim Kartendienst Here einsteigen
  2. Verbrenner Porsche denkt über Dieselausstieg nach
  3. Autonomes Fahren Audi lässt Kunden selbstfahrenden A7 testen

Anker Powercore+ 26800 PD im Test: Die Powerbank für (fast) alles
Anker Powercore+ 26800 PD im Test
Die Powerbank für (fast) alles
  1. Toshiba Teures Thunderbolt-3-Dock mit VGA-Anschluss
  2. Asus Das Zenbook Flip S ist 10,9 mm flach
  3. Anker Powercore+ 26800 PD Akkupack liefert Strom per Power Delivery über USB Typ C

Matebook X im Test: Huaweis erstes Ultrabook glänzt
Matebook X im Test
Huaweis erstes Ultrabook glänzt
  1. Huawei Neue Rack- und Bladeserver für Azure Stack vorgestellt
  2. Matebook X Huaweis erstes Notebook im Handel erhältlich
  3. Y6 (2017) und Y7 Huawei bringt zwei neue Einsteiger-Smartphones ab 180 Euro

  1. Re: Computermuseen Deutschland

    der_wahre_hannes | 10:39

  2. Re: DSLRs?

    Icestorm | 10:39

  3. Re: einmal und nie wieder

    mathew | 10:39

  4. Re: Oder andersherum: die Compiler sind nicht...

    Voutare | 10:38

  5. Re: Soll das ein Witz sein?!

    smarty79 | 10:38


  1. 10:33

  2. 10:28

  3. 09:15

  4. 08:47

  5. 08:05

  6. 07:29

  7. 23:54

  8. 22:48


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel