Troubleshooting eComStation - A Guide to the Troubled

Presented at

Warpstock 2012, August 17-19, 2012
Portland, Oregon
by
Steven H. Levine



eComStation is reliable and most of the time, it just runs day after day with little or no attention. However, as with any complex system, some systems will have issues. eComStation supports a large number of tools that can prove extremely helpful tracking down to source of an issue and often can assist in resolve the issue.


Exception Reporting

No one likes exceptions, but they do happen. The kernel defines two types of exception reports Some applications define private exception handlers which replace the default Process Exception report with an application specific report. Examples of application specific exception reports include
Exceptions do not need to be fatal. The application can attempt to recover from the exception and continue processing.

Process Exception Reports

The format of a process (i.e. ring3) exception report is
01-> 02-25-1999  10:58:35  SYS3175  PID 00b2  TID 0001  Slot 0068
02-> E:\CLASSES\LABS\LAB26\BEDBUG.EXE
03-> c0000005
04-> 1bf94e24
05-> P1=00000001  P2=00000000  P3=XXXXXXXX  P4=XXXXXXXX
06-> EAX=00000000  EBX=00060210  ECX=0002881c  EDX=00060210
07-> ESI=00000001  EDI=00000002
08-> DS=0053  DSACC=d0f3  DSLIM=1fffffff
09-> ES=0053  ESACC=d0f3  ESLIM=1fffffff
10-> FS=150b  FSACC=00f3  FSLIM=00000030
11-> GS=0000  GSACC=****  GSLIM=********
12-> CS:EIP=005b:1bf94e24  CSACC=d0df  CSLIM=1fffffff
13-> SS:ESP=0053:000287ec  SSACC=d0f3  SSLIM=1fffffff
14-> EBP=000287f8  FLG=00012206

15-> DOSCALL1.DLL 0002:00004e24

Kernel IPE Exception Reports

The format of a Kernel IPE (i.e. ring0) exception report will be
1-> <IPE specific Message>

2->  THE SYSTEM DETECTED AN INTERNAL PROCESSING
     ERROR AT LOCATION ##xxxx:yyyyyyyy - aaaa:bbbb

3->  lllll , ffff
4->  038600d1
5-> INTERNAL REVISION 6 . 307  DATE: 92/03/01
or
1->  TRAP 0002        ERRCD= 0000  ERACC= ****  ERLIM= ********
      EAX= 7d240a58  EBX= ff202fdc  ECX= 00064423  EDX= 00003624
      ESI= fff3272c  EDI= 7d240004  EBP= 00004a44  FLG= 00003202
2->   CS:EIP= 0160 : fff702a6  CSACC= c09d  CSLIM= ffffffff
      SS:ESP= 0030 : 00004a38  SSACC= 1097  SSLIM= 00003fff
3->   DS= 0158  DSACC= c0f3  DSLIM= ffffffff  CR0= fffffffb
4->   ES= 0158  ESACC= c0f3  ESLIM= ffffffff  CR2= 1a060014
      FS= 0000  FSACC= ****  FSLIM= ********
      GS= 0000  GSACC= ****  GSLIM= ********
     THE SYSTEM DETECTED AN INTERNAL PROCESSING
     ERROR AT LOCATION ##0160:fff6453f - 000d:a53f

     60000 , 9084
     038600d1
     INTERNAL REVISION 6 . 307  DATE: 92/03/01

Exceptq Exception Reports

Generated by applications to use the exceptq exception handler.

GCC kLIBC Exception Reports

Created when GCC kLIBC (i.e. libc065.dll) receives an exception report from the kernel. The format of GCC LIBC report will be
Killed by SIGILL
pid=0x0061 ppid=0x0024 tid=0x0001 slot=0x009b pri=0x0200 mc=0x0001 N:\MOZILLA-TEST\SEAMONKEY\SEAMONKEY.EXE
LIBC063 ffffffff:ffffffff
cs:eip=005b:20d15cc1 ss:esp=0053:0011eaf8 ebp=0011eb14 ds=0053 es=0053 fs=150b gs=0000 efl=00212206
eax=20d42348 ebx=0011eb50 ecx=20da1618 edx=0011eb50 edi=0000000c esi=20d15cc0
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

eWorkPlace Exception Reports

Created when xfldr.dll (i.e eWorkplace or xWorkplace) or some DLL it loads generates an exception.

Innotek Font Library Exception Reports

Generated when the Innotek Font library (i.e. ft2lib.dll) generates an exception.

Tracing

Tracing is extremely valuable when you need to analyze application activity over time. There are a number of general purpose tracing tools.

OS/2 Trace Facility

Dave's Blatsche's OS2TRACE

PMSPY

Logging

Logging in typically defined as recording unexpected events. This is a fuzzy defintion because the distinction between log data and trace data if often not black and white.

There are a large number of logging tools. The list includes

System Error Log

Mozilla Log Facility

eWorkplace Unexpected Condition Log

GCC kLIBC Logging

TCP/IP Syslog Facility

Innotek Font Library Log Facility

Process Dump Facility

The process dump facility generates dump files in response to otherwise unhandled process exceptions or on demand.

Trap Dump Facility

The trap dump facility generates dump files in response to otherwise unhandled kernel exceptions or on demand.

Process Dump Formatter (pmdf)

System Analysis Tools

The system analysis tools analyze and report data that is defined within the kernel

Debuggers

Debuggers allow a developer to examine and control the operation of the kernel or an application in very fine detail. They are beyond the scope of this presentation, but it is useful to know what is available. The most widely used debuggers are probably

Disassemblers

Disassemblers are useful for understanding programs that do not have available source code. They are beyond the scope of this presentation, but it is useful to know what is available. Some of the widely used disassembly tools are

Final Thoughts

Valid HTML 4.01 Transitional