

In informatica un kernel panic è un'azione intrapresa da un sistema operativo Unix o Unix-like volta a identificare un errore fatale interno. L'equivalente sui sistemi Windows è la schermata blu di errore.
Il termine deriva dalla funzione panic() contenuta nell'header sys/system.h.
Le cause di un kernel panic possono essere varie.
Le principali sono:
Inoltre, quella che segue è un'implementazione della fase finale di inizializzazione del kernel Linux all'interno della funzione kernel_init()
static int __ref kernel_init(void *unused)
{
...
/*
* We try each of these until one succeeds.
*
* The Bourne shell can be used instead of init if we are
* trying to recover a really broken machine.
*/
if (execute_command) {
if (!run_init_process(execute_command))
return 0;
pr_err("Failed to execute %s. Attempting defaults...\n",
execute_command);
}
if (!run_init_process("/sbin/init") ||
!run_init_process("/etc/init") ||
!run_init_process("/bin/init") ||
!run_init_process("/bin/sh"))
return 0;
panic("No init found. Try passing init= option to kernel. "
"See Linux Documentation/init.txt for guidance.");
}
I kernel panic si verificano in Linux come in altri sistemi Unix-like; tuttavia, errori gravi ma non fatali possono generare un altro tipo di condizione di errore, nota come kernel oops. In questo caso, il kernel normalmente continua a funzionare dopo aver terminato il processo responsabile. Poiché un oops può causare l'indisponibilità di alcuni sottosistemi o risorse, può successivamente portare a un vero e proprio kernel panic.
Su Linux, un kernel panic fa lampeggiare i LED della tastiera come indicazione visiva di una condizione critica.
A partire da Linux 6.10, è stato introdotto drm_panic, che consente ai driver DRM di supportare la visualizzazione di una schermata di panic per informare l'utente che si è verificato un kernel panic. Questo permette la comparsa della schermata anche se era in esecuzione un server grafico al momento del panic.

Da Linux 6.12, drm_panic è stato esteso per permettere la codifica del traceback come codice QR.
Quando si verifica un kernel panic in Mac OS X dalla versione 10.2 alla 10.7, il computer mostra un messaggio multilingue che informa l’utente della necessità di riavviare il sistema. Prima della versione 10.2, veniva visualizzato un messaggio di panic in stile Unix più tradizionale(esempio il messaggio “we are hanging here”che significa che il computer ha dovuto terminare tutti i processi,cioè bloccare completamente il computer per evitare danni alla memoria); a partire dalla versione 10.8 (da OS X 10.8 a MacOS 26), invece, il computer si riavvia automaticamente e il messaggio viene mostrato solo successivamente come avviso ignorabile,quest’ultimo contenente i dettagli del crash. Il formato del messaggio varia a seconda della versione.
Se si verificano cinque nuovi kernel panic entro tre minuti dal primo, il Mac mostrerà un segnale di divieto per trenta secondi e poi si spegnerà; questa situazione è nota come “kernel panic ricorrente”(o in inglese recurring kernel panic prevention).
Il sistema operativo Android, essendo basato sul Kernel Linux, eredita i medesimi meccanismi di protezione in caso di errore fatale del sistema. Quando si verifica un kernel panic, il dispositivo interrompe immediatamente l'esecuzione di tutti i processi attivi e congela lo stato del sistema operativo per prevenire danni sia software (corruzione del file system) sia fisici ai componenti hardware.
I fattori principali che possono scatenare un kernel panic su Android includono:
Nei dispositivi prodotti da Samsung Electronics, il verificarsi di un kernel panic attiva spesso una specifica modalità diagnostica proprietaria definita Upload Mode. In questa schermata (caratterizzata solitamente da testo su sfondo nero), il dispositivo interrompe il normale avvio e si predispone al dump (scaricamento) dei log della memoria RAM. Questa modalità permette ai tecnici o agli utenti avanzati di estrarre i registri di arresto del sistema (panic log) tramite appositi strumenti software per PC al fine di diagnosticare la causa esatta del crash.