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.
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:
-
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.
-
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.
-
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.
-
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.
-
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
-
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.
-
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.