Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Insufficient storage while running a cobol program
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging
Author Message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 7:16 pm    Post subject: Insufficient storage while running a cobol program
Reply with quote

Hi,

We have made a few changes in an existing COBOL program and are trying to run it. The program has compiled fine, but while running the program in the job we are getting error message as:
Code:

IEW4000I FETCH FOR MODULE LNCY330  FROM DDNAME SYS00001 FAILED BECAUSE INSUFFICIENT STORAGE WAS AVAILABLE.
CSV031I LIBRARY ACCESS FAILED FOR MODULE LNCY330 , RETURN CODE 24, REASON CODE 26080021, DDNAME SYS00001 


RUN PROGRAM(LNCY330)        PLAN(LNCY330)         LIB('JSULNC.BATCH.LOADLIB')
NOT ABLE TO LINK TO PROGRAM LNCY330 IN DSNAME JSULNC.BATCH.LOADLIB           


Can somebody define why we are getting the error message.

Thanks,
Kumar
Back to top
View user's profile Send private message
References
Moved: Thu Jul 10, 2008 7:20 pm by superk From Interview Questions to ABENDS & Debugging
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 3508
Location: Brussels once more ...

PostPosted: Thu Jul 10, 2008 7:27 pm    Post subject:
Reply with quote

What do the messages and codes books for

IEW4000I
CSV031I

tell you about the error ?
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 7:57 pm    Post subject:
Reply with quote

The error IEW400I is as follows:
Code:

IEW4000I FETCH FOR MODULE program-name FROM DDNAME ddname FAILED BECAUSE
       INSUFFICIENT STORAGE WAS AVAILABLE.                               
                                                                         
Explanation:  There was insufficient storage available to load the load 
module or program object.                                               
                                                                         
System Action:  An abend will occur unless the program was loaded by a   
LOAD macro with the ERRET option specified.                             
                                                                         
User Response:  Rerun the job with a larger region size specified.       


Actually we have increased working storage of the program and now are not able to run it. I have tried increasing the region parameter for the step in which the program is getting executed, but nothing is working.

Regards,
Kumar
Back to top
View user's profile Send private message
Craq Giegerich

Senior Member


Joined: 19 May 2007
Posts: 989
Location: Virginia, USA

PostPosted: Thu Jul 10, 2008 8:00 pm    Post subject:
Reply with quote

Are you sure the program is in the library you have specified? Is the loadlib you have specified formatted correctly?
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 8:01 pm    Post subject:
Reply with quote

Yup,

I am sure of the program library and loadlib. Everything is fine

Regards,
kumar
Back to top
View user's profile Send private message
Robert Sample

Senior Member


Joined: 06 Jun 2008
Posts: 891
Location: Atlanta, GA

PostPosted: Thu Jul 10, 2008 8:18 pm    Post subject:
Reply with quote

Quote:
Everything is fine
yet you're getting memory problems. How much memory do you have specified on the EXEC or JOB statement? Can you post the JES memory usage line from your output? How much did you increase working storage by? How much did you increase your region parameter by?
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 9:27 pm    Post subject:
Reply with quote

Hi Robert,

I have tried the following region parameters:
Code:

//JULNWO5  JOB (JSUBLNC,P-9),'LNCY330',CLASS=L,MSGCLASS=D,
//         REGION=1024M,NOTIFY=JULN01                     


I have changed the REGION parameter from 8M to 4096M, but none is helpful.
I also tried to used the region parameter in the procstep from some K to 2047M, but nothing is helping in the job run.

I have increased three arrays in the program from 2000 to 4000 which is declared as PIC X.

Regards,
Nirmal
Back to top
View user's profile Send private message
dick scherrer

Global Moderator


Joined: 23 Nov 2006
Posts: 8638
Location: 221 B Baker St

PostPosted: Thu Jul 10, 2008 9:33 pm    Post subject:
Reply with quote

Hello,

Try using REGION=0M (zeroM).

Changing a few entries from around 2k to around 4k should not cause your problem.

Look at the total length of your linked module.

Does your program invoke some other big piece of code (like an nternal sort, or some other utility)?
Back to top
View user's profile Send private message
Robert Sample

Senior Member


Joined: 06 Jun 2008
Posts: 891
Location: Atlanta, GA

PostPosted: Thu Jul 10, 2008 9:44 pm    Post subject:
Reply with quote

Nirmal: JOB region should override EXEC region and 4096M is a huge area; I've never run a job needing anywhere close to 4GB. You definitely need to look at the load module size from your compile output; also, post the JES message log output for the step that's failing to see how much memory is being provided. There are system exits that can be used to limit how much memory your job gets, no matter what you ask for.
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 9:46 pm    Post subject:
Reply with quote

