Double fault

On the x86 architecture, a double fault exception occurs if the processor encounters a problem while trying to service a pending interrupt or exception.

An example situation when a double fault would occur is when an interrupt is triggered but the segment in which the interrupt handler resides is invalid.

If the processor encounters a problem when calling the double fault handler, a triple fault is generated and the processor shuts down.

As double faults can only happen due to kernel bugs, they are rarely caused by user space programs in a modern protected mode operating system, unless the program somehow gains kernel access (some viruses and also some low-level DOS programs).

Other processors like PowerPC or SPARC generally save state to predefined and reserved machine registers.