Windows and software now commonly use handle exceptions which allow Windows or other software to communicate in layers and communicate errors or exceptions. If a program is given an exception which is invalid or unknown the program or operating system will generate a fatal exception, fatal exceptions are also commonly referred to as a Fatal OE as the OE error is one of the more commonly experienced fatal exception error messages.

Fatal exception error messages are generated when one of the following situations occur.

Access to an illegal software instruction has occurred.

Invalid data or code has been accessed.

The privilege level of an operation is invalid

When a Fatal exception is encountered the error will be in the following format:

A fatal exception <YZ> has occurred at xxxx:xxxxxxxx

In the above example of the fatal exception the YZ represents the actual processor exception, this can range from 00 to 0F. Each of theses processor exceptions are explained under Extended information.

After the processor exception is the enhanced instruction pointer to the code segment and the 32-bit address. This is exactly where the error exception has occurred.

Cause:

Fatal exception errors are generally caused by programs incompatibility, not written properly, heat related issues or other hardware / software issues. Because of the wide range of possibilities we have created this document to help determine or resolve your issue.

Solution:

Remove all TSRs

Disable or unload any TSRs or programs currently running before running the program or attempting to re-duplicate the error.

Additional information on how to end task a TSR can be found on document CHTSR

Delete all program temporary files

Delete all temporary files that may still be residing on the hard disk drive from currently or previously running programs.

Additional information on how to remove temporary file can found on document CH000225

Run Scandisk / Defrag

Attempt to run scandisk / defrag on the hard disk drive as it could be possible your hard disk drive may have an issue causing the swap file or data files to become corrupt or invalid

Additional information on scandisk can be found on our scandisk page.

Additional information on defrag can be found on our defrag page.

Disable External Cache in CMOS

If the option is available attempt to enter your computers CMOS setup and disable the external cache. If this resolves your issue it is likely that you are encountering a heat related issue.

Additional information about CMOS can be found on our CMOS page.

Heat related issue

Verify that all fans in and on your computer are properly working. Possibly attempt to add an additional case fan, if there is available space.

Overclocked computer

If you have overclocked any component within the computer set the computer to its factory settings to verify that the overclocked component is not causing the issue.

Update software or check for software patches

If you are experiencing invalid page faults in only one program, verify that the software program is compatible with the operating system you are running the program within also verify with the manufacture or vendor of the software program that there are no available patches or updates for the program that may help or resolve your issue.

Verify your computer has more then 200 MB available

If your computer is running low on hard disk space, your Windows swap file will be unable to increase in size when needing causing programs to be swapped between memory and the hard disk drive more frequently. When this occurs it is more likely that a GPF can occur.

Recently installed software / hardware

If you have recently installed new software or hardware attempt to uninstall or reinstall that software / hardware to verify it is not causing your issue.

CPU Core Voltage

If available, verify within your CMOS or by jumper that your CPU core voltage is set to factor specification. This may require that you consult your documentation or motherboard manufacturer

Extended Information:

The following is a listing of the more commonly experienced processor exceptions ranging from 00 to 0F. If you have not already please review the Additional Information section of this document explaining the basic information about the Fatal Exception errors and the layout of the Fatal Exception.

00 = Divide Fault

Occurs if division by zero is attempted or if the result of the operation does not fit in the destination operand.

02=NMI interrupt

Interrupt 2 is reserved for the hardware Non-Maskable-Interrupt condition. No exceptions trap through interrupt 2.

04=Overflow trap

Occurs after an INTRO instruction has executed and the OF bit is set to 1.

05=Bounds Check fault

The array Index is out of range

06=Invalid Opcode fault

This error can be caused by one of the following conditions.
1. Processor attempting to decode a bit pattern that does not correspond to any legal computer instruction.
2. Processor attempts to execute an instruction that contains invalid operands.
3. Processor attempts to execute a protected-mode instruction while running in virtual 8086 mode.
4. Processor attempts to execute a LOCK prefix with an instruction that cannot be locked.

07=Copressor not available fault.

This error can occur if no math coprocessor is present. This error can also when the math coprocessor is used and a task switch is executed.

08=Double Fault.

This error occurs when processing an exception triggers a second exception.

09(OD)=Copressor Segment Overrun.

Floating point operand is outside the segment.

10(0Ah/0A)=Invalid Task State Segment Fault

Can be caused by a number of possibilities as Task State Segment contains a number of descriptors.

11(0Bh)=Not Present Fault

The Not Present interrupt allows the operating system to implement virtual memory through the segmentation mechanism. 0B fault occurs when this segment is not available.

12(0Ch)=Stack Fault

Occurs when instruction refers to memory beyond the limit of the stack segment.

13(Odh)=General Protection Fault

Caused by any condition that is not covered by any of the other processor exceptions. The exception indicates that this program has been corrupted in memory generally resulting in the immediate termination of the program.

14(Oeh)=Page Fault

Occurs when a paging protection rule is violated (when the retrieve fails, data retrieved is invalid or the code that issued the fault broke the protection rule for the processor).

16(10h)=Coprocessor error fault

Occurs when an unmasked floating-point exception has signaled a previous instruction.

17(11h)=Alignment Check Fault

Only used on 80486 computers. Caused when code executing at ring privilege 3 attempts to access a word operand that is not divisible by four, or a long real or temp real whose address is not divisible by eight.