Troubleshooting data for storage violation problems

CICS® MustGather for storage violation problems

A storage violation occurs for an overlay of storage that should not be changed, for example, an overlay of storage check zones (SCZ) that surround task storage. In normal operation, CICS sets up four task-lifetime storage subpools for each task. Each element in the subpool starts and ends with a check zone that includes the subpool name. At each FREEMAIN execution and at the end of task, CICS checks the check zones and abends the task if either check zone has been overwritten.

To diagnose a storage violation problem, see Dealing with storage violations. After that, follow these guidelines to gather complementary diagnostic information before contacting the CICS support team.

Required data:
  1. The CICS message log that contains the messages DFHSM0102 or DFHSM0103, which indicate that CICS has detected a storage violation.
  2. The MVS™ system dump that is taken automatically when CICS generates messages DFHSM0102 and DFHSM0103. You can use the SIT parameter DUMP=NO or the system dump table with the system dump codes SM0102 or SM0103 to suppress the dumps. For more information, see Using dumps for CICS problem determination on z/OS®.
  3. The CICS internal trace that is included in the MVS system dump when tracing is active. Ensure that the internal trace table size is big enough to contain sufficient data for diagnosis; for example, you can use a table size of 20480K. Also, turn on level 1 tracing for all CICS components. For more information, see Using trace for CICS problem determination on z/OS.
Optional data:
  1. If you want to identify the transaction that causes the storage overlay or if you need to keep a record of system actions over a long period of time, take the CICS auxiliary trace or the GTF Trace. For more information, see Using trace for CICS problem determination on z/OS.
  2. If you receive message DFHSM0103 as a result of the storage checker, take an MVS system dump. You can force storage chain checking by using the CHKSTSK or the CHKSTRM SIT parameter, or by using the CSFE DEBUG transaction. Set your options in one of the following ways:
    CHKSTSK=CURRENT
    Validates SCZs for task storage.
    CHKSTRM=CURRENT
    Validates SAAs.

    For more information, see How you can force storage chain checking.