none
NTVDM encountered a hard error

    Question

  • We have a Windows Server 2003 with SP2 installed.  All of a sudden we are getting the following message:

    "NTVDM has encountered a hard error and will shut down"

    NTVDM is being used to run a program to send display information over a serial connection to display devices.

    I have applied the hot fix but the error is still happening.

    Are there any other things I can try?

    PS:  The screen resolution on the monitor changes to 8-bit when the error occurs.
    Thursday, September 24, 2009 4:58 PM

Answers

  • Hi,

     

    This problem occurs because the Wow32.dll module does not convert the DEVMODE data structure from the 16-bit Windows 3.1 version to a 32-bit ANSI version. Therefore, the Ntvdm.exe process uses the wrong DEVMODE buffer size to transfer data to the printer spooler service.

     

    There are a couple of things to check:

     

    1)    The version of WOW32.DLL. The version on the machine should be at least the one from KB937932: http://support.microsoft.com/kb/937932/en-us

     

    2) Is COMMAND.COM launching when the 16-bit program is invoked? If not, that should be investigated. Possible steps to resolve a COMMAND.COM issue are below:

     

    - back up the files listed below before running the following commands:

    expand D:\i386\config.nt_ %systemroot%\system32\config.nt

    expand D:\i386\autoexec.nt_ %systemroot%\system32\autoexec.nt

    expand D:\i386\command.co_ %systemroot%\system32\command.com

     

    - check the following registry values to ensure that there are no file name issues

     

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\Win95TruncatedExtensions value (should be 1)

     

    - check the TMP and TEMP values in the User variables. Set the value to C:\TEMP

     

     

    Best Regards,

    Vincent Hu

     

    • Proposed as answer by Devaraju K Friday, September 25, 2009 12:41 PM
    • Unproposed as answer by rb9999 Saturday, September 26, 2009 3:20 PM
    • Marked as answer by rb9999 Saturday, September 26, 2009 11:23 PM
    Friday, September 25, 2009 9:17 AM

All replies

  • Hi,

     

    This problem occurs because the Wow32.dll module does not convert the DEVMODE data structure from the 16-bit Windows 3.1 version to a 32-bit ANSI version. Therefore, the Ntvdm.exe process uses the wrong DEVMODE buffer size to transfer data to the printer spooler service.

     

    There are a couple of things to check:

     

    1)    The version of WOW32.DLL. The version on the machine should be at least the one from KB937932: http://support.microsoft.com/kb/937932/en-us

     

    2) Is COMMAND.COM launching when the 16-bit program is invoked? If not, that should be investigated. Possible steps to resolve a COMMAND.COM issue are below:

     

    - back up the files listed below before running the following commands:

    expand D:\i386\config.nt_ %systemroot%\system32\config.nt

    expand D:\i386\autoexec.nt_ %systemroot%\system32\autoexec.nt

    expand D:\i386\command.co_ %systemroot%\system32\command.com

     

    - check the following registry values to ensure that there are no file name issues

     

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\Win95TruncatedExtensions value (should be 1)

     

    - check the TMP and TEMP values in the User variables. Set the value to C:\TEMP

     

     

    Best Regards,

    Vincent Hu

     

    • Proposed as answer by Devaraju K Friday, September 25, 2009 12:41 PM
    • Unproposed as answer by rb9999 Saturday, September 26, 2009 3:20 PM
    • Marked as answer by rb9999 Saturday, September 26, 2009 11:23 PM
    Friday, September 25, 2009 9:17 AM
  • I have already tried all of the things you have listed except checking the registry and also applied the hot fix for the error.

    Command.com runs without error.

    The program which is running is not a printer but the program sending information to our signs.

    The program had been running fine for over 3 years, but suddenly in September, the errors started to occur.

    I uninstalled the auto updates which were installed in September to see if that resolved the problem, but the errors are still occurring.

    Thank You

    Ray Barrow

    Saturday, September 26, 2009 3:31 PM
  • Vincent,

    I checked the registry values as outlined above and the NtfsDisable8dot3NameCreation was set to 0.  The value of Win95TruncatedExtensions value was set to 1.

    The TMP and TEMP value were set to the users directory instead of c:.  I changed the value to C:\Temp and created the c:\TEMP directory.

    I also set the program to run in compatability mode.

    As of right now, the program is working.

    I will mark your reply as an answer and will let you know if the program stops working correctly.

    Thank you,

    Ray Barrow
    Saturday, September 26, 2009 11:23 PM