ABENDU1026 analysis

To analyze ABENDU1026 failures, you determine the documentation to obtain, and how to find and interpret diagnostic data from the documentation. Gather the necessary data before searching an IBM® Software Support database or calling the IBM Software Support.

Several modules issue ABENDU1026 to indicate conditions that should not occur. The dependent region abends, but the IMS control region continues processing. Message DFS2712I accompanies ABENDU1026.

This analysis is based on using a dump that you can format with the Offline Dump Formatter (ODF). The following tables describes where to find ODF information.

Table 1. Locating information about the Offline Dump Formatter (ODF)
For information about Refer to
Obtaining dumps that are suitable for input to the ODF Input for the IMS Offline Dump Formatter
Running the ODF IMS Version 15.2 Database Utilities
Using the ODF to solve problems Formatting IMS dumps offline

Before beginning the analysis, you need the following information:

  • A copy of the DFS2712I message
  • A dump formatted by the ODF
  • A copy of IMS Version 15.2 Messages and Codes, Volume 3: IMS Abend Codes

If an authorized program analysis report (APAR) is necessary, you might also need the following information:

  • The last successful image copy of the database encountering the problem
  • The IMS logs from the time of the last successful image copy to the point of failure
  • A copy of the Fast Path trace, if Transaction Retry was invoked

The following example procedure takes you through the analysis of an actual ABENDU1026 until you have collected enough data to search an IBM software support database or call the IBM Support Center.

This example procedure uses the sample message DFS2712I in the following figure. Message DFS2712I is sent to the console. Save a printed copy of the message.

 DFS2712I    MODULE NAME:    DBFMRCU0
 DFS2712I    ABEND SUBCODE:  0053
 DFS2712I    AREA NAME:      DB21AR0
 
 DFS2712I    MLTE:
 DFS2712I    02A923BC  02919E60 00000000 00000000 00001008
 DFS2712I    02A923CC  02903310 00005A08 00001008 00040400
 DFS2712I    02A923DC  03018000 001C0008 029328B4 00060000
 DFS2712I    02A923EC  00000000 00000000 00000000 02A92178
 DFS2712I    02A923FC  02A92470 0072F70A 00000000 40800000
 DFS2712I    02A9240C  00000000 00000000 00000000 00000000
 DFS2712I    02A9241C  00000000 00000000 00060000 00000000
 DFS2712I    02A9242C  00000000
 
 DFS2712I    BUFFER CONTENTS:
 DFS2712I    02919E58  016C0802 40000000 99000000 5C08015E
 DFS2712I    02919E68  C1C140E3 C8C9E240 C9E240E3 C8C540C6
 DFS2712I    02919E78  C9D9E2E3 40F3D9C4 40D3C5E5 C5D340E2
 DFS2712I    02919E88  C5C7D4C5 D5E34040 40404040 40404040
 DFS2712I    02919E98  40404040 40404040 40404040 40404040
   .    .   .   .   .   .   .   .   .   .   .   .   .   .
 
 DFS2712I    R0-R3   00000008 00000053 02919E60 02A92010
 DFS2712I    R4-R7   02A923BC 008138D4 00000008 00005A00
 DFS2712I    R8-R11  00000004 02903310 0070B040 0086DF20
 DFS2712I    R12-R15 00818BA0 0070767C 80818C62 00000018

Procedure

