
| | W. Popken im Fenster Selbstportrait 08/2004 | | | | | 26.08.2007
Internet Explorer
Am Samstag vormittag rief mich jemand an. Er hatte ein Inserat aufgegeben und wollte ein Bild nachreichen. Das funktionierte nicht. Es erschien irgendein Bildschirm, mit dem er nichts anfangen konnte. Daher entschloß er sich, mich anzurufen.
Das war eine sehr gute Idee. Denn wenn etwas bei der Pferdezeitung nicht funktioniert, bin ich der erste, der es wissen will. Diese Sache erwies sich als sehr spannend. Schnell war klar, was das Problem war. Das Bild konnte nicht hochgeladen werden, weil der Benutzer nicht eingeloggt war. Kaum hatte er sich eingeloggt, war er wieder ausgeloggt.
So etwas kann eigentlich gar nicht passieren. Und es war ja auch noch nicht passiert, in all den vielen Jahren - oder hatte ich da etwas vergessen? Ich rekapitulierte den Mechanismus: Die automatische Legitimierung erfolgt über ein Cookie. Da das Programm nicht wissen kann, ob der Benutzer Cookies ausgeschaltet hat (was heutzutage sehr selten ist), wird nach dem Einloggen die Session-ID vorsorglich an die UL angehängt. Nach dem nächsten Aufruf weiß der Server, ob der Benutzer Cookies ermöglicht oder nicht, und hängt automatische an jeden beliebigen Link die Session-ID dran oder läßt sie überall weg. Da in diesem Fall die Session-ID nicht angehängt war, hatte der Browser des Benutzers signalisiert, daß er Cookies akzeptiert. Warum konnte der Benutzer trotzdem nicht erkannt werden?
Cookies
Am Programm konnte es eigentlich nicht liegen, weil ich von meinem Rechner aus einwandfrei arbeiten konnte. Hätte das Problem z. B. mit irgendwelchen individuellen Daten des Benutzers Probleme, müßte ich diese Probleme ebenfalls bekommen, wenn ich mich als dieser Benutzer einlogge. Das war aber nicht der Fall. Also war anzunehmen, daß das Problem auf der Maschine des Benutzers liegt. Nur wo?
Der Benutzer arbeitete mit Windows XP und dem Internet Explorer. In diesem Fall sind die Cookies Textdateien, die auf der Festplatte liegen, wo das Betriebssystem installiert ist, und zwar unterhalb des Ordners "Dokumente und Einstellungen" und in diesem Ordner innerhalb des Ordners, der den Benutzernamen trägt (auch dieser war einfach herauszufinden) und innerhalb dieses Ordners dann im Ordner Cookie.
Dort befanden sich natürlich sehr viele Cookies, aber keiner von der Pferdezeitung. Die Cookies haben alle die Form "Benutzernamen@hostname", also in diesem Fall "Benutzername@Pferdezeitung.com". Wenn man die richtige Ansicht im Windows Explorer-Fenster einstellt, kann man die Cookies alphabetisch sortieren lassen und dann sehr schnell überprüfen, ob der gesuchte Cookie vorhanden ist. Diese Frage konnten wir sehr schnell negativ beantworten.
Ein Bug oder ein Datenfehler?
Ich wollte schon den ganz dicken Bulldozer herausholen und die einzelnen Teile des Programms daraufhin überprüfen, ob irgendwo etwas nicht so funktioniert, wie es soll, da hatte der Benutzer einen Vorschlag. Wie wäre es, wenn er den Firefox ausprobieren würde? Sehr gute Idee! Mit dem Firefox funktionierte alles einwandfrei. Da seufzte der Benutzer und erklärte mir, daß er ein ähnliches Problem in einem Forum gehabt hatte. Und dort hatte man ihm dann schließlich geraten, den Firefox auszuprobieren, und auch in diesem Fall waren die Probleme sofort weg.
Welch eine Erleichterung! Wir hätten nach meiner Methode lange suchen können und hätten den Fehler doch nicht gefunden. Ich hatte schon einmal ähnliche Probleme mit dem Internet Explorer, diese aber dadurch lösen können, daß ich die Maschine einmal herunter- und wieder heraufgefahren hatte. Das hatte der Benutzer aber schon getan und konnte deshalb ausschließen, daß das Problem auf diese Weise beseitigt werden könnte.
Ich war sehr froh, daß der Benutzer geduldig genug war, mit mir diese ganzen Untersuchungen vorzunehmen. Er war sehr froh, daß sein Problem endlich gelöst war, und hatte kein Interesse daran, die Ursache aufzuspüren. Das ist natürlich unbefriedigend, aber ich hatte eigentlich keine gute Idee, die erklären könnte, warum sein Internet Explorer plötzlich nicht vernünftig funktioniert, und deshalb hätte eine weitere Untersuchung vermutlich nichts gebracht. Also haben wir die Sache auf sich beruhen lassen. Normalerweise funktioniert der Internet Explorer natürlich einwandfrei. Wenn er plötzlich nicht richtig funktioniert, könnte es sich um einen Bug handeln, oder aber um einen Datenfehler. Ein Bug allein ist relativ unwahrscheinlich, weil das Problem dann überall und immer auftreten müßte. Dieser Bug dürfte zumindest von irgendwelchen Daten abhängen und nur dann zum Vorschein kommen, wenn diese Datenkonstellation vorliegt. Die genauen Bedingungen dafür herauszufinden, ist jedoch schwierig und möglicherweise unmöglich.
Lernprozeß
Was lernen wir daraus? Wenn ein Problem auftritt, können wir nicht von vornherein sagen, wo das Problem liegt. Es kann auch am Rechner des Benutzers liegen. Hoffentlich vergesse ich diese Lektion nicht so schnell, damit ich sofort schalten kann, wenn dieser Fall noch einmal auftritt. Eine zweite Lektion hoffe ich nicht so schnell zu vergessen: Man probiere die Fehlerkonstellation an einem anderen Programm aus. Tritt der Fehler in dem anderen Programm ebenfalls auf, dürfte er nicht am Programm liegen. Tritt er jedoch nicht auf, liegt er vermutlich am Programm, am anderen nämlich.
So etwas nennt man simple Logik. Die Methode ist eigentlich wissenschaftlich zu nennen. Wir formulieren Hypothesen, testen diese und versuchen sie zu verifizieren oder zu falsifizieren. Im Grunde ist das sogar alltägliches Handeln und gesunder Menschenverstand. Das Problem dabei ist nur, daß der gesunde Menschenverstand im alltäglichen Leben leicht logische Fehler macht. Und dann zieht man die falschen Schlüsse und gerät völlig auf die schiefe Bahn. Der Ansatz ist allerdings die Hypothese, und damit steht und fällt das ganze Verfahren. Wenn ich meine Hypothesen nicht sorgfältig genug formuliere, komme ich vielleicht nie auf die Lösung.
Die Problemlösung hatte so lange auf sich warten lassen, weil ich die Hypothese, daß der Internet Explorer schuld sein könnte, nicht gebildet hatte. Das war natürlich fahrlässig und ist nur zu erklären zum einen durch meine übergroße Bereitschaft, stets die Schuld bei mir zu suchen, zum anderen aber durch meine im Prinzip guten Erfahrungen mit dem Internet Explorer, so daß ich diesen nicht im Verdacht hatte.
Es gibt die Hypothese, daß man nur lernt, wenn es wehtut. Ich hoffe, diese Sache hat mir weh genug getan, daß ich tatsächlich daraus lerne.

| | | Chefredakteur und Herausgeber | | | | |
|