Process Launched with CreateProcess() May Terminate Prematurely

Article translations Article translations
Article ID: 156484 - View products that this article applies to.
This article was previously published under Q156484
Expand all | Collapse all

SYMPTOMS

Cmd.exe, Perl.exe, or other console-mode applications may fail to initialize properly and terminate prematurely when launched by a service using the CreateProcess() or CreateProcessAsUser() APIs. The calling process has no way of knowing that the launched console-mode application has terminated prematurely.

In some instances, calling GetExitCode() against the failed process indicates the following exit code:
128L ERROR_WAIT_NO_CHILDREN - There are no child processes to wait for.
In multithreaded applications, the premature termination causes desktop heap leaks. Over time the desktop heap is exhausted, which results in User32.dll or Kernel32.dll initialization errors.

MORE INFORMATION

  • Internet Information Server (IIS) may exhibit this problem intermittently when processing CGI or Perl scripts. In this case the browser returns the following error when executing CGI scripts:
    CGI Error

    The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:.
  • Remote Command Service (RCMD) may also exhibit this problem. RCMD clients experience connect and disconnect messages when they attempt to access a server running RCMD service. This may be used as a test application to see if another service is running into this problem.
  • Other third-party services (such as Patrol from BMC Software) are also known to fail because of this problem.

RESOLUTION

To resolve this problem, please see the following articles in the Microsoft Knowledge Base for more information:
ARTICLE-ID: 142676
TITLE : How to correct common User32.dll file errors

ARTICLE-ID: 175687
TITLE : Win32k.sys Causes STOP 0x0000001e and 0x0000000a On SMP

Properties

Article ID: 156484 - Last Review: November 1, 2006 - Revision: 2.3
APPLIES TO
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Internet Information Server 3.0
Keywords: 
kbenv kbinterop kbprb KB156484

Give Feedback

 

Contact us for more help

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