Windows Err Msg: Fault in MS-DOS Extender (87239)



The information in this article applies to:

  • Microsoft Windows 3.1
  • Microsoft Windows 3.11
  • Microsoft Windows for Workgroups 3.1
  • Microsoft Windows for Workgroups 3.11
  • Microsoft Windows 95
  • Microsoft Windows 98

This article was previously published under Q87239

SUMMARY

This article discusses the following two error messages with stack dump:
Bad Fault in MS-DOS Extender
   -and-
				
Standard Mode: Fault outside of MS-DOS Extender

   Raw fault frame:
   EC=0344 CS=031F IP=85E2 AX=001D BX=0005 CX=1800 DX=155F
   SI=0178 DI=0178 BP=016E DS=027F ES=027F SS=027F SP=0166
				

MORE INFORMATION

Bad Fault in MS-DOS Extender

This error message occurs when the fault handler dispatcher in DOSX.EXE generates another cascaded fault while trying to handle a protected-mode exception. This error is usually caused by one of the following factors:
  • HIMEM.SYS is unable to control the A20 line.
  • DOS=HIGH is not functioning properly (related to HIMEM.SYS control).
  • The RAM, static RAM (SRAM), single in-line memory module (SIMM), or dynamic RAM (DRAM) chips are not functioning properly.
  • You are running DR DOS.
  • The third-party memory manager is not configured correctly.
  • The EMM386.EXE NOEMS x=A000-EFFF line is missing from the Config.sys file.
  • You have an old, out-of-date ROM BIOS.
  • Your CMOS settings are incorrect.
  • Your Windows files are old or corrupted. To test this, create a new directory on the hard drive, and install Windows in that directory.
  • Your disks are corrupted.
  • Your system is infected with the Form, Forms, Noint, or Yankee Doodle virus.



Standard Mode Fault Outside MS-DOS Extender

This error message occurs when the Kernel generates a processor exception during initialization (before it has installed its own exception handlers) or when the Kernel determines that it cannot handle an exception. The causes are the same as those for the "Fault in MS-DOS Extender" error.

Meaning of Stack Dump and Raw Fault Frame

The portion of the display labeled "Stack Dump:" should always be the same and does not carry much valuable information.

The portion of the display labeled "Raw Fault Frame"
   EC=0344 CS=031F IP=85E2 AX=001D BX=0005 CX=1800 DX=155F
   SI=0178 DI=0178 BP=016E DS=027F ES=027F SS=027F SP=0166
				

contains information generated by the 80286 or 80386 processor in response to the original fault. The meaning of these settings is as follows:
   Setting   Meaning
   -------   -------
   EC=xxxx   An exception code produced by the processor in response
             to the original fault.

   IP=xxxx   The program counter of the faulting instruction (8086
             register "IP").

   CS=xxxx   The code segment of the faulting instruction. If this is
             "0053" or "005B", the (original) fault was in DOSX.EXE,
             the "MS-DOS Extender."

   FL=xxxx   The flag's image at the time of the original fault.

   SP=xxxx   The stack pointer at the time of the original fault.

   SS=xxxx   The stack segment at the time of the original fault. If
             this is "004B", the fault occurred on a stack belonging
             to DOSX.EXE.
				


The CS and IP sections tell at what point in the faulting program that the original problem was detected.

For more information about A20 handlers, see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 72302
TITLE : Specifying A20 Handlers with HIMEM.SYS /M in MS-DOS


Modification Type:MinorLast Reviewed:12/20/2004
Keywords:kbdisplay kberrmsg kbprb KB87239