Kernel panic
Eine Kernel panic ist eine Fehlermeldung des Kernels eines Betriebssystems nach Auftreten eines Fehlers, nach dem sich das Betriebssystem in einem undefinierten Zustand befindet und keine Möglichkeit mehr besteht, das System kontrolliert weiter zu betreiben („fataler Fehler“, Systemabsturz). Die Bezeichnung wird hauptsächlich im Umfeld der unixoiden Betriebssysteme verwendet und gründet sich sowohl auf den Namen (die Subroutine panic()
) als auch die Ausgabe (Kernel panic: ...) der Kernelfunktion, die für die Abhandlung eines solchen Fehlers im ursprünglichen UNIX zuständig ist. Mögliche Ursachen für eine Kernel panic sind neben Hardwarefehlern auch fehlerhafte Speicherzugriffe. Solche Zugriffe und andere Softwarefehler, die eine Kernel panic zur Folge haben, können unter modernen Betriebssystemen normalerweise jedoch nur vom Kernel selbst verursacht werden.
In einem Computercluster kann ein panic ein erwünschtes Verhalten sein, das durch die Clustersoftware ausgelöst wird. Dies ist Teil der Strategie zur Verhinderung einer split brain Situation. Ein panic als STONITH ermöglicht einen effektiven, wenn auch drastischen Schutz vor diesem Problem.
Ausgabe
Ursprünglich wurde auf Unix nur eine Fehlermeldung ausgegeben und danach das System angehalten, damit ein Band für einen Speicherabzug des Systems eingelegt werden konnte. Nachdem das System aus dem Halt-Zustand gebracht wurde, erfolgte der Dump, der später mit den Kommandos ps und adb bearbeitet werden konnte. SunOS-Systeme schreiben diesen Speicherabzug in das Swap-Gerät, aus dem er nach dem Neustart automatisch in eine Datei transferiert wird.
Die weiterführenden Ausgaben bei einer Kernel panic sind in ihrer Natur meist für Laien unverständlich. Ein Entwickler kann jedoch unter Umständen aus dem Stacktrace, der die Aufrufkette bis zum Auftreten des Fehlers enthält, oder den Inhalten der CPU-Register auf dessen Ursache schließen.
Eine Ausnahme ist macOS, bei dessen neueren Versionen diese Ausgabe wieder durch einen einfachen fünfsprachigen Hinweis in Englisch, Französisch, Spanisch, Deutsch und Japanisch, unabhängig von der aktiven Sprache des Systems, ersetzt wurde, der den Benutzer dazu auffordert, den Rechner neu zu starten. Die detaillierten Debug-Informationen werden allerdings trotzdem in eine Logdatei geschrieben und sind so für Anwender mit dem entsprechenden Wissen weiterhin zugänglich.
Varianten
- Blue Screen des Betriebssystems Windows
- Red Screen of Death in einigen Beta-Versionen von Windows Vista
- Black Screen of Death in einigen Beta-Versionen von Windows 8
- Sad Mac als Meldung eines Hardwareproblems beim Start eines Old-World-ROM-Apple-Macintosh
- Blackscreen von macOS
- Bombe als Fehlermeldung unter Mac OS und Atari TOS
- Guru Meditation beim Amiga und anderer Software
- Purple screen of death unter VMware vSphere