Summary of Trap Error in eComStation (OS/2)
Decimal Hex Description
00 0000 Divide by zero error
01 0001 Debug Exception
02 0002 Non-Maskable Interrupt (NMI)
03 0003 Debug Breakpoint
04 0004 Overflow Detected
05 0005 Bound Range Exceeded
06 0006 Invalid Opcode Instruction
07 0007 Coprocessor not Available
08 0008 Double Fault
09 0009 Coprocessor Segment Overrun
10 000A Invalid Task State Segment
11 000B Segment not Available
12 000C Stack Fault
13 000D General Protection Fault
14 000E Page Fault
15 000F Reserved by Intel
16 0010 Coprocessor Error
A trap 0000 occurs when a program attempts to divide a number by zero or the
result of the operation is too large for the overflow register to handle it.
[SYS1930]
A trap 0001 is caused when a program enables the single step interrupt when
not being run by a debugger. [SYS1931]
A trap 0002 is caused when an Non-Masked Interrupt (NMI) is generated by the
system for a catastrophic error. Four possible causes of this are:
110 error - Planar parity error: memory or system board
111 error - I/O parity error, memory adapter or memory
112 error - Watchdog time-out: any adapter, system board
113 error - DMA arbitration time-out: any adapter, system board
A trap 0003 is caused when the program called an INT3 without being run by
debug. This happened because debugging code was left in the program either
accidentally or by design. [SYS1933]
A trap 0004 is caused when a program started an INTO instruction without
registering an overflow exception handler. [SYS1934]
A trap 0005 is caused when a program started a BOUND instruction without
registering a bound exception handler. [SYS1935]
A trap 0006 is caused when a program started an invalid instruction without
registering an invalid opcode exception handler. [SYS1936]
A trap 0007 is caused when a program called for a numeric coprocessor
instruction without a coprocessor in the system and without registering a
processor extension not available exception handler. [SYS1937]
A trap 0008 is caused when the processor detects an exception while
processing another exception. [SYS1938]
A trap 0009 is caused when a program runs a numeric coprocessor instruction
that tries to read or write past the end of the storage segment. [SYS1939]
A trap 000A is caused when a program attempts a task switch to an invalid
task switch segment. [SYS1940]
A trap 000B is caused when a program attempts to reference a memory segment
that isn't present. [SYS1941]
A trap 000C is caused when a program attempts to push more data onto the
stack than it can hold, call too many subroutines, take more data off the
stack than was pushed onto it or return more subroutines than were called.
[SYS1942]
A trap 000D is caused (but not limited to) when a program references storage
outside the limit of the memory segment, references a storage segment that is
restricted to privileged code, references storage with a selector value of
zero, writing read-only memory or code segment, reading from an execute-only
code segment or loading an invalid value into a selector register. [SYS1943]
A trap 000E is caused when a page being referenced is not present in memory,
the procedure referencing the page doesn't have enough privilege to access
the page or the address range was allocated but no storage is committed.
A trap 000F is reserved by Intel, It's not for our use.
A trap 0010 is caused when the processor detects an error from the
coprocessor, either by hardware or software.
Although not exactly a trap error, an Internal Processing Error (IPE) is
associated with a SYS1915 error, which can be caused by the same conditions
as a trap error and subsequently are solved in the same manner.
The key to determining the type of error is in interpreting the error
message. A message "The system has detected an internal processing error at
location ##0160:FFF6FC01-000D:00015C01....." would tell you that you should
follow the trouble ^^^^ shooting procedures for a trap 000D error.
Information is collected by John Staahle
|