On the x86 computer architecture, 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 encountered. This typically causes the motherboard hardware to initiate a CPU reset, which, in turn, causes the whole computer to reboot.
In VirtualBox, a triple fault causes a Guru Meditation error to be displayed to the user. A virtual machine in this state has most features disabled and cannot be restarted. If the VirtualBox Debugger is open, a message is printed indicating a triple fault has occurred, followed by a register dump and Disassembler of the last instruction executed, similar to the output of the rg debugger command.
When using Intel VT-x, a triple fault causes a VM exit, with exit reason 2. The exit reason is saved to the VMCS and may be handled by the VMM software.
In VMware, an error message will be displayed and the virtual machine will need to be reset.
Some operating system kernels, such as Linux kernel, still use triple faults as a last effort in their rebooting process if an ACPI reboot fails. This is done by setting the IDT 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.
|
|