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.
|