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

OpenVMS VAX System Dump Analyzer Utility Manual


Previous Contents Index

SHOW CPU

Displays information about the state of a processor at the time of the system failure.

Format

SHOW CPU [cpu-id]


Parameter

cpu-id

Numeric value from 00 to 1F16 indicating the identity of the processor for which context information is to be displayed. If you specify a value outside this range, or you specify the cpu-id of a processor that was not active at the time of the system failure, SDA displays the following message:


%SDA-E-CPUNOTVLD, CPU not booted or CPU number out of range 

If you use the cpu-id parameter, the SHOW CPU command performs an implicit SET CPU command, making the processor indicated by cpu-id the current CPU for subsequent SDA commands. (See the description of the SET CPU command and Section 4 for information about how this can affect the CPU context---and process context---in which SDA commands execute.)


Qualifiers

None.

Description

The SHOW CPU command displays crash information about the processor specified by cpu-id or, by default, the SDA current CPU, as defined in Section 4. You cannot use the SHOW CPU command when examining the running system with SDA.

The SHOW CPU command produces several displays. First, there is a brief description of the crash and its environment that includes the following:

Next, the general registers display shows the contents of the processor's general-purpose registers (R0 through R11) and the AP, FP, SP, PC, and PSL at the time of the crash.

The processor registers display consists of the following three parts:

The first section includes registers that maintain the virtual address space, system space, or other system functions of the current process. The following registers are among those displayed:
Register Description
P0BR Program region (P0 space) base register
P0LR Program region length register
P1BR Control region (P1 space) base register
P1LR Control region length register
SBR System region (S0 space) base register
SLR System region length register
PCBB Process control block base register
SCBB System control block base register
ASTLVL Asynchronous system trap level
SISR Software interrupt summary register
ICCS Internal clock control and status register
SID System identification register

The second section of the processor registers display shows those registers that are specific to the type of processor being examined. (The SHOW CRASH command displays the processor type.) The contents of the register display vary according to the type of processor involved in the crash and are used primarily in hardware diagnostics.

The final section of the display includes the five stack pointers: the interrupt stack pointer (ISP) and the four pointers of the kernel, executive, supervisor, and user stacks (KSP, ESP, SSP, and USP, respectively). Certain processors, such as the VAX 8800 and VAX 8600 processors, also display the contents of the silos of their memory interconnects in this section.

The SHOW CPU command concludes with a listing of the spin locks, if any, owned by the processor at the time of the crash, reproducing some of the information given by the SHOW SPINLOCKS command. The spin lock display includes the following information:


Example


SDA> SHOW CPU
CPU 00 Processor crash information
----------------------------------
   
CPU 00 reason for Bugcheck: INVEXCEPTN, Exception while above ASTDEL or
on interrupt stack
   
Process currently executing: NETACP
   
Current image file: $254$DUA200:[SYS6.SYSCOMMON.]<SYSEXE>NETACP.EXE;3
  
Current IPL: 8  (decimal)
  
General registers:
    
        R0  = 00000008   R1  = 00080000   R2  = 8047FC40   R3  = 000003AC
        R4  = 00000002   R5  = 8047FC40   R6  = 00000036   R7  = 00000000
        R8  = 00000000   R9  = 00000062   R10 = 7FFE7D70   R11 = 0000747C
        AP  = 0000BE34   FP  = 7FFE7DD0   SP  = 7FFE7D30   PC  = 80146682
        PSL = 00080009
  
Processor registers:
  
        P0BR   = 816EB600     SBR    = 01A6A800     ASTLVL = 00000004
        P0LR   = 00000C0C     SLR    = 00065600     SISR   = 00000000
        P1BR   = 80FFCE00     PCBB   = 008AF2A0     ICCS   = 00000041
        P1LR   = 001FFC5F     SCBB   = 01A62600     SID    = 067F014F
  
        ICR    = FFFFEDEA     REVR1  = 11121111     NMIFSR = 000C0000
        TODR   = 2B914C0F     REVR2  = FF00FF12     NMIEAR = 2243F830
        COR    = 00000001     CPUINFO= 000009F7
  
        ISP    = 8016AC00
        KSP    = 7FFE7D30
        ESP    = 7FFE9E00
        SSP    = 7FFEDE00
        USP    = 7FF8E590
   
NMI bus silo:
   
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
                 00000000
 
   
 
                Spinlocks currently owned by CPU 00
   
IOLOCK8                            Address : 80185E50
Owner CPU ID     : 00              IPL     : 08
Ownership Depth  : 0001            Rank    : 14
CPUs Waiting     : 0000            Index   : 34
   
SDA>  EXAMINE R5
R5:  8047FC40   "@üG."
SDA>  SHOW PROCESS
 
