How to fix a fatal
exception error:
Issue:
How to fix a fatal exception error.
Additional Information:
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.
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.
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.
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
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.
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 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.
|