General Causes of STOP 0x0000007F Errors

Last reviewed: February 2, 1998
Article ID: Q137539

The information in this article applies to:
  • Microsoft Windows NT Workstation versions 3.5, 3.51, and 4.0
  • Microsoft Windows NT Server versions 3.5, 3.51, and 4.0

SYMPTOMS

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

   STOP 0x0000007F (UNEXPECTED_KERNEL_MODE_TRAP)

CAUSE

These messages may be caused by hardware or software problems, but the most common cause is hardware failure.

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. This is almost always caused by hardware problems.

RESOLUTION

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:

  1. Run diagnostic software and test the RAM in the computer. Replace any RAM reported as bad. Also, make sure all the RAM in the computer is the same speed.

  2. Try removing or swapping out controllers, cards, or other peripherals.

  3. Try a different motherboard on the computer.

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


Additional reference words: 3.50 3.51 4.00 prodnt tshoot
Keywords : NTSrvWkst ntstop kberrmsg
Version : 3.5 3.51 4.0
Platform : winnt
Hardware : x86


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 2, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.