A general protection fault for your Kernel.
Normally caused when the kernel tries to address memory 0 and throws a NullPointerException, or can't find its root file system, or something like that. Means your system stops.
The idea is that if your kernel detects its in a bad state, it should stop doing anything, since theres no assurances that anything is correct anymore. It outputs information about whats going on that caused the problem just before it dies.
Occasionally the kernel will "oops" instead, an "Oops" means that it detected an error, but is trying to continue anyway. Oops are usually logged in syslog which will resolve all the symbols for you. If you get an Oops you should reboot as soon as possible.
You have to try pretty hard, or have dodgy hardware, to get a kernel panic.
How do you debug a kernel panic?
You write down all the numbers, and then feed them into ksymoops(8). ksymoops is pretty lenient about how you enter the data, but try and be exact with your formatting or you may confuse ksymoops.
Alternatively take the numbers in angle brackets and look them up manually in /proc/ksyms and System.map.
If you have a machine in a hard to reach place and are worried about it panic'ing (for whatever reason), try setting
/proc/sys/kernel/panic
to some non-zero number, then, (hopefully) after that number of seconds the machine will reboot, giving you an oppertunity to reconnect to it after it reboots remotely.
This can be done by editing
/etc/sysctl.conf
and adding the line
kernel.panic = 60
see sysctl(8) or proc(5) for more information
If you get a panic in the "swapper" then chances are it's dodgy ram (or other related hardware). a better indicator is if you get one in the interrupt handler.
2 pages link to KernelPanic: