bk99.de entertain the web since 1997

Ein 20 Jahre alter Linux-Kernel-Fehler

Zusammenfassung

Robert O’Callahan beschreibt, wie rr einen jahrzehntealten Kernel-Randfall sichtbar machte und wie reproduzierbare Ausführung die Ursachenanalyse ermöglichte.

Ideen

  • Deterministische Wiederholung verwandelt seltene Fehler in wiederholbare Experimente.
  • Der Fehler blieb wegen einer ungewöhnlichen Ereignisfolge lange verborgen.
  • Kernelhistorie erklärt, wann und warum problematisches Verhalten entstand.
  • Ein kleiner Reproduktionsfall trennt Anwendung, Debugger und Kernel.

Einsichten

  • Debugging-Werkzeuge prüfen ungewollt die Plattform, auf der sie selbst aufbauen.
  • Seltene Zeitfehler werden durch kontrollierte Wiederholung zu normalen Logikfehlern.
  • Langlebiger Code kann unentdeckte Fehler enthalten, obwohl er täglich läuft.

Fakten

  • Der Fehler befand sich ungefähr zwanzig Jahre im Linux-Kernel.
  • rr zeichnet Programmausführung auf und spielt sie deterministisch ab.
  • Die Untersuchung führte zu einem Kernel-Fix.

Empfehlungen

  • Bewahre minimale Reproduktionsfälle zusammen mit Versionsdaten auf.
  • Durchsuche Versionshistorien erst nach Eingrenzung des fehlerhaften Verhaltens.

Referenzen

Originalartikel lesen →