Triple fault

Triple fault

A triple fault is a special kind of exception generated by the CPU when an exception occurs while the CPU is trying to invoke the double fault exception handler, which itself handles exceptions occurring while trying to invoke a regular exception handler.

x86 processors beginning with the 80286 will cause a SHUTDOWN cycle to occur when a triple fault is hit. This typically causes the motherboard hardware to initiate a CPU reset which in turn causes the whole computer to reboot.

Possible causes of triple faults

Triple faults indicate a problem with the operating system kernel or device drivers. In modern operating systems, a triple fault is typically caused by a buffer overflow or underflow in a device driver which writes over the interrupt descriptor table. When the next interrupt happens, the processor cannot call either the needed interrupt handler or the double fault handler because the descriptors in the IDT are corrupted.

Triple faults may also be caused by incorrect kernel settings, such as using the wrong hardware abstraction layer in Windows.

Virtual machines

In Microsoft Virtual PC, if the virtual machine experiences a triple fault a warning box pops up with the message "An unrecoverable processor error has occurred".

In QEMU, a triple fault produces a dump of the virtual machine in the console, with EIP (or whatever PC may be called for the selected architecture) set to the instruction that triggered the first exception.

Other uses

* Some operating system kernels, such as Linux, use triple faults as a last effort in their rebooting process. It does this by setting the IDTR register to 0 and then issuing an interrupt. Since the table now has length 0, all attempts to access it fail and the processor generates a triple fault. Note that this is not the preferred method of restarting the computer; using the ACPI is tried first.
* The Intel 80286 processor was the first to introduce the now-ubiquitous protected mode. However, the 286 could not revert to the basic 8086-compatible "real mode" without resetting the processor. The documented method of doing this was to use a special function on the Intel 8042 keyboard controller. However, intentionally triple-faulting the CPU was found to cause the transition to occur much faster and more cleanly, permitting multitasking operating system to switch back and forth at high speed. [http://blogs.msdn.com/larryosterman/archive/2005/02/08/369243.aspx]

ee also

* Double fault


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Triple talaq — is a controversial Sunni Islamic procedure whereby a husband can divorce his wife by saying to her talaq, talaq, talaq ( I divorce you , three times). It is not used in Shi a jurisprudence, since they deem the talaq to be a procedure rather than… …   Wikipedia

  • Triple junction — A triple junction is the point where the boundaries of three tectonic plates meet. At the triple junction a boundary will be one of 3 types a ridge, trench or transform fault and triple junctions can be described according to the types of plate… …   Wikipedia

  • Triple modular redundancy — In computing, triple modular redundancy (TMR) is a fault tolerant form of N modular redundancy, in which three systems perform a process and that result is processed by a voting system to produce a single output. If any one of the three systems… …   Wikipedia

  • Fault-tolerant system — This article contains specific implementations of fault tolerant systems. For general theory, see fault tolerant design. Fault tolerance or graceful degradation is the property that enables a system (often computer based) to continue operating… …   Wikipedia

  • Mendocino Triple Junction — The Mendocino Triple Junction is a geologic triple junction where the San Andreas Fault meets the Mendocino Fault and the Cascadia subduction zone, separating three tectonic plates: the Pacific Plate, the North American Plate and the Gorda Plate …   Wikipedia

  • Chile Triple Junction — The Chile Triple Junction (or Chile Margin Triple Junction) is a geologic triple junction located on the seafloor of the Pacific Ocean off Taitao and Tres Montes Peninsula on the southern coast of Chile. Here three tectonic plates meet: the South …   Wikipedia

  • Double fault — This article is about the CPU error. For the tennis term, see serve (tennis). 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… …   Wikipedia

  • General protection fault — This article is about the x86 exception. For the webcomic, see General Protection Fault (webcomic). A general protection fault (GPF) in the Intel x86 and AMD x86 64 architectures, and other unrelated architectures, is a fault (a type of… …   Wikipedia

  • Queen Charlotte Fault — The Queen Charlotte Fault is an active transform fault, located between the North American Plate and the Pacific Plate, Canada s equivalent of the San Andreas Fault. The Queen Charlotte Fault forms a triple junction on its south with the Cascadia …   Wikipedia

  • Rivera Triple Junction — The Rivera Triple Junction (RTJ) is a geologic triple junction located on the seafloor of the Pacific Ocean southeast of the southern tip of the Baja California Peninsula. At the RTJ, three tectonic plates intersect: the North American Plate, the …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”