Once you determine that storage is bad or overlaid, try to identify the culprit. First, determine the extent of the bad data. Look for EBCDIC data or module addresses in storage to identify the owner. Any type of pattern in storage can indicate an error and identify the program that is using the damaged storage. Look at the data on both sides of the obviously bad areas. See if the length of the bad area is familiar; that is, can you relate the length to a known control block length, data size, MVC length? If so, check various offsets to determine their contents and, if you recognize some, try to determine the exact control block. In Figure 1, for example, storage from CSA shows a pattern of allocated blocks.
00CFD000 00000000 00000000 E5C7E3E3 080000F1 | ........VGTT...
00CFD010 00000020 00000000 0000E3D8 00000000 | ..........TQ...
00CFD020 00BE3D30 00000000 E5C7E3E3 080000F1 | ........VGTT...
00CFD030 00000020 00CFD008 0000E260 00000000 | ......}...S-...
00CFD040 00CA6A60 00000000 17000080 E5E2C90F | ...-........VSI
00CFD050 00CFE018 00CFD0B8 C8E2D4D3 4BD4C3C4 | ..\...}.HSML.MC
00CFD060 E24BC4C1 E3C14040 40404040 40404040 | S.DATA
00CFD070 TO 00CFD07F (X'00000010' bytes)--All bytes contain X'40', C' '
00CFD080 40404040 000E0042 00000000 00000000 | ...........
00CFD090 00000000 00000000 00000000 17CA0000 | ...............
00CFD0A0 1FFE0000 C2C3E3F3 D3C90001 00000000 | ....BCT3LI.....
00CFD0B0 00000000 40080000 E2E8E2F1 4BE4C3C1 | .... ...SYS1.UC
00CFD0C0 E34BC5D5 E5F2F600 00000168 00CFD0C8 | T.ENV26.......}
00CFD0D0 F1000000 00CFD230 00CFD22C 13C9C4C1 | 1.....K...K..ID
00CFD0E0 C8C5C240 00100150 00CFD244 00000160 | HEB ...&;.K....
Even if you do not recognize the pattern, take one more step. Can you determine the offset from some base that would have to be used in order to create the bit pattern? If so, the fact that there is a certain bit pattern at a certain offset can be helpful.
For example, a BALR register value (X'40D21C58') at an offset X'C' can indicate that a program is using this storage for a register save area (perhaps caused by a bad register 13). Another field in the same overlaid area might trigger recognition.
Repetition of a pattern can indicate a bad process. If you can recognize the bad data you might be able to relate that data to the component or module that is causing the error. This provides a starting point for further analysis.