Let's understand Mainframe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

Module 1: Abend Codes


S80A- Out of Storage

S80A abends the step when a GETMAIN (get storage) request fails - the step ran out of virtual storage.

What it means

  • The step asked the system for more storage and the system could not satisfy the request.
  • The program itself may be fine - the REGION size given to the step was simply too small.

Common causes

  • REGION size coded on the EXEC statement (or the job default) is too small for the program.
  • The program issues GETMAIN requests in a loop without freeing storage (storage leak).
  • Huge tables or large working-storage areas that push the step over its REGION limit.

How to find it

  • S80A appears in the job log - note the region size shown for the step and compare it with what the program needs.
  • If the abend repeats at the same point with bigger REGION, suspect a storage leak in a loop.

How to fix it

  • Increase the REGION size on the EXEC statement (REGION=0M lets the step use what it needs, subject to system limits).
  • Reduce storage usage - smaller tables, free GETMAINed areas, avoid building huge in-memory structures.
  • Fix any loop that GETMAINs storage without freeing it.

Example

  • Giving the step maximum available storage:-
    //S80AJOB JOB (ACCT),'STORAGE TEST',CLASS=A,MSGCLASS=X //STEP1 EXEC PGM=MYPROG,REGION=0M //SYSOUT DD SYSOUT=*
  • REGION=0M removes the storage cap so a program that needs a large region no longer abends with S80A.





© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant