Windows Err Msg: EMM386 Exception Error #6

Article translations Article translations
Article ID: 94279 - View products that this article applies to.
This article was previously published under Q94279
This article has been archived. It is offered "as is" and will no longer be updated.
3.10 3.11
kbtool kberrmsg kb3rdparty
Expand all | Collapse all

On This Page


You may receive the following error message while running an MS-DOS-based application under Windows or Windows for Workgroups:
EMM386 Exception Error #6
This error message indicates that an MS-DOS-based application has caused the processor to execute an invalid instruction.

Although the error message is provided by EMM386.EXE, it is not the cause, nor is it directly related to the problem. The error is probably caused by a corrupt .EXE file or a bad memory chip.


When Windows starts, it turns off EMM386.EXE but leaves its error handler installed. When the CPU notifies Windows of a problem, it passes the error to the default handler, which in this case is EMM386.EXE.

EMM386 Exception Error #6 indicates an "invalid opcode." According to "Microsoft's 80386/80486 Programming Guide" second edition (pages 122-123), this error can be caused by either of the following:

  • The processor tries to decode a bit pattern that does not correspond to any legal machine instruction.
  • The processor tries to execute an instruction that contains invalid operands.
Both situations indicate the same thing--the CPU is trying to execute instructions, but is being given random values from the wrong memory location. This can be caused by one of the following:

  • The application gave an invalid jump instruction, causing a jump to an invalid memory location.
  • The application gave a correct jump, but the memory it jumped to is corrupted.
The most likely cause of these problems is either a corrupted file (.EXE, .DLL, or virtual device driver [VxD]) or a bad memory chip. If the problem occurs on more than one distinct program, it is probably caused by a bad memory chip. For example, if the problem occurs when you choose Open from the File menu in Microsoft Windows Write and Microsoft Windows Notepad, the error is probably being caused by a corrupted common dialog box .DLL file (COMMDLG.DLL). But if the problem occurs in two applications that do not share any .DLL files, the error is likely caused by a bad memory chip.

If you are using MS-DOS 6.2 or later or Windows for Workgroups version 3.11, you may be able to correct this problem by removing HIGHSCAN from the EMM386.EXE command in your CONFIG.SYS file.

This error can also be caused by upper memory conflicts. See the following article for more information:
112816 Locating and Excluding RAM/ROM Addresses in the UMA

Exception Error #6 with Microsoft Backup for Windows

If you receive the "EMM386 Exception Error #6" while you are running Microsoft Backup for Windows, you may have an incompatible third-party virtual device driver (VxD).

Use a text editor, such as Microsoft Windows Notepad, to edit the [386Enh] section of the SYSTEM.INI file and use a semicolon to remark out the following lines:
NOTE: VFINTD.386 is the virtual device driver for MS-DOS 6.x Backup for Windows and should not be removed.

Exception Error #6 With Older Version of After Dark

This error can occur while running older version of Berkeley Systems' After Dark with other applications (such as Intuit's Quicken) in Microsoft Windows.

To solve the problem, remove After Dark.

The products included here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.


Article ID: 94279 - Last Review: February 28, 2014 - Revision: 2.0
  • Microsoft Windows 3.1 Standard Edition
  • Microsoft Windows 3.11 Standard Edition
  • Microsoft Windows for Workgroups 3.1
  • Microsoft Windows for Workgroups 3.11
kbnosurvey kbarchive KB94279

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from