FIX: "Application Error" When HEAPSIZE MAXVAL in .DEF File (87544)



The information in this article applies to:

  • Microsoft LINK for MS-DOS 5.0x
  • Microsoft LINK for MS-DOS 5.1x
  • Microsoft LINK for MS-DOS 5.2
  • Microsoft LINK for MS-DOS 5.3x
  • Microsoft LINK for MS-DOS 5.5
  • Microsoft LINK for OS/2 5.0x
  • Microsoft LINK for OS/2 5.1
  • Microsoft LINK for OS/2 5.11
  • Microsoft LINK for OS/2 5.13
  • Microsoft LINK for OS/2 5.15
  • Microsoft LINK for OS/2 5.31

This article was previously published under Q87544

SYMPTOMS

In Microsoft Windows version 3.1, an attempt to run an application linked with Microsoft LINK fails and Windows displays the following message:
Application Execution Error

Insufficient memory to run this application. Quit one or more Windows Applications and then try again.
In Windows version 3.0, an attempt to run the application causes the computer to hang.

CAUSE

The module-definition (.DEF) file for the application contains a HEAPSIZE MAXVAL statement. The error occurs because the data segment is 64K; Windows requires 16 free bytes in each application's data segment.

RESOLUTION

Modify the module-definition file such that the value specified for the HEAPSIZE added to the size of the DGROUP segment is no larger than 64K - 16 bytes.

STATUS

Microsoft has confirmed this to be a problem in LINK versions 5.3, 5.31.009, and 5.5 for MS-DOS and version 5.31 for OS/2. This problem was corrected in LINK for MS-DOS version 5.6.

MORE INFORMATION

HEAPSIZE MAXVAL sets the heap size to 64K minus the size of DGROUP. This does not leave the required 16 bytes free.

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kb16bitonly kbfix KB87544