Stop 0x0000007F or UNEXPECTED_KERNEL_MODE_TRAP
The Stop 0x7F message indicates that one of three types of problems occurred in kernel-mode:
A condition that the kernel is not allowed to have or intercept (also known as a bound trap).
Software problems.
Hardware failures.
Interpreting the Message
This Stop message has four parameters:
Processor exception code.
This value is 0x00000000 (zero).
This value is 0x00000000 (zero).
This value is 0x00000000 (zero).
The first parameter is the most important and can have several different values, indicating different causes of this error. You can find all conditions that cause a Stop 0x7F in any x86 microprocessor reference manual because they are specific to the x86 platform. Here are some of the most common exception codes:
0x00000000, or a divide by zero error, occurs when a divide (DIV) instruction is run and the divisor is 0. Memory corruption, other hardware failures, or software problems can cause this message.
0x00000004, or Overflow, occurs when the processor carries out a call to an interrupt handler when the overflow (OF) flag is set.
0x00000005, or Bounds Check Fault, indicates that the processor, while carrying out a BOUND instruction, found that the operand exceeded the specified limits. BOUND instructions are used to ensure that a signed array index is within a certain range.
0x00000006, or Invalid Opcode, is generated when the processor attempts to run an invalid instruction. This typically occurs when the instruction pointer is corrupted due to a hardware memory problem and is pointing to a wrong location.
0x00000008, or Double Fault, indicates an exception while trying to call the handler for a prior exception. Normally, two exceptions can be handled serially, but there are certain exceptions (almost always caused by hardware problems) that cause the processor to signal a double fault.
Less common codes include:
0x00000001: A system-debugger call.
0x00000003: A debugger breakpoint.
0x0000000A: A corrupted Task State Segment.
0x0000000B: An access to a memory segment that was not present.
0x0000000C:An access to memory beyond the limits of a stack.
0x0000000D: An exception not covered by some other exception; a protection fault that pertains to access violations for applications.
Resolving the Problem
The following suggestions are specific to Stop 0x7F errors. For additional troubleshooting suggestions that apply to all Stop errors, see "Stop Message Checklist" later in this appendix.
Stop 0x7F messages are typically due to defective, malfunctioning, or failed memory hardware. If you added new hardware recently, remove and replace it to determine if it is causing or contributing to the problem. Run diagnostics software supplied by the system manufacturer to determine if the component has failed.
Running the CPU beyond the rated specification, known as "overclocking," can cause Stop 0x7F or other error messages due to heat buildup. When diagnosing problems on overclocked systems, first restore all clock and bus speed settings to the manufacturer recommended values to determine if this resolves the issues.
The problem might also be due to cracks, scratched traces, or defective components on the motherboard. If all else fails, take the system motherboard to a repair facility for diagnostic testing.
Stop 0x7F messages can occur after installing incompatible applications, drivers, or system services. Contact the software manufacturer about possible Windows XP Professional-specific updates. Using updated software is especially important for backup programs, multimedia applications, antivirus scanners, and CD mastering tools.
For more information about Stop 0x7F messages, see the Microsoft Knowledge Base link on the Web Resources page at
http://www.microsoft.com/windows/reskits/webresources. Search using keywords winnt, 0x0000007F, and 0x7F.