Eine gute Fehlermeldung sagt drei Dinge: was passiert ist, warum, und was man jetzt tun kann. Die folgenden zehn schaffen keines davon – und begegnen einem trotzdem täglich.
Die Liste ist nicht nur zum Lachen da. Unter jedem Eintrag steht, was die Meldung tatsächlich bedeuten kann. Wer eine davon vor sich hat, findet dort den nächsten sinnvollen Schritt.
Die 10 Plätze im Überblick
Überall 1
-
Platz 1: Es ist ein Fehler aufgetreten.
📍 Überall, Anwendungsschicht · Seit 1980er
Kurzurteil: Der Urahn. Sagt genau das, was der Benutzer bereits weiß, und nichts darüber hinaus.
Er ist so alt wie das Dialogfenster selbst. Der Klassiker steht zu Recht auf Platz eins, weil er den Fehler nicht nur nicht erklärt, sondern die Gelegenheit dazu aktiv wegwirft. Irgendwo weiter unten gab es eine Ausnahme mit Meldung, Zeilennummer und Ursache. Auf dem Weg nach oben wurde sie durch eine Zeichenkette ersetzt, die nichts enthält. Wer diese Meldung sieht, hat genau eine sinnvolle nächste Handlung: ins Protokoll sehen. Steht dort auch nichts, hat jemand zweimal denselben Fehler gemacht.Eine Ausnahme wurde abgefangen und nicht ausgewertetDie eigentliche Meldung steht im Protokollnicht auf dem BildschirmEine Bibliothek meldet einen Fehlerden die Anwendung nicht kenntEine Netzwerkanfrage lief in eine ZeitüberschreitungEin Dienst antwortet mit einem unerwarteten Format
Webserver 1
-
Platz 2: HTTP 500 – Internal Server Error
📍 Webserver, HTTP · Seit 1997
Kurzurteil: Sagt der Norm nach absichtlich nichts – und wird trotzdem täglich als Diagnose gelesen.
Bei 500 ist die Wortkargheit ausnahmsweise Absicht: Der Server soll nach außen nicht verraten, woran es liegt, weil das Auskunft über die Innereien gäbe. Das Problem ist nicht der Code, sondern dass er regelmäßig als Diagnose behandelt wird statt als Aufforderung, ins Fehlerprotokoll zu sehen. Dort steht die eigentliche Meldung, meist vollständig und mit Zeilennummer. Wer 500 sieht und keinen Serverzugriff hat, kann faktisch nichts tun – wer Zugriff hat, hat den Fehler in dreißig Sekunden.PHP-Fatal-Errorsichtbar nur im Fehlerprotokoll des ServersSyntaxfehler in der .htaccessDateirechtedie dem Webserver den Zugriff verwehrenSpeichergrenze oder Zeitlimit überschrittenEine Erweiterung fehlt oder wurde entfernt
Unix und Linux 1
-
Platz 3: Segmentation fault (core dumped)
📍 Unix und Linux, Betriebssystem · Seit 1970er
Kurzurteil: Technisch vollkommen präzise. Für die Frage, was zu tun ist, vollkommen nutzlos.
Die Meldung beschreibt exakt, was passiert ist: Ein Prozess hat auf Speicher zugegriffen, der ihm nicht gehört, und wurde beendet. Nur beantwortet das keine einzige Frage, die man in diesem Moment hat. Der Zusatz „core dumped“ ist immerhin ein Hinweis – wenn Abbilder aktiviert sind, lässt sich damit nachsehen, wo der Prozess stand. Meist sind sie es nicht, und dann bleibt eine Zeile, die sagt: kaputt.Zugriff auf einen Zeigerder ins Nichts zeigtSchreiben über das Ende eines Speicherbereichs hinausEndlose Rekursionbis der Stapelspeicher voll istEine Bibliothek in einer Fassungdie nicht zum Programm passtDefekter Arbeitsspeicher – seltenaber dann hartnäckig
Windows 1
-
Platz 4: Die Operation wurde erfolgreich abgeschlossen.
📍 Windows, Fehlerdialog · Seit 1990er
Kurzurteil: Erscheint in einem Fenster mit rotem Kreuz. Beides kann nicht stimmen.
Windows führt einen Fehlercode je Programmfaden. Wer ihn abfragt, ohne dass ein Fehler gesetzt wurde, bekommt die Null – und die heißt „alles in Ordnung“. Wird dieser Wert dann in einen Fehlerdialog gegossen, entsteht dieses Kleinod. Der Fehler ist real, nur ist der Code an der falschen Stelle abgeholt worden. Das Unix-Gegenstück lautet „Error: Success“ und hat dieselbe Ursache.Fehlercode 0 wurde abgefragtobwohl kein Fehler gesetzt warDer eigentliche Fehler trat vor dem letzten erfolgreichen Aufruf aufEin Rückgabewert wurde als Fehlercode gelesenDie Fehlerabfrage kam zu spät und hat den Zustand bereits verloren
Vorgelagerte Server 1
-
Platz 5: HTTP 502 – Bad Gateway
📍 Vorgelagerte Server, HTTP · Seit 1997
Kurzurteil: Bedeutet: Nicht ich war es, sondern der dahinter. Wer das ist, sagt niemand.
Bei Plesk, nginx und ähnlichen Aufbauten steht selten ein Server allein. 502 heißt: Der vordere hat gefragt, der hintere hat nicht brauchbar geantwortet. Das ist eine echte Information – sie halbiert den Suchraum. Nur nennt die Meldung nicht, wer der hintere ist, und genau das ist die Frage. Der erste Blick gehört deshalb nicht dem Webserver, sondern dem Dienst dahinter und dessen eigenem Protokoll.Der dahinterliegende Dienst läuft nicht oder ist abgestürztDie Verbindung lief in eine ZeitüberschreitungDer Socket-Pfad in der Konfiguration stimmt nicht mehrZu wenige Arbeitsprozesse für die anliegende LastDer Dienst antwortet mit etwasdas kein gültiges HTTP ist
Browser 1
-
Platz 6: undefined is not a function
📍 Browser, JavaScript · Seit 1990er
Kurzurteil: Sagt, was nicht ist. Wo es nicht ist, steht auf einer anderen Zeile.
JavaScript hält es nicht für einen Fehler, wenn etwas nicht existiert – erst der Versuch, es aufzurufen, gibt Lärm. Bis dahin kann der eigentliche Grund viele Zeilen zurückliegen. Der erste Griff geht deshalb nicht zum Quelltext, sondern ins Netzwerkprotokoll des Browsers: Wurde die Datei überhaupt geliefert? In gut der Hälfte der Fälle ist das schon die Antwort – und dann liegt der Fehler nicht im Skript, sondern beim Ausliefern.Ein Skript wurde nicht geladen – 404 im NetzwerkprotokollDie Reihenfolge der Einbindungen stimmt nichtEin Tippfehler im Namen der FunktionEin Objekt kam leer zurück und wird trotzdem benutztEine Bibliothek liegt in einer älteren Fassung vor als erwartet
Amiga, heute Varnish 1
-
Platz 7: Guru Meditation
📍 Amiga, heute Varnish, Systemabsturz · Seit 1985
Kurzurteil: Vierzig Jahre alt und immer noch im Einsatz. Die Meldung meditiert, der Benutzer auch.
Der Name stammt aus der Frühzeit des Amiga und ging auf ein Eingabegerät zurück, das ruhiges Sitzen belohnte – wer es zu hektisch bewegte, brachte das System durcheinander. Aus dem Hausscherz wurde die offizielle Bezeichnung für den Systemabsturz. Heute lebt sie in der Fehlerseite von Varnish weiter, und dort steht sie für etwas ganz Konkretes: Der Zwischenspeicher konnte den Inhalt nicht beschaffen. Wer sie im Browser sieht, sucht nicht bei Varnish, sondern beim Server dahinter.Bei Varnish: Der dahinterliegende Server war nicht erreichbarEine Zeitüberschreitung beim Abholen des InhaltsDie Konfiguration des Zwischenspeichers ist fehlerhaftBeim Amiga: ein Systemabsturzdie Zahlen daneben sind der Fehlercode
BIOS 1
-
Platz 8: Keyboard not found. Press F1 to continue.
📍 BIOS, Firmware · Seit 1980er
Kurzurteil: Der berühmteste Widerspruch der Computergeschichte – und tatsächlich sinnvoll.
Der Widerspruch ist nur scheinbar einer. Der Selbsttest läuft, bevor die Tastatur abgefragt wird; wird danach eine angeschlossen, funktioniert sie – und dann lässt sich F1 drücken. Die Meldung ist also nicht absurd, sondern präzise: Zu diesem Zeitpunkt war keine da. Bei Servern, die absichtlich ohne Tastatur laufen, ist sie schlicht eine Einstellung, die man abschaltet. Trotzdem steht sie seit vierzig Jahren als Sinnbild für Meldungen, die niemand gegengelesen hat.Die Tastatur war beim Selbsttest nicht angeschlossenEin defektes Kabel oder ein toter AnschlussBei Servern ohne Tastatur: erwartetes VerhaltenMeldung abschaltbarDie Tastatur wurde nach dem Selbsttest angeschlossen und wird erkannt
Linux 1
-
Platz 9: Kernel panic – not syncing
📍 Linux, Kernel · Seit 1990er
Kurzurteil: Immerhin ehrlich: Hier endet die Zuständigkeit des Betriebssystems.
Eine Kernel-Panik ist keine unklare Meldung – sie ist der Abbruch selbst. Der Zusatz „not syncing“ bedeutet, dass nicht einmal mehr Schreibvorgänge auf die Platte gebracht werden. Nützlich ist, was danebensteht: Bei „unable to mount root fs“ ist die Suche kurz und führt fast immer zum Startabbild oder zur Kennung des Datenträgers. Wer nach einem Kernel-Update in diese Meldung läuft, sollte zuerst dort nachsehen und nicht bei der Hardware.Das Wurzeldateisystem wurde nicht gefunden oder nicht eingehängtEin Kernel-Modul für den Datenträgercontroller fehlt im StartabbildDie Kennung des Datenträgers hat sich geändertDefekter Arbeitsspeicher oder ein fehlerhafter TreiberNach einem Kernel-Update: das Startabbild wurde nicht neu erzeugt
Web-Oberflächen 1
-
Platz 10: Something went wrong. Please try again later.
📍 Web-Oberflächen, Anwendungsschicht · Seit 2010er
Kurzurteil: Die moderne Fassung von Platz eins – dieselbe Leere, nur freundlicher formuliert.
Der Fortschritt gegenüber Platz eins besteht in der Höflichkeit. Inhaltlich ist es dieselbe Meldung, oft sogar schlechter: Wo früher ein Fehlercode stand, an dem man sich entlanghangeln konnte, steht heute ein Achselzucken. Der Ratschlag, es später erneut zu versuchen, ist dabei die eigentliche Zumutung – er verlagert die Fehlersuche auf den Benutzer und gibt ihm nichts an die Hand. Wer solche Meldungen baut, sollte wenigstens eine Vorgangsnummer mitgeben. Dann kann der Support etwas damit anfangen, und der Benutzer hat einen Grund, sie zu melden.Eine Schnittstelle hat einen Fehlercode geliefertder nicht ausgewertet wurdeDie Anmeldung ist abgelaufenEin Kontingent ist aufgebrauchtDie Anfrage lief in eine ZeitüberschreitungEin Feld enthielt etwasdas die Prüfung nicht erwartet hat
Bewertungsmethodik: Wie dieses Ranking entsteht
Wie diese Liste zustande kommt. Sie ist keine Messung. Es gibt keine Erhebung darüber, welche Fehlermeldung wie oft ratlos macht, und ich behaupte auch nicht, eine zu haben.
Die Rangfolge ordnet nach dem Verhältnis von Selbstbewusstsein zur Auskunft: Je bestimmter eine Meldung auftritt und je weniger sie dabei sagt, desto weiter vorn steht sie. Das ist ein Urteil, keine Zahl – und es ist als solches gekennzeichnet.
Aufgenommen wurde nur, was zwei Bedingungen erfüllt: Die Meldung begegnet einem im laufenden Betrieb tatsächlich, und es lässt sich etwas Brauchbares darüber sagen. Ein Eintrag, der nur witzig wäre, gehört gestrichen.
Häufige Fragen zu dieser Liste
Ist das eine Bewertung?
Nein. Es gibt keine Erhebung darüber, welche Meldung wie oft ratlos macht. Die Rangfolge ordnet nach dem Verhältnis von Selbstbewusstsein zur Auskunft – das ist ein redaktionelles Urteil und steht als solches auf der Seite.
Warum steht HTTP 500 nicht auf Platz eins?
Weil seine Wortkargheit Absicht ist. Die Norm sieht ausdrücklich vor, dass nach außen keine Einzelheiten dringen sollen. Das ist etwas anderes als eine Meldung, die eine vorhandene Ursache auf dem Weg nach oben wegwirft.
Fehlt meine Lieblingsmeldung?
Vermutlich. Vorschläge gern über die Kontaktseite – mit dem Wortlaut und, wenn möglich, dem Zusammenhang. Aufgenommen wird nur, wozu sich etwas Brauchbares sagen lässt.