Locating error information

Use the IPCS subcommand STATUS FAILDATA to locate the specific instruction that failed and to format all the data in an SVC dump related to the software failure. This report gives information about the CSECT involved in the failure, the component identifier, and the PSW address at the time of the error.

Note: For SLIP dumps or CONSOLE dumps, use SUMMARY FORMAT or VERBEXIT LOGDATA instead of STATUS FAILDATA.
Choose option 4 (COMMAND) from the IPCS primary option menu (see Figure 1) and enter the following command. Use the PF keys to scroll up and down through the report. The following sections describe parts of the report.
Figure 1. IPCS Subcommand Entry menu
 ------------------------- IPCS Subcommand Entry -------------------------------
 Enter a free-form IPCS subcommand, CLIST, or REXX exec invocation below:

 ===> STATUS FAILDATA 

Identifying the abend and reason codes: As Figure 2 shows, under the heading “SEARCH ARGUMENT ABSTRACT”, you will find the abend code and, if provided, an abend reason code.

Figure 2. Search argument abstract in the STATUS FAILDATA report
 ⋮
 SEARCH ARGUMENT ABSTRACT

  PIDS/5752SC1CJ RIDS/CSVLLCRE#L RIDS/CSVLLBLD AB/S0FF0 REGS/09560 REGS/ 06026
   RIDS/CSVLLBLD#R

   Symptom             Description
   -------             -----------
   PIDS/5752SC1CJ      Program id: 5752SC1CJ
   RIDS/CSVLLCRE#L     Load module name: CSVLLCRE
   RIDS/CSVLLBLD       Csect name: CSVLLBLD
   AB/S0FF0            System abend code: 0FF0
   REGS/09560          Register/PSW difference for R09: 560
   REGS/06026          Register/PSW difference for R06: 026
   RIDS/CSVLLBLD#R     Recovery routine csect name: CSVLLBLD
 ⋮

In Figure 2, the abend code is X'FF0' with no reason code. See z/OS MVS System Codes for a description of the abend code and reason code.

The following IPCS reports also provide the abend and reason codes:

Finding the system mode: As Figure 3 shows, below the “SEARCH ARGUMENT ABSTRACT“ section is information describing the system mode at the time of the error.

Figure 3. System mode information in the STATUS FAILDATA report
   ⋮

  Home ASID: 001B    Primary ASID: 001B    Secondary ASID: 001B
  PKM: 8000          AX: 0001              EAX: 0000

  RTM was entered because a task requested ABEND via SVC 13.
  The error occurred while: an SRB was in control.
  No locks were held.
  No super bits were set.
   ⋮

The line that starts with “The error occurred...” tells you if the failure occurred in an SRB or TCB. In the example in Figure 3, the error occurred while an SRB was in control, which means you need to look under the heading SEARCH ARGUMENT ABSTRACT (see Figure 2) to find the CSECT and load module names. This is the module in which the abend occurred.

If an SRB service routine was in control, look under the heading SEARCH ARGUMENT ABSTRACT for the CSECT and load module names. This is the failing module.

In output from a SUMMARY FORMAT subcommand, look for the RB for the abending program. The RB has an RTPSW1 field that is nonzero.

In a dump requested by a SLIP operator command, use a STATUS CPU REGISTERS subcommand to see data from the time of the problem.

If the error had occurred while a TCB was in control, you would find the failing TCB by formatting the dump using the IPCS subcommand SUMMARY TCBERROR. See Analyze TCB structure.

Identifying the failing instruction: The STATUS FAILDATA report also helps you find the exact instruction that failed. This report provides the PSW address at the time of the error and the failing instruction text. Note that the text on this screen is not always the failing instruction text. Sometimes the PSW points to the place where the dump was taken and not the place where the error occurred.

In Figure 4, the PSW at the time of the error is X'11E6A3C' and the instruction length is 4-bytes; therefore, the failing instruction address is X'11E6A38'. The failing instruction is 927670FB.

Figure 4. Time of error information in the STATUS FAILDATA report
  ⋮
 OTHER SERVICEABILITY INFORMATION

   Recovery Routine Label:  CSVLEBLD
   Date Assembled:          00245
   Module Level:            HBB7705
   Subfunction:             LIBRARY-LOOKASIDE

 Time of Error Information

   PSW: 070C0000 811E6A3C   Instruction length: 04   Interrupt code: 0004
   Failing instruction text: E0009276 70FB5030 70F8D7F7

   Registers 0-7
   GR: 0002A017 00FBE800 00000000 00000076  00000C60 00FBE600 0002A016 00000017
   AR: 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
   Registers 8-15
   GR: 012221A8 811E69F8 00000001 30000000  00FD82C8 811CAD90 011E69D0 011E69D0
   AR: 00000000 00000000 00000000 00000000  00000000 00000000 00005F60 00000000
  ⋮

The failing instruction text displayed in this report is always 12 bytes, 6 bytes before and 6 bytes after the PSW address. In this example, the failing instruction, 927670FB, is an MVI of X'76' to the location specified by register 7 + X'FB'.

Register 7 at the time of the error, shown under Registers 0-7 above, contained a X'00000017'. The attempted move was to storage location X'112'. The first 512 bytes of storage are hardware protected. Any software program that tries to store into that area without authorization will receive a protection exception error and a storage protection exception error.

See z/Architecture® Principles of Operation for information about machine language operation codes, operands, and interruption codes.

To find the module that abnormally terminated and the offset to the failing instruction, use the WHERE command. WHERE can identify the module or CSECT that the failing PSW points to.