4 Punkte von GN⁺ 2025-09-18 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Bestätigt wurde ein Spielabsturz durch einen Variablen-Overflow in der DOOM-Engine
  • In einer realen Nutzungsumgebung wurde ein Experiment mit 2,5 Jahren DOOM-Dauerbetrieb durchgeführt
  • Da der Variablenwert kontinuierlich anstieg, erreichte er schließlich den Overflow-Punkt, woraufhin das Spiel zum erwarteten Zeitpunkt beendet wurde
  • Das Experiment lief in einer Umgebung für langfristigen automatischen Betrieb mit einem PDA und einer DIY-USV
  • Dieser Test belegt, dass ein theoretisches Problem auch in der Praxis tatsächlich auftreten kann

Hintergrund und Motivation des Experiments

  • Vor etwa zweieinhalb Jahren wurde beim Lesen eines Artikels über Struktur und Funktionsweise der DOOM-Engine festgestellt, dass eine Variable zur Nachverfolgung der Demo-Ausführung bei jedem Start einer Demo weiter erhöht wird
  • Diese Variable wird zwar mit dem vorherigen Wert verglichen, doch durch die wiederholte Erhöhung besteht letztlich ein inhärentes Overflow-Risiko
  • In einer normalen Nutzungsumgebung ist es schwer, diesen Overflow-Punkt zu erreichen, doch es wurde beschlossen, durch ein eigenes Experiment zu prüfen, wie lange es tatsächlich dauert

Methode und Ablauf des Experiments

  • Durch eine einfache Berechnung wurde geschätzt, dass bis zum Auftreten des Overflows etwa 2,5 Jahre Laufzeit erforderlich sind
  • Zur tatsächlichen Überprüfung wurde DOOM auf einem PDA installiert und über eine DIY-USV mit 18650-Akkus mit Strom versorgt
  • Das Gerät wurde an den USB-Port eines Routers angeschlossen, um dauerhaft mit 5 V versorgt zu werden
  • Anschließend wurde das System so eingerichtet, dass es in einer automatischen Ladeumgebung kontinuierlich läuft, und die meiste Zeit sich selbst überlassen

Auftreten des Absturzes und Ergebnis

  • Rund zweieinhalb Jahre nach Beginn des Experiments erschien auf dem Bildschirm des Geräts eine Popup-Benachrichtigung
  • DOOM wechselte wie erwartet in einen Zustand eines harten Absturzes durch Overflow
  • Das Ergebnis des Experiments belegt, dass ein Spielabbruch durch Variablen-Overflow auch auf echter Hardware und in einer realen Softwareumgebung tatsächlich auftreten kann

Fazit und Implikationen

  • Es wird betont, dass in der Programmierung auf Variablen geachtet werden muss, die sich über lange Zeit akkumulieren und weiter ansteigen
  • Experimentell wurde bestätigt, dass ein Overflow-Problem, das nur theoretisch möglich schien, in der Realität tatsächlich ausbrechen kann
  • Es schärft das Bewusstsein für versteckte Fehler in Legacy-Code oder in Software, die über lange Zeit läuft

Noch keine Kommentare.

Noch keine Kommentare.