bk99.de entertain the web since 1997

Linux 293.000-mal booten

Zusammenfassung

Richard W. M. Jones findet eine seltene Linux-Bootregression durch automatisierte Wiederholung und statistisches Git-Bisecting.

Ideen

  • Ein Fehler mit Wahrscheinlichkeit 1:1000 verschwindet leicht in gewöhnlichen Tests.
  • Ein paralleles Harness wiederholt Boots und erkennt den charakteristischen Hängepunkt.
  • Jeder vermeintlich gute Bisect-Schritt benötigt tausende erfolgreiche Durchläufe.
  • Flaky Tests machen binäre Suche langsam und statistisch asymmetrisch.
  • Reproduktion vor und nach dem verdächtigen Commit bestätigt die Ursache.

Einsichten

  • Seltene Fehler verlangen Testbudgets, die ihrer Auftretenswahrscheinlichkeit entsprechen.
  • Ein ausbleibender Fehler beweist nur mit wachsender Stichprobe belastbare Stabilität.
  • Automatisierte Auswertung verwandelt Ausdauer in reproduzierbare Ingenieursarbeit.

Fakten

  • Jones bootete Linux 292.612-mal innerhalb von 21 Stunden.
  • Das Testharness nutzte bis zu acht parallele Threads.
  • Eine Regression der printk-Zeitfunktion verursachte den Hänger in Linux 6.4.

Empfehlungen

  • Automatisiere Start, Timeout, Logsammlung und Ergebnisbewertung vollständig.
  • Nutze für seltene Fehler mehrere Wiederholungen pro Git-Bisect-Schritt.

Referenzen

Originalartikel lesen →