eCo Software Developer Connection

About DevCon
Subscription to DevCon
Budget of DevCon

eCo Software runtime
eCo Software toolkit

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

en/summary_of_trap_error.txt · Last modified: 2009/10/24 16:21 (external edit)

Recent changes RSS feed
© 2001 - 2009 eCo Software, All rights reserved