I am getting a storage exception while executing a transction in our CICS test region. The CICS transaction is going fine but the job corresponding the CICS region is recording an exception for storage violation.
I serached web and got reason for the COMMAREA length mismatch. And rightly so, we did some copybook changes due to which the COMMAREA length was changed. But all of the modules were recompiled and loaded into CICS region. Still we are getting the same issue.
Joined: 14 Jan 2008 Posts: 2504 Location: Atlanta, Georgia, USA
Storage Violations can occur for a variety of reasons.
Download the following PDF from IBM and you'll find varied reasons and explanations regarding SV's (DFHSM0102 and DFHSM0103) along with their associated abend-codes. They can be difficult to find, especially if the abended-task suffers from "Sympathy Sickness", when another task in the mix at the same time (the culprit) actually caused the abended-task to go belly-up. Meanwhile, the culprit just keeps on truckin, not knowing what had transpired.
Common SV's I've seen relate to an SAA or SCZ being compromised/overwritten, which prevents CICS from successfully issuing /completing a FREEMAIN.
The more program's involved in the task, where GETMAIN's are issued (implicit and explicit) the more difficult it is to find the SV. In many cases, the SV is detected at the tail-end of task-termination (during a FREEMAIN), but the actual SV could have occurred long before this detection.
I guess, it was not as difficult as it seemed. The root cause was found and it was a foolish mistake. In one of the programs the length of the COMMAREA was harcoded which should not have been the case and instead of that always length of the copybook (01 level var) should be quoted over there. We fixed that length and the problem was resolved.