IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Storage violation in CICS region


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Wed Mar 02, 2011 4:17 pm
Reply with quote

Hi,

Am getting (s0c4/ASRA)storage violation in my CICS online region. This is the first time am getting storage violation in 20 years in our online region. The error message shows which program caused this abend. But i don't know how to find the root cause for this. Please help.

Following is the error message in my region,

Code:

DFHSM0102 ACOSP A STORAGE VIOLATION (CODE X'030B') HAS BEEN DETECTED BY MODULE D
DFHME0116 ACOSP                                                                 
(MODULE:DFHMEME) CICS SYMPTOM STRING FOR MESSAGE DFHSM0102 IS                   
PIDS/5697E9300 LVLS/630 MS/DFHSM0102 RIDS/DFHSMGF PTFS/UK13134                 
PRCS/0000030B                                                                   
DFHSR0622 ACOSP AN ATTEMPT TO OVERWRITE THE ECDSA HAS CAUSED THE ABEND WHICH FOL
DFHSR0001 ACOSP AN ABEND (CODE 0C4/AKEA) HAS OCCURRED AT OFFSET X'FFFFFFFF' IN P
DFHME0116 ACOSP                                                                 
(MODULE:DFHMEME) CICS SYMPTOM STRING FOR MESSAGE DFHSR0001 IS                   
PIDS/5697E9300 LVLS/630 MS/DFHSR0001 RIDS/DFHSRP PTFS/UK05570                   
AB/S00C4 AB/UAKEA RIDS/OSPP085 ADRS/FFFFFFFF                                   
XPFC200E Abend Information                                                     
XPFC201E Tran=O395 Task= 92030 Code=ASRA Program=OSPP085 ReqID= Resource=       
XPFC202E PSW 079D2000 8030E13C 00040004 00000000                               
XPFC995E AR/GR 00:00000000/00000000_172BCB58 01:00000000/00000000_17240C48     



Please let me know if you need more details/info.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Wed Mar 02, 2011 4:29 pm
Reply with quote

Click below -

www-01.ibm.com/support/docview.wss?rs=1083&context=SSGMGV&dc=DA400&uid=swg27007891&loc=en_US&cs=UTF-8&lang=en&rss=ct1083other

Bill
Back to top
View user's profile Send private message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Wed Mar 02, 2011 5:18 pm
Reply with quote

Thanks for the help Bill. I have checked it.
It says "Storage zone check fail". Any idea when/why this happens?
Back to top
View user's profile Send private message
valyk

Active User


Joined: 16 Apr 2008
Posts: 104
Location: South Carolina

PostPosted: Wed Mar 02, 2011 7:33 pm
Reply with quote

The most common cause is shorting yourself in linkage.

Say you GETMAIN 500 bytes and you set the address to an 01 group that is defined as 510 bytes. Whenever you move data to the last 10 bytes, you are over writing storage that you do not have addressability.

In CICS, the system will add check zones before and after the area of storage. CICS uses the check zones to make sure that your data has not been corrupted. In your example, you went beyond your GETMAIN'ed area and overwrote the check zone.

You can also do this with tables. If you GETMAIN enough storage for 10 occurrences, but you write to the 11th occurrence, you just caused a storage violation.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Wed Mar 02, 2011 7:46 pm
Reply with quote

In the above document, "Storage Check Zones" (SCZ's) are the eight-byte values which surround the dynamic storage. Sometimes known as "Rabbit Ears" SCZ's are the placeholders used by CICS when issuing FREEMAIN API's as they are generated via a GETMAIN.

Many times, the bottom SCZ is written over by the application. For example -

Code:

WORKING STORAGE SECTION.
01  WS-SUB PIC S9(08) COMP.
LINKAGE SECTION.
01  DFHCOMMAREA PIC X(256).

MOVE 257 TO WS-SUB.
MOVE SPACES TO DFHCOMMAREA (WS-SUB:8).

In this example, the program is attempting to move SPACES to DFHCOMMAREA, beginning at position 257 for a length of eight.

Because the bottom SCZ (in reality) can be found in positions 257-264, it gets wiped out and now the program has guaranteed a subsequent FREEMAIN issue.

The problem usually occurs at task termination, when an implicit FREEMAIN is issued. Although the top SCZ is present, the bottom SCZ is gone and an SV occurs.

There is a way to prevent this, by activating Storage Protection as a SIT option, but the overhead is quite high for a Production environment and is not recommended.

The best way is to determine the program which acquired the storage (either implicitly or explicitly) and follow the steps in the IBM presentation.

You will need a Trace of the failed transaction (from the dump) to find who acquired the storage.

SV's can be difficult to find, so good luck.

Bill
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Wed Mar 02, 2011 8:32 pm
Reply with quote

I erroneously said -
Quote:

There is a way to prevent this, by activating Storage Protection as a SIT option

Actually, it's Storage Recovery.

Bill
Back to top
View user's profile Send private message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Thu Mar 03, 2011 3:10 pm
Reply with quote

Thank you, Thanks a lot Bill & valyk. Thats really great.

Bill, I read the same info from the IBM manuals also and i asked our cics team if the region is initialized with storage recovery. They say our region is initialized with STGRCVY(YES) (Storage recovery option in SIT is ON). I am not sure how did we get SCZ (when storage recovery is on).

Any Idea about his?

I got the below info from our cics logs for you reference,


Code:
A STORAGE VIOLATION (CODE X'030B') HAS BEEN DETECTED BY MODULE DFHSMGF.


030B/DFHSMGF fro the cics trace says its an SCZ.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu Mar 03, 2011 3:19 pm
Reply with quote

Quote:
CICS tries to repair any storage violation that it detects.


to try does not imply to succeed
Back to top
View user's profile Send private message
shankarm

Active User


Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Thu Mar 03, 2011 3:23 pm
Reply with quote

Thanks Enrico, Thanks everyone.

Then i believe my issue is resolved.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Parallelization in CICS to reduce res... CICS 4
Search our Forums:

Back to Top