Opening The CICS Toolbox
Opening The CICS Toolbox
Opening The CICS Toolbox
Peggy DeVal
IBM CICS Support Center
Agenda
Dump types
Some basic IPCS commands
CICS Verbexit DFHPDxxx
Common System Area (CSA)
Storage Manager (SM)
Transaction Manager (XM)
Dispatcher (DS)
Kernel (KE)
Loader domain (LD)
Program domain (PG)
Lock Manager (LM)
Enqueue domain (NQ)
Application domain (AP)
Trace (TR)
2
Dump types formatted with IPCS
• SVC dumps (also called SDUMPs).
• Dumps requested by CICS (or occasionally another product).
• Dumps requested by CICS will include CICS DUMP in the title:
Dump Title: CICS DUMP: SYSTEM=IYNXS CODE=XM0002 ID=64/0064
6
IPCS Subcommand Menu
7
Status commands
• Status (ST)
• Displays the dump title:
Dump Title: CICS DUMP: SYSTEM=IYNXS CODE=XM0002 ID=64/0064
• The title tells you who requested the dump:
• CICS, SLIP, console dump, or another product.
• Dump title can give clues about the health of CICS or error
information that will be available.
• Status System (ST SYS)
• Displays the time the dump was requested, and the difference
between Local time and GMT:
TIME OF DAY CLOCK: C70F090C C054DA04 12/20/2010 23:57:24.279629 local
TIME OF DAY CLOCK: C70F5984 1DD4DA04 12/21/2010 05:57:24.279629 GMT
Program Producing Dump: SVCDUMP
Program Requesting Dump: DFHKETCB
8
What address spaces are included?
• Cbf rtct
• Displays the ASIDs that are included in the dump:
SDAS SDF4 SDF5
---- ---- ----
001 0144 80 00
002 016C 80 00
9
Browsing the dump
• Option 1 on the IPCS Menu Panel.
• =1 from the IPCS command menu.
• Addresses that begin with an alphabetic character must be
preceded by a 0 or followed by a period(.)
• Indirect addressing.
• ? - Displays storage at a selected address:
ASID(X'010B') ADDRESS(1BE02100.) STORAGE -----------------------------------
1BE02100 ? 1BE02200 00000000 00000000 0004D948 | .\............R. |
1BE02110 1C93D840 00000000 00000000 00000000 | .lQ ............ |
1BE02120 0000054C 00000000 00000000 80D0357C | ...<.........}.@ |
10
CICS Verbexit options through CICS TS 4.1
Keyword Functional area Keyword Functional area
AI = 0|2 Autoinstall Model Manager MRO = 0|2 CICS Multi-Region Operation
AP = 0|1|2|3 Application Domain APS=<TASKID=nnnnn> NQ = 0|1|2|3 Enqueue Manager
AU = 0|2 CICS affinities utility OT = 0|1|2|3 Object Transaction Domain
BA = 0|1|2|3 Business application manager PA = 0|2 Parameter manager domain
BR = 0|1|2|3 3270 bridge PCP = 0|2 Program Control Program
CC = 0|2 CICS catalog domain PCT = 0|2 Program Control Table
CP = 0|2 Common Programming Interface PG = 0|1|2|3 Program Manager Domain
CQ = 0|1|2 Auto install model manager PI = 0|1|2|3 Pipeline Domain (640)
CSA = 0|2 CICS Common System Area PR = 0|2 Partner Resource management
DB2 = 0|1|2|3 The CICS DB2 interface PT = 0|1|2|3 Partner Domain
DD = 0|1|2|3 Directory Domain RD = 0|2 Resource definition manager
DH = 0|1|2|3 Document handling domain RL = 0|1|2|3 Resource Lifecycle domain (660)
DLI = 0|2 CICS DL/I Interface RM = 0|2 Recovery Management
DM = 0|1|2|3 Domain Manager RS = 0|1|2|3 Region Status domain (660)
DP = 0|1|2|3 Debug Profiles manager (630) RX = 0|1|2|3 Recoverable EXCI domain
DS = 0|1|2|3 Dispatcher Domain RZ = 0|1|2|3 Request Streams
DU = 0|2 Dump Domain SH = 0|1 Scheduler services domain for BTS
EC = 0|1|2|3 Event Capture domain (660) SJ = 0|1|2|3 JVM Domain
EJ = 0|1 Enterprise JAVA SM = 0|1|2|3 Storage Manager domain
EM = 0|1|2|3 Event manager domain for BTS SO = 0|1|2|3 Sockets domain
EP = 0|1|2|3 Event Processing domain (660) SSA = 0|2 Static Storage Areas
FCP = 0|2 File Control Program ST = 0|1|2|3 Statistics domain
FT = 0|1|2|3 CICS WEB Interface SZ = 0|1 Front End Programming Interface
ICP = 0|2 Interval Control Program TCP = 0|1|2|3 Terminal Control Program
IE = 0|1|2|3 IP ECI Domain TDP = 0|1|2|3 Transient Data Program
II = 0|1|2|3 IIOP TI = 0|1|2|3 Timer domain
IND = 0|1|2|3 Page number indexes for output TMP = 0|2 Table Manager Program
IS = 0|1|2|3 IP Interconnectivity domain (650) TR = 0|1|2|3 Trace domain TRS=<trace selection parameters>
JCP = 0|2 Journal Control Program TS = 0|1|2|3 Temporary Storage Program
KE = 0|1|2|3 CICS Kernel UEH = 0|2 User Exit Handler
LD = 0|1|2|3 Loader Domain US = 0|1|2|3 User Domain
LG = 0|1|2|3 Logger Domain WB = 0|1|2 The web interface
LM = 0|1|2|3 Lock Manager domain W2 = 0|1|2|3 Web 2.0 domain (660)
ME = 0|2 Message domain XM = 0|1|2|3 The transaction manager
ML = 0|1|2|3 Markup Language domain (660) XRF = 0|2 The extended recovery facility
MN = 0|1|2|3 Monitoring domain XS = 0|1 Security Domain
MQ = 0|1|2|3 CICS-MQ interface (650)
1 – Summary only
2 – Full control block formatting
3 – Both 1 and 2. If you omit the level number, it defaults to level 3 for components
that have a summary, and level 2 for those that do not.
11
CICS Verbexit
12
CSA Time of Day clock (CSA)
• The CICS CSA has a timestamp that is updated each time a
task is dispatched on the QR TCB.
• It is also updated when an application program issues an EXEC
CICS ASKTIME request.
• This timestamp is in the form HHMMSSTF Local time, and can
be found in the CSA +x’50’.
• If CICS is hung, compare the CSA TOD clock to the time of the
dump to see when a task was last dispatched on the QR TCB.
• Verbx dfhpd660 ‘csa’
CSA 0004E200 Common System Area
13
Storage Manager (SM)
• Storage manager summaries show whether CICS is short-on-
storage (SOS), above/below the line, above bar.
• Also shows whether Storage Protection, Reentrant
Program Protection, and Transaction Isolation are active.
• Verbx dfhpd660 ‘sm=1’
===SM: STORAGE MANAGER DOMAIN - SUMMARY
SM Domain status: INITIALISED
Storage recovery: YES
Storage protection requested: YES
Storage protection active: YES
Reentrant program option: PROTECT
Transaction isolation requested: NO
Transaction isolation active: NO
16
MXT Summary (XM)
• Verbx dfhpd660 ‘xm=1’
• MXT and TCLASS Summaries are at the end of the formatted
summaries.
• Max to the bottom of the formatted output by entering m followed by
PF8.
==XM: MXT SUMMARY
17
TCLASS Summary (XM)
• Page backwards from the MXT Summary to see the TCLASS
summary:
==XM: TCLASS SUMMARY
18
Task Attach Time (XM)
• Verbx dfhpd660 ‘xm=3’
==XM: TRANSACTION SUMMARY
• FIND on the TXN address. Task attach time is in the TXN +x’50’:
TXN 1B709300 Transaction
Shows what TCB a task is running on, suspended on, or waiting to run on
21
What time did a task become ‘Running’ or
Dispatchable?
• Dispatcher Task Summary shows the time a task was
suspended, but not what time a task became ‘Running’ or
‘Dispatchable’.
• Tasks that are ready to run but the dispatcher hasn’t dispatched
them yet are ‘Dispatchable’.
• Dispatcher Task Summary includes the address of the
Dispatcher Task Area (DTA) control block.
• DTA has two clock fields at +x’50’ and +x’58’.
When a task is ‘Dispatchable’, the DTA +X’50’ contains the time the
task became dispatchable.
For a suspended task, DTA +X’50’ is also the time the task was
suspended.
For a running task, DTA +X’58’ is within .1 second of the time the task
became ‘running’ (i.e. was dispatched).
22
What time did a task become Running ? (DS)
• Verbx dfhpd660 ‘ds=3’
DS_TOKEN KE_TASK T S F P TT RESOURCE RESOURCE W TIME OF TIMEOUT DTA AD ATTACHER M SUSPAREA XM_TXN_TOKEN
TYPE NAME SUSPEND DUE (DSTSK) TOKEN
...
07046CFB 1E584900 N R 1D5F4380 XM 1EDA6100 QR 1EDA6100043738C
07065887 1E4BA100 N S N N - LMQUEUE S 20:00:30.503 - 1D5F4500 XM 2170DD00 QR 1D395200 2170DD00044047C
070C338D 1E48E100 N D 1D5F4980 XM 2170DB00 QR 2170DB00044046C
020A0003 20FCE100 S D 30288800 XM 20FCC900 QR 20FCC900043202C
020C0001 20FCE500 S D 30288980 XM 20FCCB00 QR 20FCCB00043276C
020E0001 20FCE900 S D 30288B00 XM 20FCCD00 QR 20FCCD00043373C
02100003 20FD2100 S D 30288C80 XM 20FCC500 QR 20FCC500043444C
0A9202AD 16E23500 N S P N - IRLINK AOR2S003 M 13:08:25.177 - 20B4AE00 XM 18EF1900 QR 7F46B320 18EF1900044796C
0000 FFFFFFFF 07046CFB 40404040 40404040 D3D4D8E4 C5E4C540 40404040 40404040 *......%. LMQUEUE *
0020 1D5F4380 00040000 FE000000 1D5AD080 FFFFFFFF 00000000 FFFFFFFF FFFFFFFF *.^...........!}.................*
0040 00000000 02FF0000 DFFFFFFF 1DD12A53 C6C67656 4B8F5F84 C6C67656 4F3AE284 *.............J..FF....^dFF..|.Sd*
0000 FFFFFFFF 070C338D C4E2E3E2 D2C4C5C6 070C338D E3E9F140 40404040 40404040 *........DSTSKDEF....TZ1 *
0020 1D5F4980 00010000 FE000000 1D5FF680 1D5F3200 00000000 FFFFFFFF FFFFFFFF *.^...........^6..^..............*
0040 00000000 03FF0000 3938922F 9F7B81FB C6C66DEF 925B7E05 C6C5C0CF 5E82D285 *..........k..#a.FF_.k$=.FE{.;bKe*
24
Kernel (KE)
• Verbx dfhpd660 ‘ke=1’
• Task Summary
• Includes all the tasks currently in the system.
• Also includes a default task for each MVS TCB managed by
the Kernel.
• Shows tasks that are ***Running** if the task is currently
dispatched on a TCB.
• Shows tasks flagged with an error (when any kernel stack for
the task has been flagged with an error).
• Kernel Error Data (if applicable)
• Kernel Stacks
• Kernel Error Table Summary
• Formats the 50 most recent errors in CICS.
25
Kernel Task Summary (KE)
• Verbx dfhpd660 ‘ke=1’
===KE: Kernel Domain KE_TASK Summary
KE_NUM KE_TASK STATUS TCA_ADDR TRAN_# TRANSID DS_TASK KE_KTCB ERROR
0001 0E38FA98 KTCB Step 00000000 00000000 0E3D3FE0
0002 0E38F530 KTCB QR 00000000 0E603100 0E3D6FF8
0003 0E39EA98 KTCB RO 00000000 0E603200 0E3D5FF0
0004 0E39E530 KTCB FO 00000000 0E603300 0E3D4FE8
0005 0E3ADA98 Not Running 00000000 0E582080 0E3D5FF0
0006 0E3AD530 Not Running 0E6DC100 00040 CSNE 0E582200 0E3D6FF8
0007 0E3BCA98 KTCB SL 00000000 0E603500 0E5BEFF8
0008 0E3CBA98 ***Running** 00000000 0E582680 0E58CFF8
0009 0E3CB530 KTCB EP 00000000 0E603700 1220EFF8
000A 0F7A7100 Not Running 0E6DB800 00038 CISE 0E582980 0E3D6FF8
000B 0F724100 Not Running 0E6DC800 00039 CISM 0E5A7B00 0E3D6FF8
...
002A 12274A98 KTCB CQ 00000000 0E603400 0E58CFF8
...
0042 0F4EE700 ***Running** 00062700 00069 BIGD 0E5F5080 0E3D6FF8 *YES*
0043 0F4FD700 Not Running 0E6DA800 00061 ORCA 0E5F5800 0E3D6FF8
0044 0F4FE700 Not Running 00061080 00047 BIGE 0E5F5500 0E3D6FF8
0045 0F4FF100 Not Running 0005F080 00046 CEMT 0E5F5380 0E3D6FF8
29
Example Kernel Error Data (KERRD)
=KE: Error Number: 00000009
KERRD 1A3D69D0 KERNEL ERROR DATA
0000 F0C3F461 C1D2C5C1 018400C4 0000FFFF C4C6C8D9 D4C4D440 18D61FA8 193D0800 *0C4/AKEA.d.D..DFHRMDM .O.y....*
0020 0005F080 1A3D6700 00000001 00000010 078D0000 B92F8A7A 00040010 3D711000 *..0..................:........*
0040 B92F8A7A 80800000 00000000 18E1EF30 00000000 1A3E5468 00000000 00007000 *...:..........................*
0060 00000000 98D61FA8 00000000 00076734 00000000 98CF7E20 00000000 388E2400 *....qO.y..........q.=.........*
0080 00000000 B92F87F0 00000000 04418558 00000000 B92F97F0 00000000 1A3E5468 *......g0....e.......p0........*
00A0 00000000 0000B8F0 00000000 0005F080 00000000 1A3E4F90 00000000 98D64AA2 *.......0....0.......|.....qO¢s*
00C0 00000000 B92F8940 983315D6 00000000 00000000 00000000 00000000 00000000 *......i q..O..................*
00E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *..............................*
0100 00000000 00000000 078D0000 B92F8A7A 00040010 3D711000 B92F8A7A 80800000 *.............:...........:....*
0120 00000000 18E1EF30 00000000 1A3E5468 00000000 00007000 00000000 98D61FA8 *..........................qO.y*
0140 00000000 00076734 00000000 98CF7E20 00000000 388E2400 00000000 B92F87F0 *..........q.=...............g0*
0160 00000000 04418558 00000000 B92F97F0 00000000 1A3E5468 00000000 0000B8F0 *......e.....p0...............0*
0180 00000000 0005F080 00000000 1A3E4F90 00000000 98D64AA2 00000000 B92F8940 *......0.....|.....qO¢s.....i *
PSW: 078D0000 B92F8A7A Instruction Length: 4 Interrupt Code: 10 Exception Address: 3D711000
PSW: 078D0000 00000002 Instruction Length: 2 Interrupt Code: 01 Exception Address: 000A0000
REGISTERS 0-15
32
Finding the MVS TCB address (KE)
• Often we need to find the MVS TCB for one of the CICS
TCBs:
• Verbx dfhpd660 ‘ke=3’
• Use the selected KE_KTCB from the Kernel Task Summary.
• FIND the formatted KTCB control blocks.
• For the selected KTCB address, KTCB+x’50’ contains the
address of the MVS TCB:
KTCB 0E3D5FF0 KTCB TABLE ENTRY
0000 D2E3C3C2 40404040 00000000 0E39EA98 0E39EA98 0E39F020 00000000 5166F0AE *KTCB ..q...q..0.......0.*
0020 00000000 7D000000 00000000 00000000 80000001 00000000 06820000 D900D9D6 *....'...............b..R.RO*
0040 00000000 00000000 0E3D5FF0 40000000 008E5920 00000000 00006130 00000000 *........^0 ........../.....*
• For one of the more common TCBs, like the QR, can also use
the trace domain to quickly find the TCB address:
• Verbx dfhpd660 ‘tr=2’ then enter FIND QR
AP 00E1 EIP EXIT SUSPEND OK REQ(00F4) FIELD-A(00000000 ....) FIELD-B(00001208 ....)
TASK-00069 KE_NUM-0042 TCB-QR /008E55F8 RET-9061A2F2 TIME-18:04:46.2613956572
33
Loader domain (LD)
• Verbx dfhpd660 ‘ld=1’
• Program Repertoire provides program length, use count etc.
==LD: PROGRAM REPERTOIRE
PGM NAME USE CNT USERS LOADS COPIES LENGTH USE TYP ATTRB EXEC R/A MODE DEFINITION CPE PLIBE STATUS
KEY OVERRIDE DATE TIME ADDRESS ADDRESS
DFHERM 1 1 1 1 00005708 NUC ANY RSDNT CICS - - 3/08/10 21:29:57 0E6AFAC0 0E652030 LOADED
DFHERMSP 2 2 1 1 00001600 NUC ANY RSDNT CICS - 31 3/08/10 21:29:58 0E6AFC60 0E652030 LOADED
DFHESC 1 1 1 1 00000668 NUC ANY RSDNT CICS - - 3/08/10 21:29:57 0E6AFD30 0E652030 LOADED
...
PROGRAM1 0 0 0 0 00000D20 APP RPL REUSE USER - - 9/09/10 10:45:01 0F5F2370 0E652030 LOCATED
PROGRAM2 0 0 0 0 000019F0 APP RPL REUSE USER - - 9/09/10 10:45:01 0F5F2440 0E652030 LOCATED
PROGRAM3 0 0 0 0 00002D50 APP RPL REUSE USER - - 9/09/10 10:45:01 0F5F2510 0E652030 LOCATED
PGM NAME ENTRY PT CSECT LOAD PT. REL. PTF LVL LAST COMPILED COPY NO USERS LOCN TYP ATTRIBUTE R/A MODE APE ADDR
DFHAPXM 8008EF00 DFHAPXM 0008EF00 660 HCI6600 05/30/09 02.29 1 2 RDSA ANY RESIDENT - 31 0E61C030
IPRAPXM 00090060
DFHDLI 80090314 DFHDLI 00090200 0660 HCI6600 I 30/05 03.06 1 1 RDSA ANY RESIDENT - - 0E61C1F8
IPRDLI 000913E8
DFHEITHG 00091620 -noheda- 00091600 1 1 RDSA ANY RESIDENT - - 0E61E030
DFHERM 00098914 DFHERM 00098800 0660 UK48726 I 28/07 11.10 1 1 RDSA ANY RESIDENT - - 0E61F880
DFHERMS 0009CE28 0660 UK48726 I 28/07 11.10
DFHTIEM 0009D418 0660 HCI6600 I 30/05 05.09
34
Program domain (PG)
• The Program domain has a Program Level control block
(PLCB) that shows the sequence of application programs,
Task Related User Exits (TRUEs) and Global User Exits
(GLUEs) that are involved with a task.
• Verbx dfhpd660 ‘pg=1’
• FIND on the task number:
_____________________________________________________________________________________________________
==PG: PTA SUMMARY FOR TRAN NUM : 44444, PTA ADDRESS : 153F56F0
LOG-LVL : 3 SYS-LVL : 0 TASK-LLE : 1655F160 PLCB : 16029268
=PG: TASK LLE SUMMARY
LLE-ADDR PROGRAM PPTE-ADD
1655F160 COBLPGM1 16666D98
1655F1F0 COBLPGM2 16427348
1655F5E0 COBLPGM3 1665ADF0
PROG PROGRAM2 LVL 2 PLCB 16171E68 LD 18AF8F10 ENT 98AF8F10 LEN 003370 PPTE 164A6AD8 ENV EXEC INV PROGRAM1 EXIT
COMMAREA 163A3878 LEN 77AA STORAGE U
PROGRAM: PROGRAM2 CPE: 16680C60 LIB: DFHRPL CONCAT: 0E
PROG PROGRAM1 LVL 1 PLCB 1616F230 LD 18AFD000 ENT 98AFD13C LEN 0022B8 PPTE 16266C90 ENV EXEC INV CICS EXIT
PROGRAM: PROGRAM1 CPE: 15383ED0 LIB: DFHRPL CONCAT: 00
35
Program Level summary (PG)
36
LMQUEUE – Waiting on a lock
• Verbx dfhpd660 ‘ds=1’
• Dispatcher domain shows that tasks are in LMQUEUE
suspends, indicating that tasks are waiting on a lock(s):
DS_TOKEN KE_TASK T S F P TT RESOURCE RESOURCE_NAME W TIME OF TIMEOUT DTA AD ATTACHER M SUSPAREA XM_TXN_TOKEN
TYPE SUSPEND DUE (DSTSK) TOKEN
...
0512813D 1E59C100 N S N N - LMQUEUE S 20:07:00.500 - 1D58FE00 XM 226FF300 QR 1D395470 226FF3000044071C
05806301 1E5FF900 N S N N - LMQUEUE S 20:16:02.558 - 1D590080 XM 22755100 QR 1D395620 227551000044092C
0586B227 1E5B2900 N S N N - LMQUEUE S 20:58:22.757 - 1D590500 XM 2170D100 QR 1D582920 2170D1000044040C
058E7DA7 1E59C500 N S N N - LMQUEUE S 20:37:34.170 - 1D590B00 XM 22751700 QR 1D3958F0 227517000044131C
0600E50B 1E52A100 N S N N - LMQUEUE S 20:58:10.436 - 1D5F2080 XM 21713D00 QR 1D582B60 21713D000044039C
0604D7A5 1E56E100 N S N N - LMQUEUE S 20:09:01.663 - 1D5F2380 XM 226FFB00 QR 1D395500 226FFB000044076C
060A2A1D 1E48E900 N S N N - LMQUEUE S 20:57:59.773 - 1D5F2800 XM 20EB9B00 QR 1D582800 20EB9B000044034C
060C8D99 1E4A4500 N S N N - LMQUEUE S 20:05:26.882 - 1D5F2980 XM 226FC700 QR 1D3953B0 226FC7000044061C
060ED8AF 1E540900 N S N N - LMQUEUE S 20:18:03.300 - 1D5F2B00 XM 22755B00 QR 1D3956E0 22755B000044101C
06824099 1E59C900 N D 1D5F3200 XM 2173A700 QR 2173A7000044051C
0686199D 1E558900 N S N N - LMQUEUE S 20:00:47.058 - 1D5F3500 XM 2173A300 QR 1D395260 2173A3000044049C
07029D95 1E5F6500 N D 1D5F4200 XM 20FCC300 QR 20FCC3000043505C
07046CFB 1E584900 N R 1D5F4380 XM 1EDA6100 QR 1EDA61000043738C
07065887 1E4BA100 N S N N - LMQUEUE S 20:00:30.503 - 1D5F4500 XM 2170DD00 QR 1D395200 2170DD000044047C
070C338D 1E48E100 N D 1D5F4980 XM 2170DB00 QR 2170DB000044046C
07040001 15D92500 N S P N - ENQUEUE FCDSRECD S 20:01:11.363 - 2B0E2380 XM 2E40C030 QR 2B0E2380 2E40C0300043203C
070EFAFF 1E584100 N S N N - LMQUEUE S 20:59:32.626 - 1D5F4B00 XM 2170D900 QR 1D3951A0 2170D9000044044C
0710FCDF 1E4E6100 N S N N - LMQUEUE S 20:05:07.555 - 1D5F4C80 XM 226FC300 QR 1D395350 226FC3000044059C
07126B47 1E540100 N S N N - LMQUEUE S 20:06:13.407 - 1D5F4E00 XM 226FCB00 QR 1D395410 226FCB000044065C
0782000B 1E5DE900 N S N N - EKCWAIT SINGLE W 05:08:26.187 - 1D5F6200 XM 1D609B00 QR 00006058 1D609B000000076C
07840007 1E5FF500 N S P N - M 05:08:25.530 - 1D5F6380 XM 1D60A100 QR 1E62C33C 1D60A1000000053C
07860005 1E5FE900 N S P N - M 18:24:57.263 - 1D5F6500 XM 1D60AB00 QR 1E61E33C 1D60AB000000054C
07880003 1E5FE500 N S N N - LMQUEUE S 20:04:02.187 - 1D5F6680 XM 1E941100 QR 1D395290 1E9411000044055C
...
37
Lock Manager (LM)
• Verbx dfhpd660 ‘lm=1’
• FIND on keyword ‘wait’ to find the Lock Wait Queue and see
what lock(s) tasks are waiting for:
==LM: LOCK WAIT QUEUE
38
Lock Manager (LM)
39
Identify the Lock Owner
• Format the Kernel summary and FIND on the TAS address to
identify the owning task.
• Verbx dfhpd660 ‘ke=1’
KE_NUM KE_TASK STATUS TCA_ADDR TRAN_# TRANSID DS_TASK KE_KTCB ERROR
• Format the Dispatcher summary and find the task (using the
TAS address or the Task #), and see what the lock owner is
waiting for.
• Verbx dfhpd660 ‘ds=1’ (some fields deleted)
KE_TASK T S F P TT RESOURCE RESOURCE_NAME TIME OF TIMEOUT DTA M SUSPAREA XM_TXN_TOKEN
TYPE SUSPEND DUE (DSTSK)
40
Enqueue Domain (NQ)
• If Dispatcher summary shows a task waiting on an ENQUEUE:
KE_TASK T S F P TT RESOURCE RESOURCE_NAME TIME OF TIMEOUT DTA M SUSPAREA XM_TXN_TOKEN
TYPE SUSPEND DUE (DSTSK)
*NOTE: These values were reset at 04:57:03 (last statistics interval collection)
41
ENQUEUE Summary FCDSRECD (NQ)
• FIND on your task#. Task # 42303 is waiting on a file record
lock owned by a KROO task, # 42046:
OWNER / WAITER
NQEA Tran Tran Lifetime Hash
Enqueue Name Len Sta Address id Num Local Uowid Uow Tsk Indx
------------------------------ --- --- -------- ---- ----- ---------------- --- --- ----
43
Application domain (AP)
• The Application domain can be formatted with:
• Verbx dfhpd660 ‘ap=3’
• All task storage acquired on behalf of a task is formatted.
• Any storage violations currently detected by CICS are flagged when
the leading and trailing storage accounting areas don’t match.
• Task-related control blocks including the Task Control Area
(TCA), and EXEC CICS request areas are formatted.
• EXEC Interface Block (EIB) and EXEC Interface User Structure
(EIUS) can be used to find the most recent EXEC CICS request for
a task, and identify the program that made the request.
• Can selectively format storage associated with a single task:
• Verbx dfhpd660 ‘aps=<taskid=xxxxx>
• If available, will also format LE/370 storage information for the
task using the LE VERBEXIT CEEERRIP.
44
Application domain (AP)
• Verbx dfhpd660 ‘ap=3’
• FIND on keyword ‘violation’ to see any storage violations
currently detected by CICS for all task storage.
USER31.19984 1E317490 USER storage above 16MB
0000 40404040 40404040 40404040 40404040 40404040 0000000C 0000000C 0000000C * ............*
0020 00000000 0C000000 0C000000 0C000000 0C000000 0C00000C 0000000C 00000C00 *................................*
0040 00000000 0C00000C 00000C00 000C4040 40404040 40404040 40404040 40404040 *.............. *
0060 40404040 40404000 00000C00 00000C00 00000C00 00000C00 000C0000 0C00000C * .........................*
0080 00000C00 00000C40 40404040 40404040 40404040 40404040 40404040 40404040 *....... *
00A0 40404040 40000000 0C000000 0C000000 0C000000 000C0000 000C0000 000C0000 * ...........................*
00C0 000C0000 000C0000 0C000000 0C00000C 00000000 000C0000 0C00000C 00000C40 *.............................. *
00E0 40404040 40404040 40404040 40404040 40404040 40404040 0000000C 0000000C * ........*
0100 0000000C 0000000C 00000C00 000C0000 0C00000C 0000000C 40404040 40404040 *........................ *
0120 40404040 40404040 40404040 40404040 40404040 40400000 000C0000 000C0000 * ..........*
0140 000C0000 00000C00 00000C00 00000C00 00000C00 00000C00 000C0000 000C0000 *................................*
0160 0C000000 00000C00 000C0000 0C00000C 40404040 40404040 40404040 40404040 *................ *
...
4440 - 48DF LINES SAME AS ABOVE
48E0 40404040 40404040 E4F0F0F1 F9F9F8F4 * U0019984 *
45
Find the most recent EXEC CICS request (AP)
• Verbx dfhpd660 ‘aps=<taskid=xxxxx>
• Page forward to find the System EIB, EIUS, User EIB.
SYSEIB.44444 0005A494 System EXEC Interface Block
0000 00B46EC4 C6C8C5C9 E4E24040 40404040 17E00008 00000000 17E03950 00000000 *..>DFHEIUS .\.....\.&....*
0020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *..............................*
0040 00000000 00000000 001020D0 17E03878 00102418 00000000 00000000 00000000 *.........}.\..................*
...
46
The most recent EXEC CICS request (AP)
• The description of the EIB function codes (field EIBFN) can be
found searching in the CICS InfoCenter (or CICS Application
Programming Reference manual).
• Search on keyword EIBFN and the 2-byte code:
Code Command
0602 READ
0604 WRITE
• If the EIB function code in the (User) EIB is different than the
function code in the System EIB, then typically the current EXEC
CICS request has not yet completed.
• The function code in the System EIB is the most current
request.
• The current EXEC CICS request in the example is an EXEC
CICS READ FILE. The previous request was a WRITE FILE.
47
Who issued the last EXEC CICS request ?
• Verbx dfhpd660 ‘aps=<taskid=xxxxx>’
• FIND the EIUS. EIUS +x’50’ contains the address of the Register
Save Area (RSA) for the program issuing the EXEC CICS request.
EIUS.44444 00102008 EXEC Interface User Structure
0000 00B46EC4 C6C8C5C9 E4E24040 40404040 17E00008 00000000 17E03950 00000000 *..>DFHEIUS .\.......\.&....*
0020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................*
0040 00000000 00000000 001020D0 17E03878 00102418 00000000 00000000 00000000 *...........}.\..................*
...
• The registers are saved in the RSA at offset x’C’ in the order Reg14 –
Reg12. These will be the application’s registers at time of the EXEC
CICS request.
• Reg14 will point into the requesting program, immediately after the EXEC
CICS request.
RSA:
00102418 00000000 17E0B828 | .....\.. |
00102420 00000000 15F1DAC0 00000000 17E1068C | .....1.{........ |
00102430 18A46060 97E0C0D8 18910DA0 17E10618 | .u--p\{Q.j...... |
00102440 189109A8 189109E8 17936440 17F01680 | .j.y.j.Y.l. .0.. |
00102450 17E0BA28 001020D0 17F0EA38 15F1D928 | .\.....}.0...1R. |
• Identify the requesting module using the Loader domain, the Program
domain, or backing up in storage looking for a module ID.
48
Trace (TR)
• Verbx dfhpd660 ‘tr=1’
• Formats abbreviated CICS trace entries. Trace sequence number
51392 QR AP 00E1 EIP ENTRY READ 0004,1EA3C158 .tA.,09000602 .... =000050=
51392 QR AP 04E0 FCFR ENTRY READ_SET FILE1 ,00000000,9EA41D63,NO,EQUAL,FCT_VALUE,KEY,NO,NO =000051=
51392 QR DD 0301 DDLO ENTRY LOCATE 1E95D820,1E5E0E91,CALLER,FCT,FILE1 =000052=
51392 QR DD 0302 DDLO EXIT LOCATE/OK 00000000 , 1EC715B8 =000053=
51392 QR AP 04E1 FCFR EXIT READ_SET/EXCEPTION FILE_DISABLED,0,00000000,0,00000000,,,NO =000054=
51392 QR AP 00E1 EIP EXIT READ DISABLED 00F4,00000032 ....,00540602 .... =000055=
50
Formatting selected tasks and entries
• Verbx dfhpd660 ‘trs=<taskid=xxxxx,abbrev|full|short>’
• Formats trace entries for the selected task only.
• e.g. verbx dfhpd660 ‘trs=<taskid=12345,full>’
• Can select multiple tasks:
• e.g. verbx dfhpd660 ‘trs=<taskid=(xxxxx,yyyyy),abbrev>’
51
Additional trace options
• ‘trs=<ke_num=(nnnn,nnnn)>’
• List entries for a specific Kernel number(s).
• ‘trs=<termid=tttt>’
• List entries pertaining to a specific Terminal ID.
• ‘trs=<timerg=(hhmmss-hhmmss)>’
• List entries from a specific time range.
• ‘trs=<tranid=tran>’
• List all trace records related to a transaction ID.
• Note: The full list of additional trace options can be found in the
CICS InfoCenter – see Trace Selection Parameters
52