Microsoft KB Archive/137539

= General causes of "STOP 0x0000007F" errors =

Article ID: 137539

Article Last Modified on 2/20/2007

-

APPLIES TO


 * Microsoft Windows XP Professional
 * Microsoft Windows XP Home Edition
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Windows 2000 Datacenter Server
 * Microsoft Windows NT Server 3.5
 * Microsoft Windows NT Server 3.51
 * Microsoft Windows NT Server 4.0 Standard Edition
 * Microsoft Windows NT Workstation 3.5
 * Microsoft Windows NT Workstation 3.51
 * Microsoft Windows NT Workstation 4.0 Developer Edition

-



This article was previously published under Q137539



SYMPTOMS
You may receive the following error message while running Windows:

STOP 0x0000007F (UNEXPECTED_KERNEL_MODE_TRAP)



CAUSE
This error message can occur if either of the following conditions exists:
 * Your computer has hardware or software problems (hardware failure is the most common cause).
 * You try to over clock the speed of your computer's processor (for example, you set a 150 MhZ processor to run at 187 MhZ).

The above STOP error means a trap occurred in kernel mode and the trap is either one the kernel is not allowed to have or is always fatal. The most common causes of a STOP 0x7F are:
 * Low-level hardware corruption, such as corrupt memory (RAM)
 * Mismatched memory modules
 * A malfunctioning motherboard

To determine an approximate cause, examine the parameters at the top of the STOP screen:


 * STOP 0x0000007F (0x000000XX, 0x00000000, 0x00000000, 0x00000000)

UNEXPECTED_KERNEL_MODE_TRAP

The most important parameter is the first one (0x0000000X) which may have several different values. The cause of this trap can vary, depending on the value of this parameter. All traps that cause a STOP 0x7F can be found in any Intel x86 microprocessor reference manual as they are specific to the x86 platform. Here are some of the most common ones:   Values       Meaning --     0x00000000   Divide by Zero Error 0x00000004  Overflow 0x00000005  Bounds Check Fault 0x00000006  Invalid Opcode 0x00000008  Double Fault

Divide by zero error
A divide by zero is caused when a DIV instruction is executed and the divisor is 0. Memory corruption (or other hardware problems) or software failures can cause this.

Overflow
The overflow instruction occurs when the processor executes a call to an interrupt handler when the overflow (OF) flag is set.

Bounds check fault
This fault is generated when the processor, while executing a BOUND instruction, finds the operand exceeds the specified limits. A BOUND instruction is used to ensure that a signed array index is within a certain range.

Invalid opcode
This fault is generated when the processor attempts to execute an invalid instruction. This is generally caused when the instruction pointer has become corrupted and is pointing to the wrong location. The most common cause of this is hardware memory corruption.

Double fault
A double fault occurs when an exception occurs while trying to call the handler for a prior exception. Normally, the two exceptions can be handled serially, however there are several exceptions that cannot be handled serially and in this situation the processor signals a double fault. The two primary causes for this are hardware and kernel stack overflows. Hardware problems are usually related to CPU, RAM, or bus. Kernel stack overflows are almost always caused by faulty kernel-mode drivers.



RESOLUTION
To resolve this issue, use the appropriate method:
 * If either software or hardware can cause a particular trap, a debug is required to determine which is the cause. If you suspect a hardware problem, try the following hardware troubleshooting steps:
 * Test the RAM in the computer by running the diagnostic software that is provided by the computer manufacturer. Replace any RAM that is reported as bad. Also, make sure that all the RAM in the computer is the same speed.
 * Try removing or swapping out controllers, cards, or other peripherals.
 * Try a different motherboard on the computer.
 * If you are over clocking the speed of your processor, set it back to the speed at which it is designed to run.
 * Check with the hardware vendor for any updated hardware drivers or BIOS updates, or both.

For more information on processor faults, consult an Intel processor reference manual.

Additional query words: 3.50 3.51 4.00 prodnt tshoot

Keywords: kberrmsg KB137539

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.