Process Launched with CreateProcess() May Terminate Prematurely
Article ID: 156484
Article Last Modified on 11/1/2006
APPLIES TO
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 4.0 Standard Edition
- Microsoft Internet Information Server 3.0
This article was previously published under Q156484
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.
RESOLUTION
To resolve this problem, please see the following articles in the Microsoft
Knowledge Base for more information:
ARTICLE-ID: 142676
TITLE : Overcoming User32.dll Initialization Failure Errors
ARTICLE-ID: 175687
TITLE : Win32k.sys Causes STOP 0x0000001e and 0x0000000a On SMP
Keywords: kbenv kbinterop kbprb KB156484