z/OS Communications Server: SNA Diagnosis Vol 1, Techniques and Procedures
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Abnormal end (abend)

z/OS Communications Server: SNA Diagnosis Vol 1, Techniques and Procedures
GC27-3667-00

If the problem is an abend, use the procedure in Figure 1 to collect the following documentation:
Figure 1. Overview of the abend procedure
Diagram that shows the overview of the abend procedure.

The following procedure describe each step shown in Figure 1.

  1. Get dump output.VTAM® usually produces a dump for an abend. If no dump was taken, the dump files or spools might be full. Check for a message that an error occurred while VTAM was trying to produce the dump. If VTAM is not able to complete the dump, you have to re-create the abend or wait for it to occur again.
    Note: To extract abend information from a VTAM dump, invoke the CLIST ISTVABND or continue with the following steps.
  2. Find the symptom string.

    A symptom string is a structured database search argument. The symptom string gives information about what was happening at the time of the abend. Message IST931I, which contains the symptom string text, is issued when a symptom string is produced. A record is written to the LOGREC data set whenever VTAM takes a supervisor call (SVC) dump. For about 85% of all abends, recovery routines produce a symptom string subset, which you can get by printing LOGREC. The symptom string subset, if it occurs, is located in control block SDWA in LOGREC.

    The SDWA address should be listed in the beginning of the dump, in the dump abstract information. It is also printed out in LOGREC, labeled "Hex Dump of Record" at the end of each software entry.

    The symptom string begins at X'194' in the SDWA. Field SDWAURAL gives the length of the symptom string, which can be up to 256 bytes.

  3. Find the abend, system completion, or user completion code.

    You can find the abend (or completion) code in the output of several different service aids. The system control block RTM2 work area (RTM2WA), the SYS1.LOGREC software record, and the task control block (field TCBCMPC) contain the completion code. The RTM2WA is pointed to by the TCB of the failing task (field TCBRTWA), and is listed after the abnormally ending TCB.

    For more information on the abend codes issued by VTAM, see z/OS Communications Server: IP and SNA Codes.

  4. Determine whether the abend code is OCx.If the completion code is of the form 0Cx (where x = the program interruption code from the PSW), continue with this step. If the abend code is not 0Cx, go to step 5.
    1. Find the program status word (PSW) at the time of the abend.

      The PSW is found in the LOGREC output, the SDWA, or the RTM2WA.

      The location of the PSW in the dump output varies depending on the type of dump taken. For assistance in locating the PSW in dump output, see the diagnostic books for your operating system.

    2. Find the failing address or the failing instruction.

      The PSW contains either the address of the next instruction to be executed at the time of the abend or the instruction that failed at the time of the abend, depending on the interruption code.

      If the interruption code is X'10' or X'11', the PSW address points to the failing instruction. Otherwise, back up the PSW by the instruction length, and that is the failing instruction. Scan the dump output to find the address given in the PSW.

      If you cannot find the address, the dump might not contain the relevant portion of main storage.

    3. Find the module ID for the module that contains the failing address.
      VTAM identifies modules with the module name, Julian date, and PTF or APAR eye-catcher at or near the beginning of each module. This module identifier is in the form:
      ISTxxxxx yy.ddd nnnnnnn

      where xxxxx is the last five characters of the module name, yy.ddd is the Julian date the module was assembled, and nnnnnnn is the latest PTF or APAR fix (if any) that has been applied to this module.

      Sometimes VTAM puts the module name of the failing module in LOGREC. If it is not there, you can find it in a dump. To find the module ID in a dump, start at the failing address and scan in descending address order along the right side of the listing.The module ID is printed in EBCDIC.

      You can also scan the LPA map for the name of the load module and then go to the AMB list in the load module to find the CSECT that contains the failing address.

    4. Find the general registers.

      The general registers in use at the time of the abend are found in the LOGREC output, the SDWA, or the RTM2WA.

      Use the diagnostic books for your operating system to help find the registers.

    5. Determine which register has information that is not valid.

      The failing instruction often uses a register with an address that is not valid in one of the general registers, or points to a location that is not valid (for example, low-address storage). Use Principles of Operation for your operating system, the program interruption code from the SDWA and the general registers used in the failing instruction, to determine (if possible) which register contains or points to incorrect data.

      Note: When determining the validity of the register's contents, be careful to consider the address mode used by your operating system. Depending on the address mode being used, values used in 31-bit addressing might be interpreted differently than those used in 24-bit addressing.

      Next go to step 9.

  5. Determine whether the abend code is 0AB, 0AC, 0AD, or 15D.These abend codes indicate a TSO/VTAM abend. For diagnosis information, see TSO/VTAM abends.
  6. Determine whether the abend code is OAx.If the abend code is in the form 0Ax, continue with this step. If not, go to step 7.
    1. Find the abend code explanation in z/OS Communications Server: IP and SNA Codes.

      An abend code of 0Ax indicates a problem within the VTAM network. The problem could have originated in VTAM, the NCP, an application program, or the hardware of some other network component. Look up the code in the information about Abend Codes in z/OS Communications Server: IP and SNA Codes. Most 0Ax abends place a return or reason code in register 15 at the time of failure. You can find the return code in register 15 by using the set of general registers from the LOGREC output, the SDWA, or the RMT2WA.

    2. Find the address of the module that issued the abend, using the PSW, which points to the next instruction after SVC 13.
    3. Find the module ID.

      From the address determined in the previous step, scan in descending address order through the dump to find the module ID (see step 4c).

      Go to step 9.

  7. Determine whether the abend code is 80A, 40D, or 202.

    If the abend code is one of these, continue with this step. Otherwise, continue with step 8.

    These abend codes indicate storage problems. Collect the following documentation:
    • A dump of the VTAM address space
    • A dump of the VTAM common storage area (CSA)
    • LOGREC output
    • VIT output at the time of the abend

    After obtaining this documentation, go to Reporting the problem to IBM.

  8. If the abend code is none of the above, see your operating system documentation.

    To determine the publication that describes the abend codes for your operating system, see Table 1.

    Each code has an explanation of the documentation required and the problem determination steps to follow. For example, many abends occur during execution of SVC instructions. Parameter lists and register contents passed to SVC routines are in the diagnostic books for your operating system. These books might suggest that you obtain additional information such as a module name, a return code, a register containing information that is not valid, or the name of a system control block containing parameters that are not valid. After making a complete check of these sources, you are ready to report the problem.

  9. Report or go to the failing module procedure.If you determined the module ID, go to Failing module. Otherwise, see Reporting the problem to IBM.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014