Explanation
An unexpected error occurred. For example , a system
component experienced an unexpected program check or perhaps an I/O
device returned data that was not expected. This abend may be used
for entry into a recovery routine that will capture additional documentation
and then attempt retry. In other cases, the C0D abend will be percolated
to an application recovery routine or another system component recovery
routine.
Several components utilize C0D for these unexpected
error situations and therefore it becomes necessary to utilize additional
information to determine the specific component to determine the exact
nature of this unexpected error. Continue reading for additional diagnostic
techniques to help identify the nature of your specific instance of
this C0D abend.
Note: Some Common C0D reason codes are documented
below for convenience. This is not an all inclusive list. In most
cases you will need IBM® assistance
to interpret the reason codes based on the specific component which
issues the abend.
The reason code, if any, and the location at
which the C0D ABEND was issued, are shown in an entry of type RCVY
ABT in the system trace table.
For an indexed sequential access
method (ISAM) request, the system found an excess number of error
input output blocks (IOB). The probable cause of the problem is that
an application neglected to free the dynamic buffers associated with
a READ macro.
The following reason codes are used by the input/output
supervisor HyperSwap function
(IOSH):
IOSHSAPI- 80000002
- Attach macro request failure.
- 80000003
- Error attaching subtask.
- 80000004
- ETCRE macro request failure.
- 80000005
- CSVQUERY macro request failure.
- 80000006
- IEANTDL macro request failure.
- 80000007
- IEANTRT macro request failure.
- 80000008
- IEANTCR macro request failure.
- 80000009
- Error removing SSID name from master SSID_Array.
- 8000000A
- RESMGR macro ADD request failure.
- 8000000B
- RESMGR macro DELETE request failure.
- 8000000C
- ENFREQ macro LISTEN request failure.
- 8000000D
- ENFREQ DELETE request failure.
- 8000000F
- IDENTIFY macro request failure.
- 80000010
- Maximum number of subtask restart attempts reached.
IOSHSSUB- 80010001
- ESTAEX macro request failure.
- 80010002
- NUCLKUP macro request failure.
IOSHSENF- 80020001
- UCBPIN macro request failure.
- 80010002
- NUCLKUP token count error occurred.
IOSHSRDR- 80030001
- IRXEXCOM routine call failure.
System action
The system may write a logrec data set error record,
may write a dump, and may write messages about the problem. The system
issues an abend to the current task.
Operator response
If the system programmer asks for an SVC dump,
set the following SLIP trap:
SLIP SET,COMP=C0D,ACTION=SVCD,END
System programmer response
Do the following:
- If a dump or a logrec data set error record was not written with
the abend, ask the operator to set a SLIP trap to obtain an SVC dump.
If you are unable to identify a responsible component from
the logrec record symptoms such as CSECT NAME and COMPID, then use
additional information from logrec data set records, dumps, or both
to identify the component that is the source of the ABEND. See the chapter s
on Recording Logrec Error Records and on System Trace in z/OS MVS Diagnosis: Tools and Service Aids for
details on how to interpret logrec records and System Trace entries.
The failing PSW address, in most cases, will reflect the component
that issued the ABEND macro. To ensure that the PSW address corresponds
to an ABEND macro invocation, refer to the failing instruction text
in the logrec record or dump. The failing instruction should have
been "0A0D".
There are some cases where the CALLRTM TYPE=ABTERM
macro is used and this will cause the error PSW instruction address
to reference a system or a user program that might be in some kind
of wait. Hence, the failing instruction text might be an "0A01" or
some other instruction. This might be due to the asynchronous nature
of the recovery associated with a CALLRTM. For this case, you will
need a dump that contains SYSTEM TRACE.
- Search the System Trace for an entry of the type RCVY ABT corresponding
to the C0D ABEND, and note the PSW address. Once you have determined
the PSW address for the program responsible for invoking the ABEND
or CALLRTM macro, use the IPCS WHERE command to find the module name.
- If the module is not an IBM module,
continue diagnosis with the module.
- If the module is an IBM module,
search problem reporting data bases for a fix for the problem. If
no fix exists, contact the IBM Support
Center. Provide the messages, the logrec data set record, the SYSOUT
output for the job, and the dump.
Programmer response
For an ISAM request error, fix the program
and run the job again. For a problem in obtaining storage, fix the
storage request and run the job again.
Source
Code C0D can be issued by many components, including:
- Real storage manager (RSM)
- Auxiliary storage manager (ASM)
- Contents supervision (CSV)
- Program Call/authorization (PC/AUTH)
- Input/output supervisor (IOS)
- Access methods (e.g. BSAM, QSAM)