Schaltsekunde Zeitgeber des Linux-Kernels verursachen Serverausfälle

Fehlende Kommunikation zwischen der Systemzeit des Linux-Kernels und dem High-Resolution-Timer ist schuld daran, dass die Schaltsekunde zahlreiche Server aus dem Tritt brachte.

Anzeige

Die zusätzliche Schaltsekunde am 1. Juli 2012 hatte zum Ausfall zahlreicher Linux-Server geführt. In einer ersten Analyse hat Kernel-Entwickler Jonathan Corbet die beiden Zeit-Subsysteme als Fehlerquelle ausgemacht, die der Linux-Kernel bereitstellt. Die vom Kernel benutzte Systemzeit hat dem seit Kernel 2.6.16 eingeführten High-Resolution-Timer (Hrtimer) die Schaltsekunde nicht korrekt mitgeteilt.

Der Hrtimer verwendet intern eigene Zeitgeber, die unterschiedliche Zeitabstände zur Systemzeit haben. Die Realtime-Uhr in Hrtimer passt sich beispielsweise an die Systemzeit an, während die Monotonic-Uhr nicht gestellt werden kann, sie läuft immer nur vorwärts. Die Realtime-Zeitgeber sind von der jeweiligen CPU abhängig, denn diese können auch auf einem einzigen System unterschiedlich laufen. Der Hrtimer rechnet die von ihm ausgelesene Systemzeit in die entsprechenden Werte um, die von der Realtime-Uhr eines Prozessors genutzt werden können.

Fehlende Kommunikation zwischen Systemuhren

In der Kommunikation mit dem Hrtimer nutzte der Kernel nach seiner eigenen Anpassung der Systemzeit an die Schaltsekunde die abschließende Funktion clock_was_set() nicht. Das Resultat: Der Hrtimer lief eine Sekunde vor.

Für die meisten Anwendungen war das kein Problem, schreibt Corbet. In einigen Anwendungen laufen entsprechende Zeitschalter aber in weniger als einer Sekunde ab. Da die Timer nach einem Neustart wieder über die zusätzliche Sekunde stolperten, versetzen sie die jeweilige Anwendung in eine Endlosschleife, wie es mehrfach geschehen ist.

Der Befehl date; date `date +"%m%d%H%M%C%y.%S"`; date; behob das Problem meist ohne Server-Neustart. Einem weiteren Kommentar zufolge reicht der Befehl date -s "`date`".

Patch für Zeitangaben

Der Patch, den Kernel-Hacker John Stultz inzwischen eingereicht hat, reimplementiert die Funktion clock_was_set() in dem Schaltsekundencode, der sich bereits im Kernel befindet. Die Funktion wurde 2007 entfernt, da sie als vernachlässigbar galt. Allerdings muss die Funktion für jede CPU ausgeführt werden, was die Entwicklung des Patches etwas erschwerte.

Wann die nächste Schaltsekunde eingefügt wird, lässt sich nur schwer voraussagen, denn die Erdrotation nimmt nicht stetig ab. Corbet plädiert jedoch dafür, dass Entwickler und Distributoren ein solches Szenario testweise durchführen, um künftig Probleme zu vermeiden.

Seit der ersten Anpassung 1972 wurden insgesamt 35 Sekunden hinzugefügt.


muh3 05. Jul 2012

also erstmal nen Fisch: leider kommt das im Artikel raus, aber der Fehler wurde...

neocron 04. Jul 2012

das hat er doch gar nicht behauptet?

_4ubi_ 04. Jul 2012

Entweder hast du dich verlesen oder das wurde nachträglich geändert.

Kommentieren



Anzeige

  1. IT-Programmmanager/-in für komplexe Softwareeinführungsprojekte
    Dataport, Hamburg
  2. Senior System Architect (m/w)
    PAYBACK GmbH, Munich
  3. Entwickler (m/w) SAP WM / LES (Warehouse Management)
    PAUL HARTMANN AG, Heidenheim
  4. Entwicklungsingenieur (m/w) Systemarchitektur / Systems Engineering
    Diehl BGT Defence GmbH & Co. KG, Überlingen am Bodensee

 

Detailsuche


Folgen Sie uns
       


  1. AMD-Vize Lisa Su

    Geringe Chancen für 20-Nanometer-GPUs von AMD für 2014

  2. Bärbel Höhn

    Smartphone-Hersteller zu Diebstahl-Sperre zwingen

  3. Taxi-App

    Uber will trotz Verbot in weitere deutsche Städte

  4. First-Person-Walker

    Wie viel Gameplay braucht ein Spiel?

  5. Finanzierungsrunde

    Startup Airbnb ist zehn Milliarden US-Dollar wert

  6. Spähaffäre

    Snowden erklärt seine Frage an Putin

  7. CSA-Verträge

    Microsoft senkt Preise für Support von Windows XP

  8. Test Wyse Cloud Connect

    Dells mobiles Büro

  9. Globalfoundries-Kooperation mit Samsung

    AMDs Konsolengeschäft kompensiert schwache CPU-Sparte

  10. Verband

    "Uber-Verbot ruiniert Ruf der Startup-Stadt Berlin"



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
IMHO - Heartbleed und die Folgen: TLS entrümpeln
IMHO - Heartbleed und die Folgen
TLS entrümpeln

Die Spezifikation der TLS-Verschlüsselung ist ein Gemischtwarenladen aus exotischen Algorithmen und nie benötigten Erweiterungen. Es ist Zeit für eine große Entrümpelungsaktion.

  1. Revocation Zurückziehen von Zertifikaten bringt wenig
  2. TLS-Bibliotheken Fehler finden mit fehlerhaften Zertifikaten
  3. Verschlüsselung E-Mail nur noch mit TLS

Owncloud: Dropbox-Alternative fürs Heimnetzwerk
Owncloud
Dropbox-Alternative fürs Heimnetzwerk

Kaputte Zertifikate durch Heartbleed und der NSA-Skandal: Es gibt genügend Gründe, seinen eigenen Cloud-Speicher einzurichten. Wir erklären mit Owncloud auf einem Raspberry Pi, wie das funktioniert.


Test LG L40: Android 4.4.2 macht müde Smartphones munter
Test LG L40
Android 4.4.2 macht müde Smartphones munter

Mit dem L40 präsentiert LG eines der ersten Smartphones mit der aktuellen Android-Version 4.4.2, das unter 100 Euro kostet. Dank der Optimierungen von Kitkat überrascht die Leistung des kleinen Gerätes - und es dürfte nicht nur für Einsteiger interessant sein.

  1. LG G3 5,5-Zoll-Smartphone mit 1440p-Display und Kitkat
  2. LG L35 Smartphone mit Android 4.4 für 80 Euro
  3. Programmierbare LED-Lampe LG kündigt Alternative zur Philips Hue an

    •  / 
    Zum Artikel