Stop 0x7F 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 0x00 (zero).
- This value is 0x00 (zero).
- This value is 0x00 (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. Some of the most common exception codes are the following:
- 0x00, 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.
- 0x04, or Overflow, occurs when the processor carries out a call to an interrupt handler when the overflow (OF) flag is set.
- 0x05, 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.
- 0x06, or Invalid Opcode, is generated when the processor attempts to run an invalid instruction. This typically occurs when the instruction pointer is corrupted as a result of a hardware memory problem and is pointing to a wrong location.
- 0x08, or Double Fault, indicates an exception while trying to call the handler for a prior exception. Normally, two exceptions can be handled serially, but certain exceptions (almost always caused by hardware problems) cause the processor to signal a double fault.
Less common codes include the following:
- 0x01 A system-debugger call
- 0x03 A debugger breakpoint
- 0x0A A corrupted Task State Segment
- 0x0B An access to a memory segment that was not present
- 0x0C An access to memory beyond the limits of a stack
- 0x0D 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 the section titled "Stop Message Checklist" later in this tutorial.
- Stop 0x7F messages are typically the result of defective, malfunctioning, or failed memory hardware. If you added new hardware recently, remove and replace the hardware to determine whether it is causing or contributing to the problem. Run Windows Memory Diagnostics to determine whether the feature has failed.
- Running the CPU beyond the rated specification, known as overclocking, can cause Stop 0x7F or other error messages because of heat buildup. When diagnosing problems on overclocked systems, first restore all clock and bus speed settings to the manufacturer-recommended values to determine whether this resolves the issues.
- The problem might also be due to cracks, scratched traces, or defective features on the motherboard. If all else fails, take the system motherboard to a repair facility for diagnostic testing.
- Stop 0x7F messages can occur after you install incompatible applications, drivers, or system services. Contact the software manufacturer about possible Windows 7-specific updates. Using updated software is especially important for backup programs, multimedia applications, antivirus scanners, and CD mastering tools.
More Info For more information about Stop 0x7F messages, see the Knowledge Base at http://support.microsoft.com/. Search the Knowledge Base using the keywords 0x0000007F and 0x7F.
In this tutorial:
- Troubleshooting Stop Messages
- Stop Message Overview
- Identifying the Stop Error
- Finding Troubleshooting Information
- Stop Messages
- Bugcheck Information
- Technical Information
- Debug Port and Dump Status Information
- Types of Stop Errors
- Memory Dump Files
- Configuring Small Memory Dump Files
- Configuring Kernel Memory Dump Files
- Configuring Complete Memory Dump Files
- How to Manually Initiate a Stop Error and Create a Dump File
- Using Memory Dump Files to Analyze Stop Errors
- Using Windows 7 Error Reporting
- Using Symbol Files and Debuggers
- Being Prepared for Stop Errors
- Record and Save Stop Message Information
- Check Software Disk Space Requirements
- Install a Kernel Debugger and Symbol Files
- Stop 0xA or IRQL_NOT_LESS_OR_EQUAL
- Stop 0x1E or KMODE_EXCEPTION_NOT_HANDLED
- Understanding Kernel Stack Overflows
- Stop 0x24 or NTFS_FILE_SYSTEM
- Stop 0x2E or DATA_BUS_ERROR
- Stop 0x3B or SYSTEM_SERVICE_EXCEPTION
- Stop 0x3F or NO_MORE_SYSTEM_PTES
- Stop 0x50 or PA GE_FAULT_IN_NONPA GED_AREA
- Stop 0x77 or KERNEL_STACK_INPA GE_ERROR
- Stop 0x7A or KERNEL_DATA_INPA GE_ERROR
- Stop 0x7B or INACCESSIBLE_BOOT_DEVICE
- Stop 0x7F or UNEXPECTED_KERNEL_MODE_TRAP
- Stop 0x9F or DRIVER_POWER_STATE_FAILURE
- Stop 0xBE or ATTEMPTED_WRITE_TO_READONLY_MEMORY
- Stop 0xC2 or BAD_POOL_CALLER
- Stop 0xCE or DRIVER_UNLOADED_WITHOUT_CANCELLING_ PENDING_OPERATIONS
- Stop 0xD1 or IRQL_NOT_LESS_OR_EQUAL
- Stop 0xD8 or DRIVER_USED_EXCESSIVE_PTES
- Stop 0xEA or THREAD_STUCK_IN_DEVICE_DRIVER
- Stop 0xED or UNMOUNTABLE_BOOT_VOLUME
- Stop 0xFE or BUGCODE_USB_DRIVER
- Stop 0x00000124
- Stop 0xC000021A or STATUS_SYSTEM_PROCESS_TERMINATED
- Stop 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH
- Hardware Malfunction Messages
- Stop Message Checklist
- Check Your Software
- Use the Last Known Good Configuration
- Restart the System in Safe Mode
- Check Event Viewer Logs
- Install Compatible Antivirus Tools
- Report Your Errors
- Install Operating System and Driver Updates
- Install and Use a Kernel Debugger
- Check Your Hardware
- Check for Nondefault Firmware Settings
- Check for Non-Default Hardware Clock Speeds
- Check by Running Hardware Diagnostic Tools
- Check for SCSI Disk and Controller Settings
- Check Memory Compatibility
- Check by Temporarily Removing Devices
- Check by Replacing a Device