MacOS: Bug lässt Apples Netzwerk-Stack nach 49,71 Tagen abstürzen

Wer ein aktuelles Apple-Gerät mit MacOS über eine vergleichsweise lange Zeit ohne Neustart betreibt, muss davon ausgehen, dass es nach knapp 50 Tagen seine Netzwerkverbindung verliert. Ein seit Jahrzehnten bekannter Bug macht dann einen Reboot nötig.
Apple, Notebook, Laptop, Notebooks, Laptops, Macbook, Macos, notch, Macbook Air, Apple M2, Ultrabooks, MBA
Unsplash / Taan Huyn

Absturz nach genau 4.294.967.295 Millisekunden

Vor Jahrzehnten hatte Windows ein ähnliches Problem, doch nun ist Apples MacOS an der Reihe. Das eigentlich auf Monitoring-Dienste spezialisierte Unternehmen Photon hat einen Fehler in der Netzwerk-Implementierung des Apple-Betriebssystems entdeckt, der nach genau 49 Tagen, 17 Stunden, zwei Minuten und 47,296 Sekunden zum Absturz des TCP/IP-Stacks führt.

Wie Mitarbeiter von Photon in einem Blog-Eintrag detailliert ausführen, kommt es zu einem Überlauf des Netzwerk-Timers "tcp_now", der die seit dem Start des Systems vergangene Zeit innerhalb des TCP/IP-Stacks auf die Millisekunde genau erfasst. Der höchstmögliche Wert des hier verwendeten unsignierten 32-Bit-Integers beträgt 4.294.967.295, bevor eine Rücksetzung auf Null erfolgt. Umgerechnet entspricht dies 4.294.967 Sekunden bzw. 49,71 Tagen.


Nach Erreichen dieses Werts ist MacOS aktuell nicht in der Lage, Netzwerk-Verbindungen ordnungsgemäß zu beenden, weil der Zeitpunkt für die eigentlich nach 30 Sekunden erfolgende Bereinigung inaktiver Verbindungen nicht mehr korrekt berechnet werden kann. Die Folge ist ein Absturz des TCP/IP-Stacks, weil er sich mit fälschlicherweise offen gehaltenen Ports füllt und dadurch praktisch zum Stillstand kommt.

Die einzige bisher bestehende Lösung für das Problem ist ein vom Nutzer vorzunehmender Neustart des Systems. Die Entwickler von Photon wurden auf das Problem aufmerksam, weil man eine Reihe von Macs verwendet, um den Status des von ihnen entwickelten iMessage-Monitoring-Systems zu überwachen. Zwar liefen die im Dauerbetrieb befindlichen Geräte auch nach 49,71 Tagen noch weiter, sie verloren aber ihre Netzwerkverbindung unwiederbringlich bis zum nächsten Neustart.

Die meisten MacOS-Nutzer dürften das Problem mit dem einfrierenden Netzwerk-Stack nach 49,71 Tagen ohnehin nie selbst wahrnehmen, schließlich erfolgt bei normaler Nutzung immer vor dem Ablauf der Frist ein Neustart, so Photon in seinem Weblog. Das zugrunde liegende Problem ist unterdessen nicht neu, ist es doch auch die Ursache des sogenannten "Y2K38-Bugs" und sorgte schon zu Zeiten von Windows 95, 98 und 98 SE für ein Einfrieren des Systems nach einer Uptime von 49,71 Tagen.

Apple hat auch in der Vergangenheit immer wieder mit Netzwerk-Problemen unter MacOS zu kämpfen gehabt. Der aktuelle Bug erinnert zudem an einen kuriosen Netzwerk-Bug auf iPhones, der das WLAN komplett lahmlegte.

Zusammenfassung
  • MacOS verliert nach exakt 49,71 Tagen Betrieb die Netzwerkverbindung
  • Ein Überlauf des 32-Bit-Timers "tcp_now" verursacht den Absturz
  • Der Timer erreicht nach 4.294.967.295 Millisekunden seinen Maximalwert
  • Inaktive Verbindungen können nach dem Überlauf nicht bereinigt werden
  • Offene Ports füllen den TCP/IP-Stack und legen das Netzwerk komplett lahm
  • Nur ein vollständiger Neustart des Systems behebt das Problem derzeit
  • Windows 95 und 98 hatten vor Jahrzehnten einen ähnlichen Fehler

Siehe auch:
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!