The information in this article applies to:
SYMPTOMS
After you upgrade to Windows NT version 3.51, malloc or other run-time
memory allocation functions may fail when unable to grow the run-time
library's heap.
CAUSEThis problem is caused by a change in the return code from the VirtualAlloc() function. It formerly returned ERROR_NOT_ENOUGH_MEMORY when it could not commit pages. Now it returns ERROR_COMMITMENT_LIMIT. The problem occurs only on Windows NT version 3.51 and only when the application hits its commit limit as chosen by Windows NT. This limit varies depending on such things as the size of the installed memory and the number of applications running. The sample code listed in this article causes the R6018 error when run on Windows NT version 3.51 but runs to completion under previous versions of Windows NT. RESOLUTION
The C Run-Time heap manager was changed in Visual C++ 4.0 to no longer use
VirtualAlloc(). Visual C++ version 4.0 correctly handles the
ERROR_COMMITMENT_LIMIT case.
STATUSMicrosoft has confirmed this to be a problem when using malloc on Windows NT version 3.51. This problem was corrected in Visual C++, 32-bit edition, version 4.0. MORE INFORMATIONSample Code to Reproduce Problem
Additional query words: 1.00 2.00 2.10 2.20 fatal error die shut down disappear
Keywords : kberrmsg kbCRT kbVC |
Last Reviewed: January 25, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |