STOP Messages Caused by a Software Trap

Another group of STOP messages is caused by a software condition detected by the processor. This condition, called a software trap, happens when a processor detects a problem in an executing instruction from which the processor will not continue. For instance, a processor will not carry out an instruction that contains invalid operands.

When you get a STOP message that is caused by a software trap, follow the steps given in "Remaining STOP Messages," later in this chapter.

The following is an example of the first line of the STOP message that is displayed for all software traps:


*** STOP: 0x0000007F (0x0000000n, 00000000, 00000000, 00000000)
UNEXPECTED_KERNEL_MODE_TRAP

The first parameter (shown as 0x0000000n in the example) in the message parameter list indicates which of twelve possible traps has occurred. For instance, in the case of an instruction that contains invalid operands, the message appears as follows:


*** STOP: 0x0000007F (0x00000006, 00000000, 00000000, 00000000)
UNEXPECTED_KERNEL_MODE_TRAP

Table 38.3 shows the possible values and their meanings for that first parameter.

Table 38.3 Value of First Parameter in Software Trap STOP Messages

Parameter

Processor detected

0x00000000

An attempt to divide by zero.

0x00000001

A system-debugger call.

0x00000003

A debugger breakpoint.

0x00000004

An arithmetic operation overflow.

0x00000005

An array index that exceeds the array bounds.

0x00000006

Invalid operands in an instruction or an attempt to execute a protected-mode instruction while running in real mode.

0x00000007

A hardware coprocessor instruction, with no coprocessor present.

0x00000008

An error while processing an error (also known as a "double fault").

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.