Windows Err Msg: EMM386 Exception Error #6

Last reviewed: September 12, 1995
Article ID: Q94279
The information in this article applies to:
  • Microsoft Windows operating system versions 3.1, 3.11
  • Microsoft Windows for Workgroups versions 3.1, 3.11

SUMMARY

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.

MORE INFORMATION

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:

   ARTICLE-ID:Q112816
   TITLE     :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:

   device=fastback.386

-or-

   device=virwt.386

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.


KBCategory: kbtool kberrmsg kb3rdparty
KBSubcategory: msdos win31 wfw wfwg
Additional reference words: 3.10 mwbackup 006 6.0 6.00 6.2 6.20 3rdparty
quickin afterdark ms-dos


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 12, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.