Was passiert, wenn man eine Fehlermeldung schickt


Thomas Wölfer
Thomas Wölfer

06. Juni 2013


Wenn die Baustatik in einen unerwarteten Zustand kommt – sprich: Wenn sie “abstürzt” – dann zeigt das Programm folgendes Meldungsfenster an:

Hier kann man nun 2 Dinge tun: Entweder, man drückt auf “Abbrechen”, oder, man drückt auf “Fehlermeldung versenden”. Wenn man auf “Abbrechen” drückt, dann passiert rein gar nichts. Das ist zu erwarten – was aber passiert, wenn man auf “Fehlermeldung versenden” klickt?

Eine ganze Menge… und zwar das hier:

Das Programm überträgt dann Informationen über den Kontext des Fehlers an unseren Webserver. Das passiert nicht per Email, sondern mit einem Webservice.

Zu diesen Kontextinformationen gehört zum Beispiel die Stelle im Programm, an der der Fehler aufgetreten ist, das zuletzt ausgeführte Kommando und ähnliches. Außerdem gehören die Kontaktdaten dazu: Die kann man jederzeit über “Hilfe –> Kontaktdaten bearbeiten” ändern, oder einfach im Meldungsfenster eintippen: Wenn Sie keine Kontaktdaten angeben, dann hören Sie auch nichts weiter von uns – das ist aber eher ungeschickt: Geben Sie daher besser welche an. Und wenn Sie welche angeben: Dann wäre es gut, wenn da mindestens ein Name und eine EMail-Adresse stehen würden. Nur den Namen anzugeben bringt auch nicht viel: Wir können schlecht alle Kunden mit dem Namen “Müller” anrufen, um herauszufinden, ob es sich um den Sender der Fehlermeldung handelt . Darum: Name und EMail-Adresse sind am besten, eine zusätzliche Telefonnummer schadet sicher auch nicht.

Diese Kontextinformationen werden also an unseren Webserver übertragen. Allerdings nicht an den normalen den Sie alle kennen – “www.die.de” – sondern an einen alternativen Server, der an einem unserer Standorte steht: “muenchen.die.de”. (Der “normale” Webserver steht wegen der besseren Anbindung in einem Rechenzentrum.)

Auf diesem Rechner werden die Daten dann entgegengenommen, und in eine Datenbanktabelle gesteckt. Um genau zu sein: In mehrere Tabellen. Dabei passiert folgendes: Zunächst ermitteln wir für den Fehler eine eindeutige ID – das ist mit Teilen der Kontextinformationen relativ einfach machbar. Dadurch ist ein Fehler eindeutig identifizierbar – und für alle eindeutigen Fehler gibt es eine separaten Datenbanktabelle. In einer weiteren werden einfach alle Fehlermeldungen hintereinander abgelegt.

Zusätzlich zum Eintrag in der Datenbank verschickt der Server noch eine EMail an einige unserer Entwickler: auch diese EMail enthält (Teile der) Kontextinformationen – so zum Beispiel die Kontaktdaten, so es welche gibt.

Wenn der Fehler bereits bekannt ist – wenn er also in der Vergangenheit schon einmal aufgetreten ist – dann kann er einen von 3 möglichen Zuständen haben: Entweder, er ist bereits behoben und in tritt in der aktuellen Version der Baustatik nicht mehr auf, oder aber, er ist zwar bereits behoben und wird ab dem nächsten Update nicht mehr auftreten – oder, der dritte Fall, bisher wurde wegen diesem Fehler auf unserer Seite noch nichts getan. (Das ist aber eher selten und tritt eigentlich nur bei “neuen” Fehlern auf.)

Beim übertragen der Daten an unseren Webserver wird der Zustand des Fehlers ermittelt, und danach in einem Fenster der Baustatik angezeigt.

Die Entwickler haben nun außerdem eine EMail, aus der Teile der Kontextinformationen des Fehlers hervorgehen: Mit denen wird dann versucht zu klären, was den Fehler ausgelöst hat, damit er behoben werden kann. (Es sei denn, er wurde bereits behoben.).

Dazu haben wir ein Tool, mit dem man auch Einblick in alle Details des Fehlers erhalten kann. Das sieht ungefähr so aus:

Wenn es sich um einen neuen Fehler handelt, dann wird der behoben – und wurde er behoben, dann klickt der Entwickler auf den Button “Mark fixed”. Dadurch wird der Zustand des Fehlers in der Datenbank auf “beseitigt” gestellt – und sollte der gleiche Fehler nochmals auftreten, erhält der betroffene Anwender die passende Meldung.

Nachdem Sie nun wissen was passiert: Keine Scheu – wenn ein Fehler auftritt – bitte schicken, und die Kontaktdaten nicht vergessen: Sonst können wir den Fehler zwar korrigieren, Ihnen aber nicht kurzfristig weiterhelfen.