Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE

Stack Overflow Error in native Cobol

Stack Overflow Error in native Cobol

Problem:

During runtime you get Stack Overflow errors when Cobol DLLs are called. As the levels of inheritance grow up to a specific level everything runs fine, but when you move a step down in the inheritance level you get a stack overflow error.

Solution:

The usual cause of this kind of exception is that there is not enough stack space, and this is one of those cases. 

The default stack size for a Windows executable is only 1Mb. To increase the stack size there are a couple of options here ...

1) Build the top-level code to an exe, and include a larger stack size

e.g. set link=/stack:2000000
cbllink cobclient.cbl

2) Use editbin (in a VS command prompt) on the MF run trigger, to increase its stack size

e.g. editbin /stack:2000000 run.exe

The issue will not appear with INT code since in that case local storage is dynamically allocated from the Windows heap rather than from the system stack.

Tags (1)

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Top Contributors
Version history
Revision #:
1 of 1
Last update:
‎2013-03-14 09:58
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.