Determining the system state

There are several control blocks that you can view that describe the state of the system when the stand-alone dump was requested.
CSD
Describes the number of active central processors and whether the alternate CPU recovery (ACR) is active.
PSA
Describes the current environment of a central processor, its work unit, FRR stack, an indication of any locks held.
LCCA
Contains save areas and flags of interrupt handlers.
CVT
Contains pointers to other system control blocks.
Use the IPCS subcommand STATUS WORKSHEET to obtain the data that will help you determine the state of the system. For example, in Figure 1 look for the following:
Figure 1. Example: STATUS WORKSHEET output
                             MVS Diagnostic Worksheet
Dump Title: SYSIEA01 DMPDSENQ 7/20/93
CPU Model 2064 Version 00 Serial no. 145667 Address 00
Date: 03/20/2001   Time: 05:41:26  Local
 SYSTEM RELATED DATA

 CVT  SNAME (154) ESYS       VERID (-18)
      CUCB   (64) 00FD4B68   PVTP  (164) 00FE4A10    GDA  (230) 01BE1168
      RTMCT (23C) 00F81198   ASMVT (2C0) 00FD8030    RCEP (490) 012AA3F0

 CSD  Available CPU mask: C000  Alive CPU mask: C000  No. of active CPUs: 0002

PROCESSOR RELATED DATA

 NAME             OFFSET  |  CPU 00    CPU 01
--------------------------+-----------------------------------------
 PSW at time of dump      | 070E0000  070C9000
                          | 00000000  8124EE9C
 CR0 Interrupt mask       | 5EB1EE40  5EB1EE40
 CR6 I/O class mask       | FE        FE
------ LCCA --------------+-----------------------------------------
 IHR1   Recursion    208  | 00        00
 SPN1/2 Spin         20C  | 0000      0000
 CPUS   CPU WSAVT    218  | 00F4BA00  00F6F550
 DSF1/2 Dispatcher   21C  | 0000      0080
 CRFL   ACR/LK flgs  2B4  | 00000000  00000000
------ PSA ---------------+-----------------------------------------
 TOLD   Curr TCB     21C  | 00000000  00000000
 ANEW   ASCB         220  | 00FD3BC0  00F56180
 AOLD   Curr ASCB    224  | 00FD3280  00F56180
 SUPER  Super Bits   228  | 04000000  00000000
 CLHT   Lock Table   280  | 00FD4890  00FD4890
 LOCAL  Local lock   2EC  | 00000000  00F0D700
 CLHS   Locks held   2F8  | 00000000  00000001
 CSTK   FRR stack    380  | 00F4D4D0  00000C00
 SMPSW  SRB Disp PSW 420  | 070C0000  070C0000
                     424  | 81142B60  82039000
 PSWSV  PSW Save     468  | 070E0000  070E0000
                     46C  | 00000000  00000000
 MODE   Indicators   49F  | 08        04
You can also obtain the stored status of each central processor using the IPCS subcommand STATUS CPU REGISTERS. Watch for these bits in the first half of the PSW:
Start of changeStarting in V2R1, the worksheet displays 4-digit CPUIDs. There can be up to eight CPUs on one line, if allowed. For example:
PROCESSOR RELATED DATA
|
|  NAME             OFFSET  | CPU 0001  CPU 0003  CPU 0005  CPU 0006  CPU 0007  CPU 0008  CPU 0009  CPU 000A
| --------------------------+--------------------------------------------------------------------------------
|  PSW at time of dump      | 00020000  00020000  04047000  00020000  00020000  00020000  00020000  00020000
|                           | 80000000  80000000  80000000  80000000  80000000  80000000  80000000  80000000
|                           | 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000
|                           | 0000001B  0000001B  10F994EC  0000001B  0000001B  0000001B  0000001B  0000001B
|  CR0 Interrupt mask       | 00800002  00800002  00800002  00800002  00800002  00800002  00800002  00800002
|  CR6 I/O class mask       | 00        00        00        00        00        00        00        00
| ------ LCCA --------------+--------------------------------------------------------------------------------
End of change

In Figure 2, the PSW indicates an enabled wait state condition. The program is running in primary mode with 24-bit addressing (bits 16 and 17 are 00 and the second word begins with 0).

Figure 2. Example: STATUS CPU REGISTERS output
Start of changeCPU(X'0000')End of change STATUS:
 PSW=070E0000  00000000  NO WORK WAIT
  ASCB1 at FD3280, JOB(*MASTER*), for the home ASID
  ASXB1 at FD34F8 for the home ASID. No block is dispatched
 CLTE: 01CB00E8
  +0000  BLSD..... 00000000  XDS...... 00000000  XRES..... 00000000
  +000C  XQ....... 00FD4900  ESET..... 00FD4908  ULUT..... 00FD4910
  CURRENT FRR STACK IS: SVC
  PREVIOUS FRR STACK(S): NORMAL

  GPR VALUES
      0-3  00000000  00000000  00000000  00000000
      4-7  00000000  00000000  00000000  00000000
      8-11 00000000  00000000  00000000  00000000
     12-15 00000000  00000000  00000000  00000000

  ACCESS REGISTER VALUES
      0-3  006FB01F  00000000  00000000  00000000
      4-7  00000000  00000000  00000000  00000000
      8-11 00000000  00000000  00000000  00000000
     12-15 00000000  00000000  806FA03C  00000000

To obtain other fields from important control blocks, use the IPCS subcommand CBFORMAT. See z/OS MVS IPCS Commands for information about the CBFORMAT subcommand.

You can also use the WHERE subcommand to identify particular areas in the dump. For example, if a general purpose register contains an address, use the WHERE subcommand to determine in what module that address resides. In Figure 3, the WHERE subcommand indicates that the address is part of the READONLY nucleus.

Figure 3. Example: WHERE subcommand output
NOCPU ASID(X'0001') 0124EE9C. IEANUC01.IGVSLIS1+0ADC IN READ ONLY NUCLEUS