Memory Loss During Application Process Creation

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

SYMPTOMS

An application which periodically starts Command Prompt commands or utilities (32-bit applications) may exhibit symptoms of a memory resource allocation problem. To observe this problem, you can use Performance Monitor to view nonpaged pool memory. The application in question regularly allocates more and more nonpaged pool memory until system memory resources are exhausted. This can result in poor system performance and disk "thrashing" (a condition where the hard disk drive is constantly being accessed, even in periods of little system activity).



The following error message may appear when system memory is finally exhausted:
{DLL Initialization Failed} Initialization of the dynamic link library KERNEL32.DLL failed. The process is terminating abnormally. [(NTSTATUS) 0xC0000142L]


NOTE: The symptoms are not evident using the same application under Windows NT version 3.1.

CAUSE

When an application spawns a process repeatedly, a new thread instance will be created for each process but the previous instances may not be cleaned up. This results in a significant virtual memory loss each time the process is spawned. Executing the following Win32 calls will result in the same memory loss symptoms listed above.

   CreateProcess(anyprocess,...,............, &pi);
   CloseHandle(pi.hProcess);
   CloseHandle(pi.hThread);
				


NOTE: If there is a WaitForInputIdle() call between CreateProcess() and CloseHandle(),the problem does not occur.

RESOLUTION

WINSRV.DLL was modified to correct this behavior. Even when processes are repeatedly created by an application, WINSRV.DLL ensures that the process and thread handles are closed upon command.

STATUS

Microsoft has confirmed this to be a problem in Windows NT version 3.5. This problem was corrected in the latest U.S. Service Pack for Windows NT version 3.5. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

   S E R V P A C K
				

Properties

Article ID: 124121 - Last Review: November 1, 2006 - Revision: 4.1
APPLIES TO
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Server 3.5
Keywords: 
kbprb KB124121
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

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