IBM Support

Collect troubleshooting data: Using dumps for CICS problem determination on z/OS

Question & Answer


Question

You would like to know how to capture and format different types of dumps for CICS problem determination. You are using z/OS. Collecting this documentation (MustGather) before contacting support will expedite the troubleshooting process, and save you time.

Answer

Use the following instructions to capture and format dumps:









CICS transaction dump

You can use a CICS transaction dump to see a snapshot of transaction-related storage areas. IBM support prefers an MVS system dump because it is often that transaction dumps do not contain all needed information.

Transaction dumps are written to either DFHDMPA or DFHDMPB. Enter CEMT I DUMPDS to display information about the dump datasets.
  1. Transaction dumps are typically the result of a transaction abend but can also be a result of a user request (EXEC CICS DUMP TRANSACTION or XPI call).

  2. Format the transaction dump using the CICS dump utility program, DFHDUxxx.

  3. Interpret the transaction dump.

If you do not get a dump when an abend occurs, make sure that the transaction definition specifies DUMP=YES.

If a transaction dump is not enough, you can request a CICS system dump:
  • Enter CEMT SET TRD(xxxx) SYS MAX(1) ADD where xxxx is the transaction abend code.
  • Ensure that MAX is 1 greater than CUR to capture a dump, check this by entering CEMT INQ TRD(xxxx).


Related information
Transaction abend codes







MVS system dump

Use an MVS system dump of CICS to see the entire CICS region and other related address spaces when needed. Support prefers an MVS system dump over a CICS transaction dump because the system dump usually contains all the evidence you need to solve your problem.
  1. Request a system dump at any time by entering MVS command DUMP COMM=(dumpname) followed by a reply of R yy,JOBNAME=( cicsjob) where yy is the number of the message.

    Or, when recreating a problem:

    1. Enter CEMT SET TRD(xxxx) SYS MAX(1) ADD where xxxx is the transaction abend code, to request a system dump for a transaction abend code. Ensure that MAX is 1 greater than CUR to capture a dump, check this by entering CEMT INQ TRD(xxxx).
    2. Enter CEMT SET SYD(xxxxx) SYS MAX(1) ADD where xxxxx is the CICS message without the DFH, to request a system dump when you are receiving CICS message at the time of the error. For example, if you are receiving a DFHWB0100 you can add this to the system dump table by specifying WB0100.
    3. Recreate the problem or wait for it to occur.

  2. Check the MVS console for message IEA611I or IEA911E to determine the dump dataset name and if the dump is complete or partial. If you receive a partial dump or the dump does not contain all the areas you expect:
    • Ensure that the SDUMP options needed to support the CICS dump exit are in force at the time the dump is written.
      1. Enter MVS command D D,O to display the SDATA parameters that are on your system.
      2. If the options are not set correctly, you can do one of the following:
        • Enter MVS change dump command:
          CD SET, SDUMP=(ALLPSA,SQA,SUMDUMP,NUC,RGN,LPA,TRT,CSA,GRSQ),ADD
        • Update member IEACMDxx in the SYS1.PARMLIB

    • Ensure that the dump datasets are large enough. Start with a minimum of 300 cylinders.

  3. If you do not get a dump when an abend occurs :
    • Make sure the CICS region is started with the DUMP=YES SIT parameter. When CICS is up, you can enter CEMT I SYS to display the value of the DUMP option:
      Dumping( Sysdump ) displays if DUMP=YES
      Dumping( Nosysdump ) displays if DUMP=NO
      Overtype Nosysdump with Sysdump to turn on dumping.
    • Make sure the SYS1.DUMP datasets are available. As an alternative, use the dynamic allocation facility to have MVS dynamically allocate datasets containing the dump with the following type of name: DUMP.SYS1.CICSRGN.D070910.T191701.S00001

  4. Format the dump using IPCS and the dump exit DFHPDxxx with the system dump formatting keywords, where xxx is the version of CICS you used to create the dump (version 660 for CICS V4.1, 670 for CICS V4.2, 680 for CICS 5.1, 690 for CICS 5.2, and 700 for CICS 5.3).
    For example, you could enter the following when using IPCS:
    1. Enter 0 to display the Defaults panel
    2. Enter the dump dataset name:
      Source ==> DSNAME('dump.dataset.name')
    3. Enter =6 to display the Command panel
    4. Enter one of the following commands:
      Update DFHPDxxx depending on your CICS release
      ==> VERBX DFHPD670 'DS=3' to display the dispatcher domain
      ==> ST SYS
      to display the time and requester of the dump
      ==> SUMM FORMAT TCBSUMMARY to display the MVS TCBs
    5. Enter N in response to message BLS18160D May summary dump data be used by dump access?
    If you receive message BLS17012I LINK to module DFHPDxxx failed for VERB DFHPDxxx, ensure that your TSO address space size is greater than 16M. If this is your first time using IPCS, also ensure that DFHPDxxx resides in a TSO STEPLIB dataset, LINKLIST, or IPCS TASKLIB. See preparing to use IPCS to format system dumps for more details.


  5. For information about how to interpret dumps, see Analyzing an SVC Dump in the MVS Diagnosis: Tools and Service Aids manual. The MVS manuals do not contain an explanation of the output from the CICS verb exit. CICS support will assist you with the interpretation of the CICS control blocks.

Related information
Webcasts for CICS Transaction Server
I have a system dump - where do I start?
System abend and dump codes












SLIP dump

Use an MVS serviceability level indication processing (SLIP) trap to get a SLIP dump when specified event occurs. This is helpful when the system does not automatically create a dump for a failure. For example, for a storage overlay or an MVS abend S878.

Slip dumps are written to the MVS dump datasets and have a title of 'SLIP ID=xxxx'.
  1. Use the SLIP command to set a SLIP trap. For example, the following command defines a trap that will cause an SVC dump to be taken when an abend S878 occurs:
    SLIP SET,COMP=878,JOBNAME=
    xxxxxxxx,A=SVCD, SDATA=(ALLPSA,CSA,GRSQ,LPA,NUC,RGN,SQA,TRT,SUMDUMP),END

    where xxxxxxxxx is your CICS jobname and a MATCHLIM (ML=) is set to 1 by default. After the match-limit is reached, the SLIP trap will be disabled. You can specify a higher match-limit when you set the SLIP by coding a value with option ML. For example, ML=5 with result in up to five dumps.
  2. Use the following MVS commands when working with traps:
    D SLIP to display all SLIP traps in the system
    D SLIP=idid to display the details about a specific trap
    SLIP MOD,ID=idid,ENABLE to activate the slip trap
    SLIP MOD,ID=idid,DISABLE to disable the slip trap
    SLIP DEL,ID=idid to delete the slip trap
  3. Format the dump using IPCS. For example:
    1. Enter 0 to display the Defaults panel
    2. Enter the dump dataset name:
      Source ==> DSNAME('dump.dataset.name')
    3. Enter =6 to display the Command panel
    4. Enter one of the following commands:
      ==> ST SYS to display the time and program producing the dump, SLIPDUMP
      ==> L SLIPTRAP to display the SLIP trap producing the dump
      ==> ST CPU REGS to display PSW and general purpose registers
    5. Enter N in response to message BLS18160D May summary dump data be used by dump access?
  4. For information about how to interpret dumps, see Analyzing an SVC Dump in the MVS Diagnosis: Tools and Service Aids manual.


Related information
Webcasts for CICS Transaction Server
I have a system dump - where do I start?

[{"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Dump","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"4.1;4.2;5.1;5.2;5.3;5.4","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/TS CICS TS CICS Transaction Server

Document Information

Modified date:
22 June 2018

UID

swg21213747