C0D   

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.

The system may provide a hexadecimal reason code to describe the error.

Note: Some common C0D reason codes are documented here for convenience. This is not an all inclusive list. In most cases, you will need assistance from IBM® Support to interpret the reason codes based on the particular component that issues the abend.
Code
Explanation
Start of change010000xxEnd of change
Start of changeInternal reason codes for System SSL started task (GSKSRVR).End of change
0025xxxx
Internal reason codes for Basic HyperSwap® socket support.
2A00010x or 2A00020x
After a page fixing request that specified a task control block (TCB) address of zero, the system received a corresponding page freeing request with a specific TCB address. The system could not locate the necessary control blocks to process the request.
Start of change40000001End of change
Start of changeThis program may not be invoked as a jobstep program or has an environmental requirement that has not been met.End of change
5E000101
While processing a page fixing request, the system encountered a fixed page that was not backed with central storage. To satisfy the request, the page must be backed.

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 reason codes
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 reason codes
80010001
ESTAEX macro request failure.
80010002
NUCLKUP macro request failure.
IOSHSENF reason codes
80020001
UCBPIN macro request failure.
80010002
NUCLKUP token count error occurred.
IOSHSRDR reason code
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:
  1. 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.
  2. If you cannot 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 chapters on "Recording Logrec Error Records" and "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, reflects 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 causes the error PSW instruction address to reference a system program or user program that might be in a wait state. Hence, the failing instruction text might be "0A01" or some other instruction. This might be due to the asynchronous nature of the recovery associated with a CALLRTM call. For this case, you will need a dump that contains SYSTEM TRACE.

  3. 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.

Start of changeFor reason code 40000001, ensure that you invoked the proper program and that its environmental requirements have been met.End of change

Source

Code C0D can be issued by many components, including:
  • Real storage manager (RSM)
  • Auxiliary storage manager (ASM)
  • Contents supervision (CSV)
  • Start of changeSupervisor control (SUP)End of change
  • Program Call/authorization (PC/AUTH)
  • Input/output supervisor (IOS)
  • Access methods (e.g. BSAM, QSAM)
  • Start of changeSystem SSL started task (GSKSRVR)End of change