Process index: 000D   Name: NETACP   Extended PID: 33C0010D
-----------------------------------------------------------
Process status:  00148001   RES,NOACNT,PHDRES,LOGIN
   .
   .
   .
SDA>  SHOW CPU 01
CPU 01 Processor crash information
----------------------------------
  
CPU 01 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU
  
Process currently executing: no processes currently scheduled on this CPU
  
Current IPL: 31  (decimal)
   .
   .
   .
             No spinlocks currently owned by CPU 01
  
SDA>  EXAMINE R5
R5:  83ED5E00   ".^í."
SDA>  SHOW PROCESS
%SDA-E-BADPROC, no such process
 
      

This SDA session illustrates the output of the SHOW CPU command in the analysis of a crash dump from a VAX 8800 multiprocessing system with two active processors. The first SHOW CPU command displays the crash information particular to CPU 00, which initially posted an INVEXCEPTN bugcheck from within process NETACP and then requested CPU 01 to take a bugcheck (CPUEXIT) as well. That the crash occurred at IPL 8 signifies, perhaps, that a driver fork process is involved.

The second instance of the SHOW CPU command (SHOW CPU 01) corroborates that CPU 01 was requested to crash by CPU 00.

Significantly, the second SHOW CPU command changes both the SDA current CPU context and current process context. The two EXAMINE R5 commands are executed under different CPU contexts; the values they produce differ. In the CPU context of CPU 00, the current process context is that of process NETACP. There is no current process on CPU 01; thus, SDA process context is initially undefined when its CPU context is changed to that of CPU 01.

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


Parameters

None.

Qualifiers

None.

Description

The SHOW CRASH command has two different manifestations, depending upon whether you use it while analyzing 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 Section 4 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 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 spin lock ownership. The first such screen presents information about the processor that caused the crash; others follow according to the numerical order of their CPU IDs.


Examples

#1

$ ANALYZE/SYSTEM
OpenVMS VAX System analyzer
  
SDA> SHOW CRASH
System crash information
------------------------
Time of system crash: 25-FEB-1993 11:18:06.84
 
Version of system: OpenVMS VAX VERSION 6.0
 
System Version Major ID/Minor ID: 10/11
   
VAXcluster node: BIGTOP, a VAX 8800 - primary CPU (left) was booted
 
Primary CPU ID:  01
  
Bitmask of CPUs active/available:  00000003/00000003
SDA>  SHOW PROCESS
%SDA-E-BADPROC, no such process
 
      

When issued from within the analysis of a running system, the SHOW CRASH command displays the time the ANALYZE/SYSTEM command was issued as the "Time of system crash." The display indicates that the OpenVMS VAX system in use is a VAX 8800 multiprocessing system, the left CPU of which is the primary CPU. The bit mask indicates that there are two processors available and both are running.

Note that no SDA current process is defined at this time.

#2

$  ANALYZE/CRASH SYS$SYSTEM
 
 


 
  
 
  
OpenVMS VAX System dump analyzer 
 
Dump taken on 23-FEB-1993 12:44:30.23 
INVEXCEPTN, Exception while above ASTDEL or on 
           interrupt stack 
 
SDA> SHOW CRASH 
 
System crash information (1)
------------------------ 
Time of system crash: 23-FEB-1993 12:44:30.23 
 
Version of system: OpenVMS VAX VERSION 6.0 
System Version Major ID/Minor ID: 10/11 
 
VAXcluster node: MOOSE, a VAX 8800 - primary CPU (left) was booted 
 
Crash CPU ID/Primary CPU ID:  00/01 
 
Bitmask of CPUs active/available:  00000003/00000003 
 
CPU bugcheck codes: (2)
   CPU 00 -- INVEXCEPTN, Exception while above ASTDEL or on 
             interrupt stack 
  1 other -- CPUEXIT, Shutdown requested by another CPU 
 
CPU 00 Processor crash information 
---------------------------------- 
 
CPU 00 reason for Bugcheck: INVEXCEPTN, Exception while above ASTDEL 
or on interrupt stack (3)
 
Process currently executing on this CPU: NETACP (3)
 
Current image file: $254$DUA200:[SYS6.SYSCOMMON.][SYSEXE]NETACP.EXE;3 
 
Current IPL: 8  (decimal) (4)
 
General registers: 
 
    R0  = 00000008   R1  = 00080000   R2  = 8047FC40   R3  = 000003AC 
    R4  = 00000002   R5  = 8047FC40   R6  = 00000036   R7  = 00000000 
    R8  = 00000000   R9  = 00000062   R10 = 7FFE7D70   R11 = 0000747C 
    AP  = 0000BE34   FP  = 7FFE7DD0   SP  = 7FFE7D30   PC  = 80146682 
    PSL = 00080009 
 
Processor registers: 
 
    P0BR   = 816EB600     SBR    = 01A6A800     ASTLVL = 00000004 
    P0LR   = 00000C0C     SLR    = 00065600     SISR   = 00000000 
    P1BR   = 80FFCE00     PCBB   = 008AF2A0     ICCS   = 00000041 
    P1LR   = 001FFC5F     SCBB   = 01A62600     SID    = 067F014F 
 
    ICR    = FFFFEDEA     REVR1  = 11121111     NMIFSR = 000C0000 
    TODR   = 2B914C0F     REVR2  = FF00FF12     NMIEAR = 2243F830 
    COR    = 00000001     CPUINFO= 000009F7     MEMCSR0= 000700F0 
         NBIA0 CSR0 = 00203810         NBIA1 CSR0 = 00000000 
 
 
    ISP    = 8016AC00 
    KSP    = 7FFE7D30 
    ESP    = 7FFE9E00 
    SSP    = 7FFEDE00 
    USP    = 7FF8E590 
 
NMI bus silo: 
 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
 
 
    Spinlocks currently owned by CPU 00 
 
IOLOCK8                            Address : 80185E50 
Owner CPU ID     : 00              IPL     : 08 
Ownership Depth  : 0001            Rank    : 14 
CPUs Waiting     : 0000            Index   : 34 
 
 
CPU 01 Processor crash information 
---------------------------------- 
 
CPU 01 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU 
 
Process currently executing on this CPU:   None 
 
Current IPL: 31  (decimal) 
 
General registers: 
 
    R0  = 00000020   R1  = 00000000   R2  = 8000CA78   R3  = 80DAF000 
    R4  = 80487000   R5  = 83ED5E00   R6  = 7FFA4188   R7  = 7FF28EB8 
    R8  = 7FF28E68   R9  = 7FFA2808   R10 = 7FFA4000   R11 = 7FFE0070 
    AP  = 7FF28D90   FP  = 7FF28D98   SP  = 80DAFBF8   PC  = 80765465 
    PSL = 041F0000 
 
Processor registers: 
 
    P0BR   = 83EE8E00     SBR    = 01A6A800     ASTLVL = 00000004 
    P0LR   = 000001C1     SLR    = 00065600     SISR   = 00000000 
    P1BR   = 837FA600     PCBB   = 00BB62A0     ICCS   = 00000041 
    P1LR   = 001FF935     SCBB   = 01A62600     SID    = 06FF014F 
 
    ICR    = FFFFE7C1     REVR1  = 11121111     NMIFSR = 000C0000 
    TODR   = 2B914C0F     REVR2  = FF00FF12     NMIEAR = 24080000 
    COR    = 00000001     CPUINFO= 000009F7     MEMCSR0= 000700F0 
    NBIA0 CSR0 = 00203810         NBIA1 CSR0 = 00000000 
 
    ISP    = 80DAFBF8 
    KSP    = 7FFE7E00 
    ESP    = 7FFE9E00 
    SSP    = 7FFED04E 
    USP    = 7FF28D90 
 
NMI bus silo: 
 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
             00000000 
 
 
    No spinlocks currently owned by CPU 01 
 

This long display reflects the output of the SHOW CRASH command within the analysis of a system failure that occurred on a VAX 8800 multiprocessing system.

The first part of the display includes the following information:

  1. Identification of the system and the version of OpenVMS it was running at the time of the crash.
  2. Indication that the failed processor (CPU 00) was not the primary processor (CPU 01), but requested CPU 01 to take a CPUEXIT bugcheck. (CPU 01 was, in fact, idle at the time of the crash.)
    The next part of the display shows information particular to CPU 00:
  3. CPU 00 encountered an INVEXCEPTN bugcheck while executing the NETACP process.
  4. Although the next step in the analysis might be to examine the interrupt stack of CPU 00, the fact that the failure occurred at IPL 8 might indicate that an I/O driver is involved.

At the end of the example, SDA CPU context remains that of CPU 00; its current process context is that of the NETACP process.

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$).

In a VAXcluster environment, device information is displayed for each device in the cluster with the specified device-name. You can limit the display to those devices that are on a particular node or HSC by specifying the node name or HSC name as part of the device-name (for example, GREEN$D or GREEN$DB).


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 thus 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 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 six 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 crash, you might 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 SHOW DEVICE 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.)

To maintain the accuracy of 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 about defining and examining the contents of device data structures.

For a detailed explanation of I/O data structures displayed by SDA, consult the OpenVMS VAX Device Support Manual.


Examples

#1

SDA>SHOW DEVICE VTA20
      


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
4556PRO_010.HTML