Use the following steps to analyze ABENDU1026:

  1. Locate the module name and subcode associated with the abend. This information appears in the first few lines of message DFS2712I.
    In the previous example, the module name is DBFMRCU0 and the subcode is 0053.
  2. To find the meaning of the subcode, look up ABENDU1026 in IMS Version 15.2 Messages and Codes, Volume 3: IMS Abend Codes. Find module DBFMRCU0 and subcode 0053.

    The description of subcode 0053 is: MLTE segment code (Reg4 + X'1E') is not equal to the DSEGCODE of the segment pointed to by register 2.

    This means that the segment code in field MLTESGCD in MLTE (a Fast Path control block) does not match the segment code of the segment in the buffer (DSEGCODE). Therefore, your next step is to determine what the mismatched values are.

  3. Check IMS Version 15.2 Messages and Codes, Volume 3: IMS Abend Codes again to determine which registers you must examine.

    The important registers are:

      Register 8 = MLTESGCD
      Register 2 = Address of the segment; DSEGCODE is the first byte

    In the previous example, the register contents appear at the bottom of message DFS2712I.

  4. Use the registers and the buffer contents in the message to compare the segment code in the segment in the buffer (DSEGCODE) with the segment code in field MLTESGCD in the MLTE. These codes must match.
    • Register 8 contains the segment code from field MLTESGCD in the MLTE. In the example, register 8 has a value of 00000004.
    • Register 2 contains the address of the segment in the buffer. The first byte of the segment is the segment code (DSEGCODE). In the example, DSEGCODE has a value of 99.
    • Because the segment code from the MLTE (04) does not match the segment code of the segment (99), ABENDU1026 occurred.

    There are several ways to find this data. To find the segment code in field MLTESGCD in MLTE, you can also use register 4 + X'1E'. To find the DSEGCODE, you can also use register 6 (00000008), which is the offset in the buffer to the DSEGCODE.

  5. Look at the module save area set to determine the module flow leading to the abend. You can use the Offline Dump Formatter (ODF) to format the save area set in a dump by specifying FMTIMS DB,MIN.
    • Register 13 in message DFS2712I contains the address of the save area for the PST that suffered the abend.
    • In the example message in the previous example, register 13 contains the address 0070767C.
    • In the **DPST section of the formatted dump in the following example, search for a save area (SA) with address 0070767C. If you are searching online, the second occurrence you find is the save area.
    ***SAVE AREA SET***
     
    EP   DBFMCLX005/06/8804.27PL24768 ABCD
    SA  0070755C       WD1 8071B310     HSA 80000000     LSA 007075A4     RET 8088070E     EPA 00812FE0      R0 00000519
                        R1 8071B310      R2 C7D5D740      R3 02A92010      R4 0001A000      R5 00707050      R6 00000000
                        R7 8072F624      R8 00707050      R9 0072F6CC     R10 0070B040     R11 0086DF20     R12 00880042
    EP   DBFMGNX003/03/8820.09PL22770 AB
    SA  007075A4       WD1 00000000     HSA 0070755C     LSA 007075EC     RET 808131A0     EPA 00814528      R0 00000519
                        R1 8071B3AB      R2 C7D5D740      R3 02A92010      R4 02A92090      R5 008138D4      R6 FFFFFD80
                        R7 FEE06FD4      R8 00707050      R9 0072F6CC     R10 0070B040     R11 0086DF20     R12 00812FE0
    EP   DBFMPUG005/11/8800.59PL26682 ABCDE
    SA  007075EC       WD1 00000000     HSA 007075A4     LSA 00707634     RET 8081466A     EPA 00816900      R0 00000519
                        R1 8071B3AB      R2 00000000      R3 02A92010      R4 02A92178      R5 008138D4      R6 FFFFFD80
                        R7 FEE06FD4      R8 00707050      R9 0072F6CC     R10 0070B040     R11 0086DF20     R12 00814528
    EP   DBFMRCU003/21/8618.02PTO1119 0
    SA  00707634       WD1 00000000     HSA 007075EC     LSA 0070767C     RET 80816ABE     EPA 00818BA0      R0 00000519
                        R1 8071B3AB      R2 02A92178      R3 02A92010      R4 02A923BC      R5 008138D4      R6 FFFFFD80
                        R7 00005A08      R8 0291AE66      R9 0072F6CC     R10 0070B040     R11 0086DF20     R12 00816900
    EP   DBFMPGO002/04/8617.58PP35272 1B
    SA  0070767C       WD1 00000000     HSA 00707634     LSA 007076C4     RET 80818C62     EPA 00818FD8      R0 00000008
                        R1 8071B3AB      R2 02919E60      R3 02A92010      R4 02A923BC      R5 008138D4      R6 00000008
                        R7 00005A00      R8 00000004      R9 02903310     R10 0070B040     R11 0086DF20     R12 00818BA0
    EP   DBFMSRB002/13/8716.56PP58251 AB
    SA  007076C4       WD1 00000000     HSA 0070767C     LSA 0070770C     RET 80822377     EPA 008285F0      R0 FFFF4040
                        R1 02903310      R2 02932A08      R3 02903278      R4 808222E0      R5 00822638      R6 00005A00
                        R7 00BBCF78      R8 02932A08      R9 02903310     R10 0070B040     R11 0086DF20     R12 008221B8
    EP   DBFXSL3007/08/8819.02PL28384 AB
    SA  0070770C       WD1 00000000     HSA 007076C4     LSA 00707754     RET 808286D7     EPA 00823D38      R0 00000000
                        R1 0070B040      R2 02932A70      R3 02903278      R4 02903310      R5 0071A250      R6 00005A00
                        R7 00BBCF78      R8 02932A08      R9 02903310     R10 0070B040     R11 0086DF20     R12 008285F0
  6. In the example above, the module flow, reading from the top down, is DBFMCLX0, DBFMGNX0, DBFMPUG0, and DBFMRCU0, which is where the abend occurred. Notice that other modules follow DBFMRCU0 in the flow. You can ignore these modules now. However, they might be important later in the problem analysis.
  7. Information from other sources might help you while searching the IBM software support database or talking with the IBM Support Center representative.

    If an MPP or an IFP received the ABENDU1026, the Transaction Retry function should have retried the transaction.

    Look in your MTO log for messages DFS0663I, DFS0784I, DFS0785I, DFS0787I, and other messages associated with a retry to find out what happened.

After you complete these steps, you have most of the following information:
  • The abend code (ABENDU1026).
  • The subcode (SUBCODE053).
  • The module name (DBFMRCU0).
  • The save area flow leading to the abend.
  • The field in error (MLTESEGCD or DSEGCODE). You might not be sure which field is incorrect.
  • Any messages produced by a transaction retry (for example, MSGDFS0663I).

With this information you are ready to search the database or contact IBM Software Support.