Finding which tasks are associated with the error

To find out which tasks are associated with the error, you can use the kernel task summary. The kernel task summary shows which tasks were in the system when the dump was taken, whether those tasks were running, and whether they were in error.

About this task

The task summary is in the form of a table, where each line in the table represents a different task. The left-hand column of the task summary shows the kernel task number, which is the number used by the kernel domain to identify the task. This is not the same as the normal CICS® task number taken from field TCAKCTTA of the TCA.

Figure 1 shows an example of a kernel task summary with a task in error.
Figure 1. Kernel task summary showing a task in error
===KE: Kernel Domain KE_TASK Summary

KE_NUM KE_TASK  STATUS       TCA_ADDR TRAN_# TRANSID DS_TASK  KE_KTCB  ERROR    TCB                 CURRENT_PSW

0001   290F5000 KTCB Step    00000000                00000000 29178038        009C3070  078D1000 80000000 00000000 28F71084
0002   290F5680 KTCB QR      00000000                2917CE00 2917B200        009CE9A8  070C0000 80000000 00000000 00FF3B68
0003   29112000 KTCB RO      00000000                2917CF00 2917A168        009CEBD8  078D1000 80000000 00000000 28F189C8
0004   29112680 KTCB CO      00000000                291CBF00 29278F68        009CE778  078D1000 80000000 00000000 28F189C8
0005   2912F000 KTCB FO      00000000                291D7300 291790D0        009FC0F8  078D1000 80000000 00000000 28F189C8
0006   2912F680 Not Running  00000000                2928D080 2917A168
0007   2914C000 Not Running  29392700 00043  CSNE    292E6E00 2917B200
0008   2914C680 KTCB SL      00000000                291D7D00 3BF15000        009ABB88  078D1000 80000000 00000000 28F189C8
0009   29169000 Not Running  00000000                2928D500 2917B200
000A   2931F800 KTCB CQ      00000000                292AC300 29299F68        009ABE88  078D1000 80000000 00000000 29DDD7BA
000B   2A8AF100 Not Running  29394100 00035  CISE    2928D800 2917B200
000C   2A280100 Unused
000E   2A8BC100 Not Running  29393100 00036  CISM    2928DB00 2917B200
000F   2A280800 Unused
0010   2A8BC800 Not Running  29393700 00037  CISP    2928DC80 2917B200
0011   2A87F100 Not Running  2938E100 00007  CSSY    3BF78380 2917B200
0012   292FD000 Not Running  2938D700 00006  CSSY    292E6B00 2917B200
0013   2A29D100 Unused
0014   2A29D800 Unused
0016   2A2BA100 Unused
0017   292FF680 Not Running  2938C700 00004  CSOL    2928D380 3BF15000
0018   3BF5B000 Not Running  2938D100 00005  CEPM    292E6500 3BF74F68
0019   2A2BA800 Unused
001B   2A7FF800 Not Running  00000000                2928DE00 2917B200
001C   2A87F800 Not Running  2938B700 TCP    CSTP    3BF78B00 2917B200
001E   3BFB3000 KTCB SP      00000000                3BF96000 3BF42F68        009AB488  078D1000 80000000 00000000 28F189C8
0020   3BFD0000 KTCB EP000   00000000                292ACE00 3BF74F68        009A9E88  078D1000 80000000 00000000 28F189C8
0021   2A8AF800 Not Running  2938F100 00025  CFQR    3BF78200 2917B200
0023   2A2D7100 Unused
0024   3BFFC680 Not Running  2938C100 00031  CSHQ    3C09D380 2917B200
0026   2A2D7800 Unused
0027   2A2F4100 Unused
0029   3C054000 KTCB L8000   00000000                291D7E00 292BB000        009A3E88  078D1000 80000000 00000000 28F189C8
002B   3C071000 ***Running** 00000000                2928D980 29299F68        009ABE88  078D1000 80000000 00000000 29DDD7BA
002C   3C071680 Not Running  2938E700 00034  CISR    2928D200 2917B200
002E   3C08E680 Not Running  00000000                3C09DE00 2917B200
002F   2A2F4800 Unused
0030   2A2FE100 Unused
0031   2A910100 Not Running  29391700 00027  CSZI    292E6980 3BF88F68
0032   2A2FE800 Unused
0033   2A94B800 KTCB SZ      00000000                3BFD0700 3BF88F68        009A4348  070C0000 80000000 00000000 010B2C90
0036   3C103680 KTCB SO      00000000                291D7F00 3BF17F68        009AB788  078D1400 80000000 00000000 28F189C8
0037   2931F100 Not Running  00000000                3C09D080 2917B200
0038   2A2FF100 Unused
.
.
.
008F   2A7FC800 Unused
0090   2A7FF100 ***Running** 29390700 00049  6421    3BF2F080 2917B200 *YES*  009CE9A8  070C0000 80000000 00000000 00FF3B68
0091   2A8EB100 Not Running  2938F700 00024  CFQS    292E6C80 2917B200
0092   2A8EB800 Not Running  29391100 00026  CSNC    3C09D980 2917B200
0094   2A910800 Not Running  29392100 00023  CEPF    292E6380 3BF01000
0097   2A94B100 KTCB EP001   00000000                3BF79900 3BF01000        009A9390  078D1000 80000000 00000000 28F189C8

