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
010000xx
Internal reason codes for System SSL started task (GSKSRVR).
0025xxxx
Internal reason codes for Basic HyperSwap® socket support.
05005C00
A user-key CSA storage fault occurred while DIAGxx TRAPS NAME(IARRUCSAFLT) is specified on an active DIAGxx parmlib member, IEASYSxx RUCSA is defined, and the user does not have SAF READ authority to CLASS(FACILITY) PROFILE(IARRSM.RUCSA).
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.
40000001
This program may not be invoked as a jobstep program or has an environmental requirement that has not been met.
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.
Container Extensions reason codes
80040001
Bad RC from VSM Locate macro.
80040002
Bad RC from LOAD or NUCLKUP macros.
80040003
Unable to create a latch set needed for resource serialization. Message GLZB005I was issued to describe the failure. It has the return code from the service ISGLCRT and the name of the latch set.
80040004
A device for the zCX instance could not be initialized. The total number of disk and network devices would exceed the maximum of 255.
80040005
The number of virtqueues for a virtual disk or network device has been exceeded.
80040006
A disk device for the zCX instance could not be initialized. The total number of disk and network devices would exceed the maximum of 255.
80040007
The initial program for the zCX instance did not receive control as a started task. zCX only supports the started task environment. The START command must be used to start a zCX instance. This is a user error.
80040008
The guest used an indirect descriptor to provide buffers for incoming network traffic. This is not supported by the virtualization layer.
80040009
The guest used a chain of descriptors for an outgoing network request that were not in the expected format.
8004000A
The address of the prefix area (PSA) for one of guest's virtual CPUs was not within the guest memory.
8004000B
The guest used a chain of descriptors for a disk request that were not in the expected format.
8004000C
The guest used a chain of descriptors for a disk request that were not in the expected format.
8004000D
The virtualization layer received a request from the guest that it does not support. It responded with an operation exception. This should be reported to IBM.
8004000E
The guest sent a request that is not supported by the virtualization layer to a network device.
8004000F
The guest stopped unexpectedly. This was not a shutdown initiated by the STOP command. It may indicate that the guest encountered a problem. Start of changeReview the appliance job log for messages from the virtualization layer and the guest that may provide additional clues as to what happened.End of change 
80040010
The request to format the VSAM linear data set for one of the disks failed. Message GLZV002I was issued before the format. It contains the name of the data set.
80040011
The request to format the VSAM linear data set for one of the disks failed. Message GLZV002I was issued before the format. It contains the name of the data set.
80040012
The request to update the high used control interval of the VSAM linear data set for one of the disks failed. Message GLZV003I was issued before the update. It has the name of the data set.
80040013
The virtualization layer was unable to connect to the network. Time out occurred while waiting for a response to the connect request. Check the job log for messages about network problems. Restart the zCX instance after network problems have been resolved.
80040014
The state of the lock word, used by the virtualization layer to serialize with the guest, is not valid.
80040015
The task that handles communication with the z/OS console has terminated abnormally. Check for earlier messages or abends that may have led to the termination.
80040016
The first control interval of the VSAM linear data set for one of the disks did not contain the expected data. Message GLZV004I was issued to describe the failure. It has the name of data set.
80040017
The request to read the first control interval of the VSAM linear data set for one of the disks failed.
80040018
The request to read the first control interval of the VSAM linear data set for one of the disks failed.
80040019
A virtual CPU has encountered an unrecoverable error. The entire zCX instance has been terminated.
8004001A
The task that performs the connect and reconnects of the network(s) associated with this server instance has failed. This is an internal error. If no fix exists, contact the IBM Support Center.
8004001B
After multiple attempts to connect to the network, the server instance is unable to do so.
8004001C
The server is unable to find the disk needed to perform re-initialization for reboot processing. The entire zCX instance will terminate.
8004001D
Errors have been encountered trying to re-initialize a disk during reboot processing. The entire zCX instance has been terminated.
8004001F
Bad ALCPET encountered.
80040020
Bad Pause Pet.
80040021
Bad pause/release element.
80040022
Timer request to set when the timer is still set.
80040023
Invalid timer request.
80040024
Timer is not able to cancel the DIE.
80040025
Unexpected IEAVXTSWRC encountered.
80040026
TDS is requested to be set when still set.
80040027
Unexpected IEAVXTDSRC encountered.
80040028
Invalid TDS Request.
80040029
Internal error. If no fix exists, contact the IBM Support Center.
Start of change8004FFFEEnd of change
Start of changeDisk type does not match expected disk type.End of change
8004FFFF
Overflow of the virtio descriptor array.
01010023
Environmental Error: The system zCX has attempted to start on does not support the correct level of virtualization. zCX does not run on all platforms equally.

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.

For reason code 40000001, ensure that you invoked the proper program and that its environmental requirements have been met.

Source

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