FIX: Invalid Executable File, 65,535 Byte Stack Size Requested (70262)



The information in this article applies to:

  • Microsoft LINK for MS-DOS 3.x
  • Microsoft LINK for MS-DOS 4.x
  • Microsoft LINK for MS-DOS 5.0x
  • Microsoft LINK for MS-DOS 5.1x
  • Microsoft LINK for MS-DOS 5.2
  • 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

This article was previously published under Q70262

SYMPTOMS

An attempt to run an executable file fails and the computer hangs, the program gives unexpected results, or generates the following message:
run-time error R6000
- stack overflow

CAUSE

The application specifies a stack size of exactly 65,535 bytes. When the Microsoft LINK /STACK option specifies 65,535 bytes (or the Microsoft language compiler /F option specifies FFFFh bytes), the linker does not display a warning message and it sets the stack size to zero bytes. The error occurs because LINK rounds an odd stack size to the next larger even value in an effort to create the most efficient executable file.

RESOLUTION

To request the largest possible stack size, specify 65,534 in the /STACK linker option (or /F compiler option).

Microsoft has confirmed this to be a problem in LINK versions listed above. LINK versions 5.3 and higher (16-bit versions) generate an error if the user specifies a stack size larger than 65,534 (64K - 2).

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