Kategorien
Indianer, Kater und andere Serverbewohner

Race Condition mal anders

Klassischerweise wird eine Race Condition ja vor allem in der Programmierung zum Problem (auch wenn ich in der englischen Wikipedia eine deutlich weitere Definition vorgefunden habe), doch ich habe hier ein schönes Beispiel für eine sehr langandauerende, die ich niemand vorenthalten möchte:

  1. Bugmeldung, dass Attachments mit Umlauten nicht mehr korrekt in die Mails gepackt werden
  2. Parallel zum Groupware-Upgrade Fehlersuche, dabei unter anderem an den locales rumdrehen
  3. Irgendwann merken, dass ein Folgebug aus einem Hotfix das Problem verursachte
  4. Tage später kurz vor Weihnachten schmiert der Server ab (Xen mit Windows-Virtualisierung ist einfach nicht produktionsreif – aber egal…)
  5. Wieder etliche Zeit später poppt der Umlaut-Fehler wieder hoch
  6. Verzweiflung, Programmiere verrückt machen, Testcases basteln, im Source wühlen, … -> vollen Programm eben

Was war passiert?

Bei dem parallelen Fehlereingrenzen und Update einspielen wurde der Tomcat gestartet, als locales zeitweise wieder auf UTF-8 stand, anschließend änderte ich dann das System auf ISO-8859-15, was dem Tomcat im Betrieb aber egal ist – er nutzt weiterhin UTF-8 als Charset.

Als dann die Box abschmierte wurde beim Reboot der Tomcat mit ISO-Codierung angestartet, was vom Fehlerbild her identisch zu dem durch den Fix verursachten Bug aussah – und es hat ziemlich lange gedauert, bis ich das Knäuel der gemachten Änderungen entwirrt hatte, vor allem weil sich der ganze Vorgang über insgesamt 20 Tage erstreckte und dazwischen auch mein Urlaub lag.

Memo an mich: Nicht zu sehr parallelisieren, ich bin doch einfach nur Single-Task-fähig…

Von renke

IT-Ratte (oder Systemadministrator), hat nen neues Spielzeug gekriegt und wird die "Genese" des Servers hier bebloggen.

21 ist nur die halbe Wahrheit.