Double fault

From Wikipedia, the free encyclopedia

[edit] Computing

In computing, a double fault exception occurs if the processor encounters a problem while trying to service a pending interrupt or exception.

In the x86 architecture, a double fault indicates a problem with the interrupt descriptor table. For example, if an interrupt occurs but the segment the processor is supposed to switch to is invalid (which could be for any number of reasons), a double fault is generated. If the processor encounters a problem when calling the double fault handler, a triple fault is generated and the processor shuts down. Another example is where the interrupt is going to a higher privilege level. In that case, the Task State Segment is used to find the new stack pointer. If the processor encounters a problem when reading the TSS, it will trigger a double fault.

As double faults can only happen due to kernel bugs, they are very rarely seen in modern operating systems.

Other processors like PowerPC or SPARC generally save state to predefined and reserved machine registers. A double fault will then be a situation where another exception happens while the processor is still using the content of these registers to process the exception. SPARC processors have 4 levels of such registers.

[edit] Tennis

A double fault in tennis is losing a point because of missing both the first and second serves.

[edit] See also