Overview of an abend
The purpose of this chapter is to guide the diagnosis of an abnormal end (abend). Abends have an associated system completion code to describe the error and most have a reason code to further explain the error. These codes can be found by searching:
- z/OS MVS System Codes
- The documentation for the particular application that failed.
For example:
- For Language Environment® completion codes, see z/OS Language Environment Runtime Messages.
- For RMF completion codes, see z/OS Resource Measurement Facility Messages and Codes.
An abend is classified as follows:
- Software-detected:
- A system code in the form of three hexadecimal digits, possibly with a four byte reason code. For example, ABEND075. A system abend code is issued with the ABEND or CALLRTM macros used to terminate a task or address space when a system service or function detects an error.
- A user code in the form of a four decimal digits, possibly with a four byte reason code. For example, ABENDU4094. A user code is issued using the ABEND macro to terminate a task or the entire job step. When the highest-level task in a job step ends abnormally, all related tasks or subtasks also terminate. When a subtask terminates, only work running on behalf of the subtask is affected, unless STEP=YES is specified.
- Hardware-detected:
Hardware might present a program interrupt or machine check on the execution of an instruction. The operating system detects these hardware problems and presents them as an abend.
Example: An instruction in an application running in storage key 7 references storage assigned to key 0. The difference in storage key causes a protection exception. This exception results in hardware presenting a program interruption code of 0004 to the operating system, which is externalized as ABEND0C4.
Related information:
- z/Architecture® Principles of Operation, SA22-7832
Symptoms of an abend: You can identify an abend by one or more of the following indicators:
- A symptom dump message on the console, in the system log, or job
log can indicate a system or user abend.For example, message IEA995I is issued to the console:
- System message indicating an abend
- Notice the
indication of a system completion code.
IEA995I SYMPTOM DUMP OUTPUT 731 SYSTEM COMPLETION CODE=EC6 REASON CODE=0000FD18 TIME=13.58.26 SEQ=00724 CPU=0000 ASID=0147 PSW AT TIME OF ERROR 070C4400 A90B111A ILC 2 INTC 78 NO ACTIVE MODULE FOUND - PRIMARY NOT EQUAL TO HOME NAME=UNKNOWN DATA AT PSW 290B1114 - 1F001F11 05EFEBEC D2640096 AR/GR 0: 00000000/00000000 1: 00000000/00000000 2: 00000000/2ED9E4D0 3: 00000007/820A33B8 4: 00000000/294F31D8 5: 00000000/2ED9E200 6: 00000000/28AADD08 7: 00000002/00000100 8: 00000007/7F29ECF8 9: 00000002/7F29EC18 A: 00000000/00FD8B28 B: 00000000/000000E3 C: 00000000/006FF390 D: 00000000/00F9C5B8 E: 00000000/A90B111A F: 00000000/00FFFB4C
- A system message indicating an SVC dump was requested for an error:For example, here are some messages that might be issued when a SVC dump is taken for an error:
IEA794I SVC DUMP HAS CAPTURED: 357 DUMPID=002 REQUESTED BY JOB (OMVS) DUMP TITLE=COMPON=BPX,COMPID=SCPX1,ISSUER=BPXMIPCE,MODULE=BPXLK LCP+1DC2,ABEND=S0422,REASON=083A01A5IEA611I COMPLETE DUMP ON DUMP.MVS06.D060320.T162245.S00034 DUMPID=034 REQUESTED BY JOB (ZFS ) FOR ASID (1001) INCIDENT TOKEN: ORACLE MVS06 03/21/2006 00:22:45 ID = IOEDFSIEA911E COMPLETE DUMP ON SYS1.DUMP08 DUMPID=001 REQUESTED BY JOB (RESOLVER) FOR ASIDS(003B,0001) INCIDENT TOKEN: CWYPLEX1 CPUX 04/21/2006 14:38:56 ERROR ID = SEQ00046 CPU00 ASID003B TIME09.38.56.1
- An application detects an error. One example is the following
ISMF panel:
ISMF ABEND PANEL COMMAND ===> _ ****************************************************************************** ****************************************************************************** ** ** ** ** ** AN ABEND OCCURRED WHILE EXECUTING ISMF ** ** ** ** SYSTEM ABEND CODE: 0C4 ** ** ** ** ISMF CANNOT CONTINUE ** ** ** ** PRESS THE ENTER KEY OR USE END TO TERMINATE ISMF ** ** USE HELP TO DISPLAY A LIST OF COMMON ABEND CODES ** ** ** ****************************************************************************** ******************************************************************************Another example is the ISPF panel:---------------------ERROR RECOVERY------------------------------- COMMAND ===> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ISPF PROCESSOR ENDED ABNORMALLY * * * * * * * * * * * * * * * * * * * * Task ABEND code 0C1 * * * * * * * * * * * * * * * * * * * * Press ENTER to display primary option menu. * * * * Enter HELP command for list of common ABEND CODES. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - A component, function, subsystem or application message indicating
an abend occurred through a message. For example, TSO/E message INMR030I
that identifies an abend condition:
- TSO/E message
INMR030I RECEIVE command terminated. ABEND abend_code.
- An error is recorded in SYS1.LOGREC record. For example:
ERRORID: SEQ=11696 CPU=0040 ASID=00A1 TIME=12:48:20.3 SEARCH ARGUMENT ABSTRACT PIDS/5752SCXMS RIDS/IEANUC01#L RIDS/IEAVXALA AB/S013E REGS/0D000 REGS/C009C RIDS/IEAVXALR#R SYMPTOM DESCRIPTION ------- ----------- PIDS/5752SCXMS PROGRAM ID: 5752SCXMS RIDS/IEANUC01#L LOAD MODULE NAME: IEANUC01 RIDS/IEAVXALA CSECT NAME: IEAVXALA AB/S013E SYSTEM ABEND CODE: 013E REGS/0D000 REGISTER/PSW DIFFERENCE FOR R0D: 000 REGS/C009C REGISTER/PSW DIFFERENCE FOR R0C:-009C RIDS/IEAVXALR#R RECOVERY ROUTINE CSECT NAME: IEAVXALR OTHER SERVICEABILITY INFORMATION RECOVERY ROUTINE LABEL: IEAVXALR DATE ASSEMBLED: 96270 MODULE LEVEL: HBB6603 SUBFUNCTION: ACCESS LIST ADD TIME OF ERROR INFORMATION PSW: 070C0000 80FF5D00 INSTRUCTION LENGTH: 02 INTERRUPT CODE: 0078 FAILING INSTRUCTION TEXT: 5DB88140 174458C0 022856C0 REGISTERS 0-7 GR: 01381495 00000000 00000002 7FFFBF00 00000000 00000000 7FFFBF10 00000000 AR: 00000000 00000000 00000000 00000002 00000000 00000000 00000002 00000000 REGISTERS 8-15 GR: 00FF3D88 01382494 81380496 00F9B700 80FF5D9C 80FF5D00 81380D58 01BFD620 AR: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 HOME ASID: 00A1 PRIMARY ASID: 0002 SECONDARY ASID: 00A1 PKM: 80C0 AX: 0001 EAX: FFFF
| If you receive wait state code | Code represents | Diagnose with | Notes |
|---|---|---|---|
| X'071' | System failure or the operator initiated a restart. | Diagnosing a loop | Find complete explanations of wait state codes in z/OS MVS System Codes. |
| Abend X'122' | Operator canceled the job, requesting a dump. | Diagnosing a job or subsystem hang | This abend might also indicate a loop, see Diagnosing a loop. Find complete explanations of wait state codes in z/OS MVS System Codes. |
| Abend X'222' | Operator canceled the job, without requesting a dump. | Diagnosing a job or subsystem hang | This abend might also indicate a loop, see Diagnosing a loop. Find complete explanations of wait state codes in z/OS MVS System Codes. |
| X'322' | Job exceeded the time limit specified by the TIME option. | Diagnosing a loop | Find complete explanations of wait state codes in z/OS MVS System Codes. |
| All others | Steps for diagnosing an abend | To find the abend code and reason code, see Obtaining the abend and reason code. |