What it means
Code 0C5 is the program check for an addressing exception. The address the instruction tried to use lies outside real, available storage, so the processor cannot carry out the access.
For application programs the root cause is the same family as 0C4: a bad pointer, base address or branch target. The value used as an address was garbage.
Typical causes
- A pointer or address field that was never initialised.
- An address read from a record or parameter list that was overwritten.
- A wrong parameter list passed to a called program or system service.
- A storage overlay that corrupted saved registers or address fields.
How to fix it
- Find the failing instruction and the register or field that held the bad address.
- Trace back where that address was set and why it holds a wrong value.
- Check the CALL interfaces in the chain for mismatched parameters.
- Use the traceback and dump to see which program was in control.
Example
Illustrative only; names and values are invented.
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=0C5 REASON CODE=00000005
IEF450I PAYJOB01 STEP020 - ABEND=S0C5 U0000 REASON=00000005