![[Toc]](../../toc.gif)
![[Index]](/idx.gif)
OS/2 Traps
========================================================================
Trap Function OS/2 MSG (SYSxxxx) Likely cause under OS/2:
========================================================================
0000 Divide error 3184 division by zero by OS/2
0001 Debug exception shouldn't occur
0002 NMI Interrupt memory parity or 387 error
0003 One Byte Interrupt shouldn't occur
0004 Interrupt on Overflow 3185 from INTO instruction
0005 Array Bounds Check 3191 from BOUND instruction
0006 Invalid OP-Code 3176 usually a corrupted .EXE
0007 Device not Available from ESC or WAIT instruction
0008 Double Fault shouldn't happen
0009 Reserved by Intel
000A Invalid TSS (Task State Segment) OS/2 bug - not a common bug
000B Segment not Present Can be a program or OS/2 bug
000C Stack Fault stack was ruined (not common)
000D General Protection Fault invalid pointer (most common)
000E Page Fault OS/2 bug, error in virtual mem
000F Reserved by Intel
=======================================================================
To get more information about a specific trap use the <HELP command with
the parameter 1930+trap number.
Examples:
REM *** Help for Trap 2 (1930+2 = 1932)
HELP 1932
REM *** Help for Trap 0E (1930+14 = 1944)
HELP 1944
To find the program that caused a trap you can use the program exeinfo.exe
(available on hobbes for example (see Internet - Web Pages)).
Search the line beginning with CS:EIP in the trap output and write down
the number after CSLIM. After reboting the PC you can use the command
exeinfo -f -l####
(where #### are the last 4 digits of the number after CSLIM=) to get the
program that caused the error.
Example: If the trap output contains the line
CS:EIP=0658:00001a5c CSACC=009b CSLIM=00004e3a
the exeinfo command is
exeinfo -f -l4e3a
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs