View previous topic :: View next topic
|
Author |
Message |
rexx77
New User
Joined: 14 Apr 2008 Posts: 78 Location: Mysore
|
|
|
|
Hi Folks,
Greetings!!
For a new development project, we enhanced the existing production COBOL module with around 800 to 900 lines of code to make it 2700 LOC. This includes adding two dimensional array with max occurrence 10000 (with depending on clause). When executing this module in batch mode (it is common module) in test region we got insufficient storage issue.
Code: |
Current Condition:
CEE0198S The termination of a thread was signaled due to an unhandled condition.
Original Condition:
CEE0813S Insufficient storage was available to satisfy a get storage (CEECZST) request.
Location:
Program Unit: CEEVGTSI Entry: CEEVGTSI Statement: Offset: +00000B9E
|
Checked with my storage team and they suggested that it is to do with load module size increase and asked me to check the internal array size, as during batch mode execution I am getting storage issue. Even I have reduced the size of the array to 1 max occurrence to see how it behaves, still storage issue is occurring. My shop has restriction on adding REGION parameter in Job card to address this issue.
can any one help me with possible suggestion why this issue is occurring in test regions? Any solution to this is most welcome
Thanks in advance. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
The code you added increased the program memory requirements beyond what you have available. Increase the region size. If you believe this is not possible, contact your site support group for assistance -- because the ONLY solution to this problem is to increase the REGION value (or you can go back to the old program and forget making the changes). |
|
Back to top |
|
|
rexx77
New User
Joined: 14 Apr 2008 Posts: 78 Location: Mysore
|
|
|
|
Thanks Robert.
What is quite puzzling me is, the same common module if executed from other jobs (Job A and Job B, Job C, Job D) it works out fine. But this storage issue is occurring only in few jobs which calls this module, max 3 jobs.
I understand the size of the load module has increased and storage is unavailable, but it should have met with insufficient storage issue in all executions across all jobs. If any one has any idea, please let me know
Will keep you posted after discussing with my storage team. Thanks |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
but it should have met with insufficient storage issue in all executions across all jobs |
This makes ABSOLUTELY no sense to me. If job A's main program uses 5 megabytes and job B's main program uses 500 kilobytes and job C and D have main programs using 2 megabytes, why would you think the region requirements for all 4 jobs would be the same? You cannot look at just the common subprogram to determine memory requirements -- you must look at the entire run unit (the main program and all loaded subprograms) to determine memory requirements. And for COBOL, as an example, there are different IBM-supplied routines for different functions -- one program may not use any of them and another uses several of them; hence the load module size of COBOL programs can vary drastically. Not to mention that various compiler options can impact load module size as well! |
|
Back to top |
|
|
rexx77
New User
Joined: 14 Apr 2008 Posts: 78 Location: Mysore
|
|
|
|
Thanks Robert. I just overlooked the fact from the calling module/Job perspective.
Thanks for the detailed clarification. |
|
Back to top |
|
|
|