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. Fachexperte (m/w) SAP-Basis
    über Invenimus Personalberatung GmbH, Großraum Leipzig
  2. SRM Senior Consultant (m/w)
    Fresenius Netcare GmbH, Bad Homburg
  3. SAP Modulbetreuer mit dem Schwerpunkt Logistik (m/w) Betriebswirtschaftliche Systeme
    CQLT SaarGummi Deutschland GmbH, Wadern-Büschfeld
  4. ERP-Systembetreuer (m/w)
    LMC Caravan GmbH & Co. KG, Sassenberg

 

Detailsuche


Folgen Sie uns
       


  1. Sailfish-Smartphone

    Jolla stellt "The Other Half" vor

  2. Internet und Krieg

    Wenn Social Networks zum Schützengraben werden

  3. Instant Messenger

    Whatsapp in Deutschland immer beliebter

  4. Milliarden-Deal

    Yahoo kauft Blogging-Plattform Tumblr

  5. Electronic Arts

    Leitender EA-Entwickler bezeichnet Wii U als "Mist"

  6. Apple-Zulieferer

    Wieder drei Suizide bei Foxconn

  7. Cast AR

    Gefeuerte Valve-Entwickler zeigen Räumliche-Objekte-Brille

  8. Ventus

    Mit der Netzgemeinde gegen den Klimawandel

  9. Offline-Karten-App für Android

    Maps With Me Pro gratis in Amazons App-Shop

  10. Linux-Kernel

    P-States verringern Leistungsaufnahme auf Intel-CPUs



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Smartphone mit Moral: Vorverkauf des Fairphones beginnt
Smartphone mit Moral
Vorverkauf des Fairphones beginnt

Die ersten Fairphones können vorbestellt werden. Die Hersteller der ethischen Smartphones wollen bis zum 17. Juni 2013 mindestens 5.000 Stück für jeweils 325 Euro verkaufen. Sie sollen im September 2013 ausgeliefert werden.


XPS 10 und Surface: Deutliche Preissenkungen bei Windows-RT-Tablets
XPS 10 und Surface
Deutliche Preissenkungen bei Windows-RT-Tablets

Zwei Hersteller von Windows-RT-Tablets haben die Preise ihrer Geräte gesenkt, für einige deutlich. Dell senkt die Preise direkt um ein Drittel und Microsoft gibt das ziemlich teure Type oder Touch Cover dazu. Die nächste RT-Generation soll sogar noch billiger werden.

  1. Microsoft Verkauf des Surface Pro startet am 31. Mai
  2. Neue Firmware Update macht das Surface RT lauter
  3. Windows-Tablet Microsoft wird neue Surface-Serie ankündigen

Blackberry Z10 im Langzeittest: Tausche Android gegen Blackberry
Blackberry Z10 im Langzeittest
Tausche Android gegen Blackberry

Mit dem Z10 versucht Blackberry ein Comeback im Smartphone-Markt. Auch Android-Anwendungen lassen sich auf dem Gerät installieren. Golem.de-Autor Tobias Költzsch hat zwei Wochen lang sein Galaxy S3 gegen das Z10 getauscht und im Langzeittest überprüft, wie schwer ein Umstieg ist.

  1. Smartphones Blackberry Q5 im Juli, Blackberry 10.1 wird verteilt
  2. Mobilfunk Fast drei Viertel der Smartphones laufen mit Android
  3. Blackberry-Chef "In fünf Jahren gibt es keine Tablets mehr"

Zum Artikel