[OpenVMS documentation]
[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
Updated: 11 December 1998

OpenVMS Alpha System Analysis Tools Manual


Previous Contents Index

This example shows the default output of the SHOW CPU command.


SHOW CRASH

In the analysis of a system failure, displays information about the state of the system at the time of the failure. In the analysis of a running system, provides information identifying the system.

Format

SHOW CRASH [/CPU=n]


Parameters

None.

Qualifier

/CPU=n

Allows exception data to be displayed from CPUs other than the one considered as the crash CPU when more than one CPU crashes simultaneously.

Description

The SHOW CRASH command has two different manifestations, depending on whether it is issued in the analysis of a running system or a system failure.

In either case, if the SDA current CPU context is not that of the processor that signaled the bugcheck, the SHOW CRASH command performs an implicit SET CPU command to make that processor the SDA current CPU. (See the description of the SET CPU command and Chapter 2, Section 2.5 for a discussion of how this can affect the CPU context---and process context---in which SDA commands execute.)

When used during the analysis of a running system, the SHOW CRASH command produces a display that describes the system and the version of OpenVMS Alpha that it is running. The system crash information display contains the following information:

When used during the analysis of a system failure, the SHOW CRASH command produces several displays that identify the system and describe its state at the time of the failure.

The system crash information display in this context provides the following information:

Subsequent screens of the SHOW CRASH command display information about the state of each active processor on the system at the time of the system failure. The information in these screens is identical to that produced by the SHOW CPU command, including the general-purpose registers, processor-specific registers, stack pointers, and records of spinlock ownership. The first such screen presents information about the processor that caused the failure; others follow according to the numeric order of their CPU IDs.


Examples

#1

SDA> SHOW CRASH
System crash information
Time of system crash: 24-JAN-1995 10:16:12.71
Version of system: OpenVMS Alpha VERSION 7.0
System Version Major ID/Minor ID: 1/0
System type: Flamingo/EV4
Crash CPU ID/Primary CPU ID:  00/00
Bitmask of CPUs active/available:  00000001/00000001
CPU bugcheck codes:
        CPU 00 -- SSRVEXCEPT, Unexpected system service exception
System State at Time of Exception
---------------------------------
Exception Frame:
----------------
    R2  = 00000000.00001200
    R3  = FFFFFFFF.80425BA0
    R4  = FFFFFFFF.80422020
    R5  = FFFFFFFF.80444C88
    R6  = 00000000.7FFD0080
    R7  = 00000000.00000000
    PC  = FFFFFFFF.8010D480
    PS  = 30000000.0000000A
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000008, 
    PC=FFFFFFFF8010D480, PS=0000000A
Saved Registers in Mechanism Array
----------------------------------
R0   = 00000000.7FFD01E8  R1   = 00000000.00000000  R16  = 00000000.7FFD008C   
R17  = 00000000.00000001  R18  = 00000000.00000000  R19  = 00000000.00000000   
R20  = 00000000.00000001  R21  = 00000000.7FFF0140  R22  = 00000000.00000002   
R23  = 00000000.00000008  R24  = 00000000.00000000  R25  = 00000000.00000003   
R26  = FFFFFFFF.8010974C  R27  = 00000000.000001FF  R28  = 00000000.000001FF   
CPU 00 reason for Bugcheck: SSRVEXCEPT, Unexpected system service exception
Process currently executing on this CPU: SERVER_001C
Current IPL: 0  (decimal)
CPU database address:  805AE000
General registers:
R0   = 00000000.00000004  R1   = FFFFFFFF.80405C30  R2   = 00000000.00001200
R3   = FFFFFFFF.80425BA0  R4   = FFFFFFFF.80422020  R5   = FFFFFFFF.80444C88
R6   = 00000000.7FFD0080  R7   = 00000000.00000000  R8   = 00000000.7FF9FDF0
R9   = 00000000.00000000  R10  = 00000000.00000002  R11  = 00000000.7FFD0080
R12  = 00000000.00000008  R13  = FFFFFFFF.8044DB78  R14  = 00000000.7FFD0080
R15  = 00000000.7FEE1C20  R16  = 00000000.000003C0  R17  = 00000000.7FF99C80
R18  = 00000000.7FF99E40  R19  = FFFFFFFF.80425F28  R20  = 00000000.00000001
R21  = 00000000.7FFF0140  R22  = FFFFFFFF.8335C000  R23  = 00000000.7FF9A000
R24  = 00000000.7FFF0028  AI   = 00000000.00000002  RA   = FFFFFFFF.837E9F3C
PV   = FFFFFFFF.80405C30  R28  = FFFFFFFF.837E8810  FP   = 00000000.7FF99C10
PC   = FFFFFFFF.80002010  PS   = 00000000.00000009
Processor Internal Registers:
ASN  = 00000000.00000000                     ASTEN/ASTSR =          0000000F
IPL  =          00000000  PCBB = 00000000.02F28080  PRBR = FFFFFFFF.805AE000
PTBR = 00000000.000012DA  SCBB = 00000000.00000500  SISR = 00000000.00000000
VPTB = FFFFFFFC.00000000  FPCR = 00000000.00000000  MCEX = 00000000.00000000
        KSP    = 00000000.7FF96000
        ESP    = 00000000.7FF99BF8
        SSP    = 00000000.7FF9FD70
        USP    = 00000000.7FE6B780
                No spinlocks currently owned by CPU 00
 
 
      

This long display reflects the output of the SHOW CRASH command within the analysis of a system failure.

#2

SDA> SHOW CRASH
System crash information
Time of system crash: 19-JAN-1995 10:16:12.71
Version of system: OpenVMS Alpha VERSION 7.0
System Version Major ID/Minor ID: 1/0
System type: Flamingo/EV4
Crash CPU ID/Primary CPU ID:  00/00
Bitmask of CPUs active/available:  00000001/00000001
CPU bugcheck codes:
        CPU 00 -- PGFIPLHI, Page fault with IPL too high
 
System State at Time of Page Fault:
---------------------------------
Page fault for address 00000000 7FFAB000 occured at IPL: 18
Memory management flags: 80000000 00000000 (data write)
Exception Frame:
----------------
        R2  = 00000000.7FFF0200
        R3  = 00000000.00000000
        R4  = FFFFFFFF.805DC700
        R5  = 00000000.7FF8C000
        R6  = FFFFFFFF.808C4F40
        R7  = 00000000.00000000
        PC  = FFFFFFFF.80BB4A2C  EXE$PRCDELMSG_C+005FC
        PS  = 30000000.00000200
        FFFFFFFF.80BB4A1C:      BLE             R0,#X000009
        FFFFFFFF.80BB4A20:      BIS             R31,R1,R17
        FFFFFFFF.80BB4A24:      ADDQ            R2,#X04,R16
        FFFFFFFF.80BB4A28:      BIS             R31,R0,R25
  PC => FFFFFFFF.80BB4A2C:      INSQUEL/D
        FFFFFFFF.80BB4A30:      LDQ             R24,#X0078(R13)
        FFFFFFFF.80BB4A34:      BIS             R31,R25,R0
        FFFFFFFF.80BB4A38:      SUBL            R0,#X01,R0
        FFFFFFFF.80BB4A3C:      ADDL            R1,R24,R1
   PS =>
         MBZ SPAL      MBZ    IPL VMM MBZ CURMOD INT PRVMOD
         0   30   00000000000 02  0   0   KERN   0   KERN
 
      

This display reflects the output of a SHOW CRASH command within the analysis of a PGFIPLHI bugcheck.


SHOW DEVICE

Displays a list of all devices in the system and their associated data structures, or displays the data structures associated with a given device or devices.

Format

SHOW DEVICE {[device-name]|/ADDRESS=ucb-address}


Parameter

device-name

Device or devices for which data structures are to be displayed. There are several uses of the device-name parameter.
To Display the Structures For... Action
All devices in the system Do not specify a device-name (for example, SHOW DEVICE).
A single device Specify an entire device-name (for example, SHOW DEVICE VTA20).
All devices of a certain type on a single controller Specify only the device type and controller designation (for example, SHOW DEVICE RTA or SHOW DEVICE RTB).
All devices of a certain type on any controller Specify only the device type (for example, SHOW DEVICE RT).
All devices whose names begin with a certain character or character string Specify the character or character string (for example, SHOW DEVICE D).
All devices on a single node or HSC Specify only the node name or HSC name (for example, SHOW DEVICE GREEN$).

Qualifier

/ADDRESS=ucb-address

Indicates the device for which data structure information is to be displayed by the address of its unit control block (UCB). The /ADDRESS qualifier is an alternate method of supplying a device name to the SHOW DEVICE command. If both the device-name parameter and the /ADDRESS qualifier appear in a single SHOW DEVICE command, SDA responds only to the parameter or qualifier that appears first.

Description

The SHOW DEVICE command produces several displays taken from system data structures that describe the devices in the system configuration.

If you use the SHOW DEVICE command to display information for more than one device or one or more controllers, it initially produces the DDB (device data block) list display to provide a brief summary of the devices for which it renders information in subsequent screens.

Information in the DDB list appears in five columns, the contents of which are as follows:

The SHOW DEVICE command then produces a display of information pertinent to the device controller. This display includes information gathered from the following structures:

If the controller is an HSC controller, SHOW DEVICE also displays information from its system block (SB) and each path block (PB).

Many of these structures contain pointers to other structures and driver routines. Most notably, the DDT display points to various routines located within driver code, such as the start I/O routine, unit initialization routine, and cancel I/O routine.

For each device unit subject to the SHOW DEVICE command, SDA displays information taken from its unit control block, including a list of all I/O request packets (IRPs) in its I/O request queue. For certain mass storage devices, SHOW DEVICE also displays information from the primary class driver data block (CDDB), the volume control block (VCB), and the ACP queue block (AQB). For units that are part of a shadow set, SDA displays a summary of shadow set membership.

As it displays information for a given device unit, SHOW DEVICE defines the following symbols as appropriate:
Symbol Meaning
UCB Address of unit control block
SB Address of system block
ORB Address of object rights block
DDB Address of device data block
DDT Address of driver dispatch table
CRB Address of channel request block
AMB Associated mailbox UCB pointer
IRP Address of I/O request packet
2P_UCB Address of alternate UCB for dual-pathed device
LNM Address of logical name block for mailbox
PDT Address of port descriptor table
CDDB Address of class driver descriptor block for MSCP served device
2P_CDDB Address of alternate CDDB for MSCP served device
RWAITCNT Resource wait count for MSCP served device
VCB Address of volume control block for mounted device

If you are examining a driver-related system failure, you may find it helpful to issue a SHOW STACK command after the appropriate SHOW DEVICE command, examining the stack for any of these symbols. Note, however, that although the SHOW DEVICE command defines those symbols relevant to the last device unit it has displayed, and redefines symbols relevant to any subsequently displayed device unit, it does not undefine symbols. (For instance, SHOW DEVICE DUA0 defines the symbol PDT, but SHOW DEVICE MBA0 does not undefine it, even though the PDT structure is not associated with a mailbox device.) In order to maintain the accuracy of such symbols that appear in the stack listing, use the DEFINE command to modify the symbol name. For example:


SDA> DEFINE DUA0_PDT PDT
SDA> DEFINE MBA0_UCB UCB

See the descriptions of the READ and FORMAT commands for additional information on defining and examining the contents of device data structures.


Examples

#1

SDA>SHOW DEVICE/ADDRESS=8041E540
OPA0                                   VT300_Series       UCB address    8041E540   
 
Device status:   00000010 online 
Characteristics: 0C040007 rec,ccl,trm,avl,idv,odv 
                 00000200 nnm 
Owner UIC [000001 ,000004]  Operation count        160    ORB address    8041E4E8 
      PID         00010008  Error count              0    DDB address    8041E3F8
Class/Type           42/70  Reference count          2    DDT address    8041E438
Def. buf. size          80  BOFF              00000001    CRB address    8041E740
DEVDEPEND         180093A0  Byte count        0000012C    I/O wait queue 8041E5AC
DEVDEPND2         FB101000  SVAPTE            80537B80
DEVDEPND3         00000000  DEVSTS            00000001
FLCK index              3A  
DLCK address      8041E880 
*** I/O request queue is empty *** 
 
      

This example reproduces the SHOW DEVICE display for a single device unit, OPA0. Whereas this display lists information from the UCB for OPA0, including some addresses of key data structures and a list of pending I/O requests for the unit, it does not display information about the controller or its device driver. To display the latter information, specify the device-name as OPA (for example, SHOW DEVICE OPA).

#2

SDA> SHOW DEVICE DU
I/O data structures
-------------------
                            DDB list
                            --------
   
       Address    Controller     ACP         Driver               DPT
       -------    ----------   --------   ------------            ---
   
      80D0B3C0    BLUES$DUA     F11XQP    SYS$DKDRIVER          807735B0
      8000B2B8    RED$DUA       F11XQP    SYS$DKDRIVER          807735B0
      80D08BA0    BIGTOP$DUA    F11XQP    SYS$DKDRIVER          807735B0
      80D08AE0    TIMEIN$DUA    F11XQP    SYS$DKDRIVER          807735B0
   .
   .
   .
Press RETURN for more.
   .
   .
   .
 
      

This excerpt from the output of the SHOW DEVICE DU command illustrates the format of the DDB list display. In this case, the DDB list concerns itself with those devices whose device type begins with DU. It displays devices of these types attached to various HSCs (RED$ and BLUES$) and systems in a cluster (BIGTOP$ and TIMEIN$).


SHOW DUMP

Displays formatted information of the header, error log buffers, logical memory blocks (LMBs), compression data, and dump summary. It can also be used to display hexadecimal information of individual blocks.

Format

SHOW DUMP {/ALL|/BLOCK[=m[{:|;}n]]
|[/COMPRESSION_MAP[=m[:n]] |/ERROR_LOGS|/HEADER
|/LMB[={ALL|n}]|/SUMMARY
|/MEMORY_MAP]}


Parameters

None.

Qualifiers

/ALL

Displays the equivalent to specifying all the /SUMMARY, /HEADER, /ERROR_LOGS, /COMPRESSION_MAP, /LMB=ALL, and /MEMORY_MAP qualifiers.

/BLOCK[=m[{:|;}n]]

Displays a hexadecimal dump of one or more blocks. Ranges can be expressed by using the following syntax:
no value Displays next block
m Displays single block
m:n Displays a range of blocks from m to n, inclusive
m;n Displays a range of blocks starting at m and continuing for n blocks

/COMPRESSION_MAP[=m[:n]]

Displays details of the compression data. Levels of detail can be expressed by using the following syntax:
no value Displays a summary of all compression map blocks
m Displays contents of a single compression map block
m:n Displays details of single compression map entry

/ERROR_LOGS

Displays a summary of the error log buffers.

/HEADER

Displays the formatted contents of the dump header.

/LMB[={ALL|n}]

Displays the formatted contents of logical memory block (LMB) headers and the virtual address (VA) ranges within the LMB. LMBs to be displayed can be expressed by using the following syntax:
no value Displays next LMB
n Displays LMB at block n of the dump
ALL Displays all LMBs

/MEMORY_MAP

Displays the memory map of a full dump.

/SUMMARY

Displays a summary of the dump. This is the default.

Description

The SHOW DUMP command displays information about the structure of the dump file. It displays the header, the error log buffers, the compression map, and in the case of a selective dump, the logical memory block (LMB) headers. This command is provided for use when troubleshooting dump analysis problems.

Example


SDA >SHOW DUMP/SUMMARY
Summary of dump file DKA300:[SYS0.SYSEXE]SYSDUMP.DMP;8 
------------------------------------------------------ 
Dump type:                   Compressed selective 
Size of dump file:           000203A0/000203A0 (132000./132000.) 
Highest VBN written:         0000D407          (54279.) 
Uncompressed equivalent:     0001AF1C          (110364.) 
Compression ratio:           2.03:1            (49.2%) 
 
 
                                                                     Uncomp    Uncomp 
                      Dump file section             VBN     Blocks     VBN     blocks 
----------------------------------------------  ---------- --------  -------  -------- 
Dump header                                       00000001 00000002 
Error log buffers                                 00000003 00000020 
Compression map                                   00000023 00000010 
LMB 0000 (PT space)                               00000033 00000038  00000033 000000D2 
LMB 0001 (S0/S1 space)                            0000006B 0000621B  00000105 000095A5 
LMB 0002 (S2 space)                               00006286 000001A3  000096AA 00000352 
LMB 0003 (Page tables of key process "SYSTEM")    00006429 00000005  000099FC 00000062 
LMB 0004 (Memory of key process "SYSTEM")         0000642E 00000071  00009A5E 00000342 
   .
   .
   .
LMB 0003 (Page tables of key process "NETACP")    0000697B 00000009  0000AE14 00000052 
LMB 0004 (Memory of key process "NETACP")         00006984 000013F7  0000AE66 00001F42 
LMB 0005 (Key global pages)                       00007D7B 000002BA  0000CDA8 00000312 
LMB 0006 (Page tables of process "DTWM")          00008035 00000013  0000D0BA 00000082 
LMB 0007 (Memory of process "DTWM")               00008048 000013A3  0000D13C 000022E4 
   .
   .
   .
LMB 0006 (Page tables of process "Milord_FTA1:")  0000C5E3 00000005  00019A44 00000062 
LMB 0007 (Memory of process "Milord_FTA1:")       0000C5E8 00000074  00019AA6 00000222 
LMB 0008 (Remaining global pages)                 0000C65C 00000DAC  00019CC8 00001255
 
      

This example of the SHOW DUMP/SUMMARY command gives a summary of the dump.


SDA> SHOW DUMP/HEADER
Dump header
-----------
    Header field                      Meaning                        Value
--------------------  ---------------------------------------  -----------------
DMP$W_FLAGS           Flags                                                 0FC1
                       DMP$V_OLDDUMP:    Dump has been analyzed
                       DMP$V_WRITECOMP:  Dump write was completed
                       DMP$V_ERRLOGCOMP: Error log buffers written
                       DMP$V_DUMP_STYLE: Selective dump
                                         Verbose messages
                                         Dump off system disk
                                         Compressed
DMP$B_FLAGS2          Additional flags                                        09
                       DMP$V_COMPRESSED: Dump is compressed
                       DMP$V_ALPHADUMP:  This is an OpenVMS Alpha dump
DMP$Q_SYSIDENT        System version                                  "X69G-FT1"
DMP$Q_LINKTIME        Base image link date/time        " 8-JUN-1996 02:07:27.31"
DMP$L_SYSVER          Base image version                                03000000
DMP$W_DUMPVER         Dump version                                          0704
DMP$L_DUMPBLOCKCNT    Count of blocks dumped for memory                 0000D3D5
DMP$L_NOCOMPBLOCKCNT  Uncompressed blocks dumped for memory             0001AEEA
DMP$L_SAVEPRCCNT      Number of processes saved                         00000014
   .
   .
   .
EMB$Q_CR_TIME         Crash date/time                  " 3-JUL-1996 09:30:13.36"
EMB$L_CR_CODE         Bugcheck code                                 "SSRVEXCEPT"
EMB$B_CR_SCS_NAME     Node name                                       "SWPCTX  "
EMB$T_CR_HW_NAME      Model name                            "DEC 3000 Model 400"
EMB$T_CR_LNAME        Process name                                      "SYSTEM"
DMP$L_CHECKSUM        Dump header checksum                              439E5E91
 
      

This example of the SHOW DUM/HEADER command shows the information in the header.


Previous Next Contents Index

[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
[OpenVMS documentation]

Copyright © Compaq Computer Corporation 1998. All rights reserved.

Legal
6549PRO_010.HTML