Device Manage for OS/2

DevCon for OS/2 - Developer Connection

Operating systems:
ArcaOS, eComStation, IBM OS/2 Warp
eComStation myths 

(Unsorted)  
 
 
Compilers  
 
 
Tools  
 
 
REXX  
 
 
Drivers/kernel  
 
 

 

 

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

 


 

(C) OS2.GURU 2001-2024