Setting a SLIP trap

The procedure described in the previous section produces snapshots of the MVS logger address space and coupling facility structure at the time that the commands were issued. However, it is usually more useful to take a memory dump when an error occurs.

If you have applied MVS APAR OW27057, a dump of the MVS logger address space is produced automatically if an MVS IXGBRWSE or IXGDELET request fails because the MVS logger cannot find a specific log stream block identifier. (The MVS logger issues a return code of 8 with a reason code of 804.) To cater for other possible logger errors, or to obtain a memory dump of the coupling facility structure associated with a failing log stream, you can set an MVS serviceability level indication processing (SLIP) trap. Setting a SLIP trap causes MVS to take a specified set of actions when a specified event occurs. For example, you could specify that MVS is to take a dump of the MVS logger address space if CICS issues a particular message.

Figure 1 shows an example SLIP trap that captures a dump of the CICS address space, the MVS logger address space, and the coupling facility structure associated with the failing logstream.
Figure 1. An example SLIP trap. The trap is triggered when CICS issues a DFHLG0772 message. It captures dumps of the CICS address space, the MVS logger address space, and the coupling facility structure associated with the failing log stream.
SLIP SET,IF,LPAMOD=(IGC0003E,0),DATA=(1R?+
4,EQ,C4C6C8D3,+8,EQ,C7F0F7F7,+C,EQ,F2),A=S    <change the message
VCD,JOBLIST=(cicsjob,IXGLOGR,XCFAS),          <change CICS Job
 
-->response xx
 
xx,DSPNAME=('XCFAS'.*,'IXGLOGR'.*),STRLIST
=(STRNAME=structname,LOCKENTRIES,ACC=NOLIM    <change STRNAME
,(LISTNUM=ALL,
 
-->response yy
 
yy,ENTRYDATA=SERIALIZE,ADJUNCT=CAPTURE)),S
DATA=(RGN,XESDATA,ALLNUC,CSA,LSQA,PSA,SQA,
SWA,TRT,COUPLE,WLM,GRSQ,LPA),
 
-->response zz
 
zz,ID=LOGR,REMOTE=(JOBLIST,DSPNAME,SDATA),
END
In this example, the SLIP triggers when a specific CICS log manager message DFHLG0772 is written to the console. This is specified in the EQ parameter of the SLIP:
+4,EQ,C4C6C8D3,+8,EQ,C7F0F7F7,+C,EQ,F2)
       D F H L        G 0 7 7        2     <equates to
You can also set a more “generic” trap, that is triggered by the occurrence of any one of a range of messages. For example, to cause the SLIP to be triggered by any log manager message in the DFHLG07xx range, alter the value of the EQ parameter to:
+4,EQ,C4C6C8D3,+8,EQ,C7F0F7),
       D F H L        G 0 7      <equates to
To use the example SLIP, you must:
  1. Replace the cicsjob value with the name of the CICS job (or jobs) to be dumped.
  2. Replace the xx, yy, and zz values with the appropriate operator reply numbers, as each segment is entered.
  3. Replace the structname value with the name of the coupling facility structure that contains the failing log stream.

    For system log failures only, you can get the name of the coupling facility structure (or structures) from the two DFHLG0104 messages that were issued when CICS connected to DFHLOG and DFHSHUNT during the run in which the failure occurred.

    For all other log streams, to get the name of the coupling facility structure use the LIST LOGSTREAM NAME command already described. For example:
    //LOGRRPT  EXEC PGM=IXCMIAPU
    //SYSPRINT DD SYSOUT=*
    //SYSIN    DD *
     DATA
       TYPE(LOGR)
       REPORT(YES)
       LIST LOGSTREAM NAME(logstream_name) DETAIL(YES)

    Figure 1 shows example output produced by the LIST LOGSTREAM NAME command. Search for the log stream name; the structure name follows it.

    Step 3 assumes two things:
    • That the failing log stream is a coupling facility log stream. If it is a DASD-only log stream, the STRLIST parameter in the example SLIP is not appropriate.
    • That the logging problem is repeatable. It is assumed that the log stream has failed at least once before the SLIP is set (the initial failure allowing you to deduce the name of the coupling facility structure to be dumped).
Note:
  1. The example SLIP will just fit into the extended operator command area of MVS Version 5 or later.
  2. The example SLIP may result in extra dumps being produced for both CICS and the MVS logger address space.

For definitive information about setting SLIP traps, see z/OS MVS Diagnosis: Tools and Service Aids.