Abo
  • Services:
Anzeige
Die Zeitsysteme des Linux-Kernels stolperten über die Schaltsekunde.
Die Zeitsysteme des Linux-Kernels stolperten über die Schaltsekunde. (Bild: Andreas Donath/Golem.de)

Schaltsekunde: Zeitgeber des Linux-Kernels verursachen Serverausfälle

Die Zeitsysteme des Linux-Kernels stolperten über die Schaltsekunde.
Die Zeitsysteme des Linux-Kernels stolperten über die Schaltsekunde. (Bild: Andreas Donath/Golem.de)

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.

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.

Anzeige

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.


eye home zur Startseite
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.



Anzeige

Stellenmarkt
  1. Bosch Engineering GmbH, Abstatt
  2. FANUC Deutschland GmbH, Neuhausen auf den Fildern
  3. BVG Berliner Verkehrsbetriebe, Berlin
  4. Lecos GmbH, Leipzig


Anzeige
Blu-ray-Angebote
  1. 24,99€ (Vorbesteller-Preisgarantie)
  2. 61,99€
  3. (Blu-rays, 4K UHDs, Box-Sets und Steelbooks im Angebot)

Folgen Sie uns
       


  1. Die Woche im Video

    Das muss doch einfach schneller gehen!

  2. Breko

    Waipu TV gibt es jetzt für alle Netzbetreiber

  3. Magento

    Kreditkartendaten von bis zu 40.000 Oneplus-Käufern kopiert

  4. Games

    US-Spielemarkt wächst 2017 zweistellig

  5. Boeing und SpaceX

    ISS bald ohne US-Astronauten?

  6. E-Mail-Konto

    90 Prozent der Gmail-Nutzer nutzen keinen zweiten Faktor

  7. USK

    Nintendo Labo landet fast im Altpapier

  8. ARM-SoC-Hersteller

    Qualcomm darf NXP übernehmen

  9. Windows-API-Nachbau

    Wine 3.0 bringt Direct3D 11 und eine Android-App

  10. Echtzeit-Strategie

    Definitive Edition von Age of Empires hat neuen Termin



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Matthias Maurer: Ein Astronaut taucht unter
Matthias Maurer
Ein Astronaut taucht unter
  1. Planetologie Forscher finden große Eisvorkommen auf dem Mars
  2. SpaceX Geheimer Satellit der US-Regierung ist startklar
  3. Raumfahrt 2017 Wie SpaceX die Branche in Aufruhr versetzt

Nachbarschaftsnetzwerke: Nebenan statt mittendrin
Nachbarschaftsnetzwerke
Nebenan statt mittendrin
  1. Facebook Messenger Bug lässt iPhone-Nutzer nur wenige Wörter tippen
  2. Nextdoor Das soziale Netzwerk für den Blockwart
  3. Hasskommentare Neuer Eco-Chef Süme will nicht mit AfD reden

Sgnl im Hands on: Sieht blöd aus, funktioniert aber
Sgnl im Hands on
Sieht blöd aus, funktioniert aber
  1. NGSFF alias M.3 Adata zeigt seine erste SSD mit breiterer Platine
  2. Displaytechnik Samsung soll faltbares Smartphone auf CES gezeigt haben
  3. Vuzix Blade im Hands on Neue Datenbrille mit einem scharfen und hellen Bild

  1. Re: Muss der Mann immer lächerlich dargestellt...

    das_mav | 10:35

  2. Re: Überall sieht man das Potenzial, nur in DE nicht

    Squirrelchen | 10:35

  3. Re: "Das Eigenlob Trumps ließ nicht lange auf...

    das_mav | 10:34

  4. bewusste Irreführung vom Autor?

    trolling3r | 10:27

  5. Re: DOW Jones +30% in nur einem Jahr

    ArcherV | 10:25


  1. 09:02

  2. 18:53

  3. 17:28

  4. 16:59

  5. 16:21

  6. 16:02

  7. 15:29

  8. 14:47


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel