The information in this article applies to:
SUMMARYWhen you attempt to start Windows or an application inside of Windows, you may encounter errors similar to the following: Fatal exception errors are codes returned by a program in the following cases:
When any of these occur, the processor returns an exception to the operating system, which in turn is handled as a Fatal Exception Error. In many cases the exception is non-recoverable and the system must either be restarted or shutdown, depending upon the severity of the error. In the following example of a Fatal Exception error
the <XY> represents the actual processor exception from 00 to 0F. The xxxx:xxxxxxxx represents the enhanced instruction pointer to the code segment and the 32-bit address is the actual address where the exception occurred. Windows does not cause these errors, but has the exception handling routine for that particular processor exception, which displays the above message. Please note that this article is for informational use only, and because of this, it may not contain troubleshooting information. For problem-solving information related to fatal exception error messages, try searching again with the following query words and keywords:
Q242450 How to Query the Microsoft Knowledge Base Using Keywords The following article details the processor exceptions and their meaning. For more information about troubleshooting strategies for Fatal Exception Errors, see the Knowledge Base articles listed at the end of this document. MORE INFORMATION
The following are the processor exceptions and their definitions:
07: Coprocessor not available fault This error occurs if the computer does not have a math coprocessor and the EM bit of register CR0 is set indicating that Numeric Data Processor emulation is being used. Each time a floating point operation is executed, an interrupt 07 occurs. This error also occurs when a math coprocessor is used and a task switch is executed. Interrupt 07 tells the processor that the current state of the coprocessor needs to be saved so that it can be used by another task. 08: Double Fault Processing an exception sometimes triggers a second exception. In the event that this occurs, the processor will issue a interrupt 08 for a double fault. 09: Coprocessor Segment Overrun This error occurs when a floating point instruction causes a memory access that runs beyond the end of the segment. If the starting address of the floating point operand is outside the segment, then a General Protection Fault occurs (interrupt 0D). 10 (0Ah): Invalid Task State Segment Fault Because the Task State Segment contains a number of descriptors, any number of conditions may cause exception 0A. Typically, the processor can gather enough information from the Task State Segment to issue another fault pointing to the actual problem. See "Microsoft's Programming the 80386/80486 Guide" for more information. 11 (0Bh): Not Present Fault The Not present interrupt allows the operating system to implement virtual memory through the segmentation mechanism. When a segment is marked as "not present", the segment is swapped out to disk. The interrupt 0B fault is triggered when an application needs access to the segment. 12 (0Ch): Stack Fault A Stack Fault occurs with error code 0 if an instruction refers to memory beyond the limit of the stack segment. If the operating system supports expand-down segments, increasing the size of the stack should alleviate the problem. Loading the Stack Segment with invalid descriptors will result in a general protection fault. 13 (0Dh): General Protection Fault Any condition which is not covered by any of the other processor exceptions will result in a general protection fault. The exception indicates that this program has been corrupted in memory usually resulting in immediate termination of the application. 14 (0Eh): Page Fault The Page Fault interrupt allows the operating system to implement virtual memory on a demand-paged basis. An interrupt 14 usually is issued whenever an access to a page directory entry or page table with the present bit set to 0 (Not present) occurs. The operating system makes the page present (usually retrieves the page from virtual memory) and re-issues the faulting instruction, which then can access the segment. A page fault also occurs when a paging protection rule is violated (when the retrieve fails, or data retrieved is invalid, or the code that issued the fault broke the protection rule for the processor). In these cases the operating system takes over for the appropriate action. 16 (10h): Coprocessor error Fault This interrupt occurs when an unmasked floating-point exception has been signaled a previous instruction. (Because the 80386 does not have access to the Floating Point Unit, it checks the ERROR\ pin to test for this condition). This is also triggered by a WAIT instruction if the Emulate Math Coprocessor bit at CR0 is set. 17 (11h): Alignment Check Fault This interrupt is only used on the 80486 CPUs. An interrupt 17 is issued when code executing at ring privilege 3 attempts to access a word operand that is not on an even-address boundary, a double-word operand that is not divisible by four, or a long real or temp real whose address is not divisible by eight. Alignment checking is disabled when the CPU is first powered up and is only enabled in protected mode. Troubleshooting Fatal Exception ErrorsFor information about how to troubleshoot fatal exception errors, use one of the following methods:Query the Microsoft Knowledge BaseTo query the Microsoft Knowledge Base for your error message, use the following steps:
For additional information about how to query the Microsoft Knowledge Base, click the article numbers below to view the articles in the Microsoft Knowledge Base: Q168242 How to Search the Knowledge Base for Windows 95/98 Articles Q242450 How to Query the Microsoft Knowledge Base Using Keywords Clean-BootClean-boot troubleshooting refers to methods of reducing problems that may occur because of your computer's environment. Many problems running Windows or programs occur because of conflicting drivers, terminate-and-stay- resident programs (TSRs), and other settings that are loaded when your computer starts. For additional information about how to clean-boot your computer, click the article numbers below to view the articles in the Microsoft Knowledge Base:Q192926 How to Perform Clean-Boot Troubleshooting for Windows 98 Q243039 How to Perform a Clean Boot in Windows 95 REFERENCES
Microsoft's 80386/80486 Programming Guide, Second Edition Additional query words: 98 FE
Keywords : win95 win98 |
Last Reviewed: December 27, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |