DFHSR0622 applid An attempt to {overwrite | access} the dsaname has caused the abend which follows
Explanation
An 0C4 program interrupt (protection exception) has occurred. CICS has diagnosed the cause of the 0C4 as an attempt to either access or overwrite storage in DSA dsaname. The DSA is one of CDSA, RDSA, UDSA, ECDSA, ERDSA, ETDSA, EUDSA or GCDSA for overwrite, or either UDSA or EUDSA for access.
- If dsaname is CDSA, ECDSA, ETDSA or GCDSA:
-
CICS is running with storage protection active. The CDSA, ECDSA, ETDSA and GCDSA therefore contain CICS key storage. They are write protected from user programs executing in User key. The most likely causes of the 0C4 are:
-
A program executing in CICS key passed the address of CICS key storage in the CDSA, ECDSA, ETDSA or GCDSA to a user program executing in User key and this user program attempted to write to this storage.
-
A user program executing in User key contains an error and accidentally attempted to write to CICS key storage in the CDSA, ECDSA, ETDSA or GCDSA.
-
A user program executing in User key deliberately attempted to write to CICS key storage in the CDSA, ECDSA, ETDSA or GCDSA.
-
- If dsaname is ERDSA or RDSA:
-
CICS may be running with or without storage protection active. The ERDSA or RDSA contains only reentrant CICS and user programs. If RENTPGM=PROTECT was specified as a system initialization parameter, the ERDSA or RDSA is write protected from programs executing in both CICS key and User key. If RENTPGM=NOPROTECT, the ERDSA or RDSA is only protected from user programs executing in User key. The most likely causes of the 0C4 are:
-
A user program residing in the ERDSA or RDSA has attempted to modify its own storage, (that is, the program is not reentrant).
-
A user program contains an error and accidentally attempted to overwrite program storage in the ERDSA or RDSA.
-
- If dsaname is EUDSA or UDSA:
-
CICS is running with both storage protection and transaction isolation active. The EUDSA and UDSA contain only USER key non-shared storage. The most likely causes of the 0C4 are:
-
If the action is overwrite, a program has attempted to modify the non-shared storage belonging to another transaction.
-
If the action is access, a program has attempted to either read storage or execute an instruction within another transaction's non-shared storage.
-
System action
Either, the transaction abends with abend code ASRA. This message is followed by message DFHAP0001 or DFHSR0001 which gives the name of the program in error and the offset into that program at which the error occurred. Additionally, an exception trace entry is taken which gives program, offset, execution key and the DSA in question.
Or, this is a critical error and CICS is terminated. This message is followed by a DFHSR06xx message giving the reason for the termination.
User response
Depending on the cause and dsaname, do one of the following:
-
Correct any error in the program.
-
Redefine transactions with ISOLATE(NO) where they have to share storage.
-
Change the program resource definition so that it executes in CICS key (and the basespace).
-
Ensure that the program is not loaded into the ERDSA by not link-editing it with the RENT option.
Module
DFHSRPXMEOUT parameters/Message inserts
- applid
- Value chosen from the following options:
1=overwrite, 2=access - dsaname
Destination
Console