Hi Dick,

I have tried using 0M, still it failed.
There is not program invoked in this program, there is a sort utility used in the second step of the job but thats optional and runs depending upon the return code of the previous step(in which the Cobol DB2 program is running).

Could you tell me how to check the length of the linked module.

Regards,
Kumar
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 9:50 pm    Post subject:
Reply with quote

Hi Robert,

Below are the JES messages for the particular step:
Code:

.IEF236I ALLOC. FOR JULNWO5 PLNWO501 PLNWO5   
.IEF237I 049C ALLOCATED TO STEPLIB             
.IEF237I 0405 ALLOCATED TO                     
.IEF237I 047C ALLOCATED TO SYSTSIN             
.IEF237I 0485 ALLOCATED TO LNCDU01             
.IEF237I JES2 ALLOCATED TO LNCR330A           
.IEF237I JES2 ALLOCATED TO LNCR330B           
.IEF237I JES2 ALLOCATED TO SYSTSPRT           
.IEF237I JES2 ALLOCATED TO SYSPRINT           
.IEF237I JES2 ALLOCATED TO SYSOUT             
.IEF237I JES2 ALLOCATED TO SYSOUD             
.IEF237I JES2 ALLOCATED TO SYSABOUT           
.IEF237I JES2 ALLOCATED TO SYSUDUMP           
.IEF237I 0405 ALLOCATED TO SYS00001 
IEW4000I FETCH FOR MODULE LNCY330  FROM DDNAME SYS00001 FAILED BECAUSE INSUFFICIENT STORAGE WAS AVAILABLE.
CSV031I LIBRARY ACCESS FAILED FOR MODULE LNCY330 , RETURN CODE 24, REASON CODE 26080021, DDNAME SYS00001 
.IEF285I   JSULNC.BATCH.LOADLIB                         KEPT         
.IEF285I   VOL SER NOS= TST144.                                     
.IEF142I JULNWO5 PLNWO501 PLNWO5 - STEP WAS EXECUTED - COND CODE 0008
.IEF285I   SYSDBJ.#S00.DB03.DSNLOAD                     KEPT         
.IEF285I   VOL SER NOS= MVSGA3.                                     
.IEF285I   JSULNC.BATCH.LOADLIB                         KEPT         
.IEF285I   VOL SER NOS= TST144.                                     
.IEF285I   JSULNC.DB2.RUNPARM                           KEPT         
.IEF285I   VOL SER NOS= TST26C.                                     
.IEF285I   JSULNC.LNCDU01.G1515V00                      KEPT         
.IEF285I   VOL SER NOS= TST395.                                     
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000101.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000102.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000103.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000104.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000105.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000106.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000107.?           SYSOUT       
.IEF285I   JULNBH.JULNWO5.JOB07231.D0000108.?           SYSOUT       
IEF373I STEP/PLNWO501/START 2008192.1712                         
IEF374I STEP/PLNWO501/STOP  2008192.1712 CPU    0MIN 00.03SEC SRB
         


Now could you explain how to check the load module size. Please let me know if any more information required.

Regards,
Nirmal
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 9:56 pm    Post subject:
Reply with quote

At the end of the step, it has the following space information:
Code:

    0MIN 00.00SEC VIRT   472K SYS   460K EXT     252K SYS   12348K


Please help,
Nirmal
Back to top
View user's profile Send private message
Pedro

Senior Member


Joined: 01 Sep 2006
Posts: 508
Location: work

PostPosted: Thu Jul 10, 2008 10:11 pm    Post subject: Reply to: Insufficient storage while running a cobol program
Reply with quote

Could you be in a loop that allocates storage without freeing? A recursive routine?
Back to top
View user's profile Send private message
dick scherrer

Global Moderator


Joined: 23 Nov 2006
Posts: 8638
Location: 221 B Baker St

PostPosted: Thu Jul 10, 2008 10:12 pm    Post subject:
Reply with quote

Hello,

Quote:
Could you tell me how to check the length of the linked module.
In the SYSPRINT from the link edit step, you should see something very much like this:
Code:
 MODULE SIZE (HEX)   00001E80

For your problem, the size is only an issue in the step that abends - not any of the other steps.
Back to top
View user's profile Send private message
kedianirmal

New User


Joined: 08 Feb 2008
Posts: 21
Location: Bangalore, India

PostPosted: Thu Jul 10, 2008 10:20 pm    Post subject:
Reply with quote

The link module is showing the below space:

Code:

MODULE SIZE (HEX)   00994950


Could you explain how much space it is and how to change the JCL so that to run the program successfully.

Regards,
Nirmal
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging All times are GMT + 6 HoursGoto page 1, 2, 3  Next
Page 1 of 3