Procedure

  1. Locate the task summary table in the formatted dump, and look in the ERROR column. If you find a value of *YES* for a specific task, that task was in error at the time that the dump was taken.
    Note: If the recovery routine that is invoked when the error occurs does not request a system dump, you will not see any tasks flagged in error. In such a case, the system dump is likely to have been requested by a program that is being executed lower down the linkage stack and that received an abnormal response following recovery. The program that received the error has gone from the stack, and so cannot be flagged. However, error data for the failing task was captured in the kernel domain error table (see Finding more information about the error). Error data is also captured in the error table even when no system dump is taken at all.

    In Figure 1, you can see that kernel task number 0090 is shown to be in error.

  2. Look next at the STATUS column.
    For each task you can see one of the following values:
    • ***Running**, meaning that the task was running when the system dump was taken. If more than one task is shown to be running, the different tasks are attached to separate TCBs.
    • Not Running, meaning that the task is in the system but is currently not running. For example, the task might be suspended because it is waiting for a resource, or the task might be ready to run but waiting for a TCB to become available.
    • KE_KTCB, referring to CICS control blocks that correspond to the CICS TCBs. These are treated as tasks in the kernel task summary.
    • Unused, meaning either that the task was in the system but it has now terminated, or that there has not yet been a task in the system with the corresponding task number. Earlier unused tasks are likely to have run and terminated, and later ones are likely never to have represented actual tasks. It is most unlikely that you will ever need to distinguish between the two possibilities.
    It is very likely that the task shown to be in error has a status of Running, as in the example of Figure 1. Such a task would have been running at the time the error was detected.

    It is possible, but less likely, that the task shown to be in error has a status of Not Running. This situation might occur if the task in error was attempting recovery when, for some reason, it was suspended.

  3. If you are using trace to help you diagnose a problem, use the TRAN_# and KE_NUM columns of the kernel task summary to find more information about the task.
    The TRAN_# column for a task can contain the following information:
    • A number that matches the task number in the corresponding trace
    • TCP for the CICS terminal control task
    • Other character entries for CICS system tasks (for example, a component identifier such as AP for a CICS system task in the AP domain).
    When you are working with trace output, you can use the number from the TRAN_# column to identify entries associated with a user task up to the point when that task passes control to CICS.

    To identify the CICS processing associated with the user task, use the entry in the KE_NUM column of the kernel task summary. This matches the KE_NUM shown in the full trace entries for the task so that you can distinguish the CICS processing associated with the task you are interested in from other CICS processing.