[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP OpenVMS System Analysis Tools Manual


Previous Contents Index


SHOW CPU

When analyzing a dump, displays information about the state of a CPU at the time of the system failure.

SHOW CPU is only valid when you are analyzing a crash dump. It is not a valid command when you are analyzing the running system, because all the CPU-specific information may not be available. If invoked when you are analyzing a running system, SHOW CPU will only list the CPU database address(es) for the specified CPU or all CPUs.


Format

SHOW CPU [cpu-id | /FIRST | /NEXT | /PRIMARY]


Parameter

cpu-id

Numeric value indicating the identity of the CPU for which context information is to be displayed. If you specify the cpu-id parameter, the SHOW CPU command performs an implicit SET CPU command, making the CPU indicated by cpu-id the current CPU for subsequent SDA commands.

If you do not specify a cpu-id, the state of the SDA current CPU is displayed.

If you specify the cpu-id of a CPU 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 

See the description of the SET CPU command and Section 2.5 for information on how this can affect the CPU context---and process context---in which SDA commands execute.


Qualifiers

/FIRST

The state of the lowest numbered CPU (not necessarily the primary CPU) is displayed.

/NEXT

The state of the next higher numbered CPU is displayed. SDA skips CPUs not in the configuration at the time of system failure. If there are no further CPUs, SDA returns an error.

/PRIMARY

The state of the primary CPU is displayed.

Description

The SHOW CPU command displays system failure information about the CPU specified by cpu-id or, by default, the SDA current CPU, as defined in Section 2.5.

The SHOW CPU command produces several displays. The first display is a brief description of the system failure and its environment that includes the following:

  • Reason for the bugcheck.
  • Name of the currently executing process. If no process has been scheduled on this CPU, SDA displays the following message:


    Process currently executing: no processes currently scheduled on the processor 
    
  • File specification of the image executing within the current process (if there is a current process).
  • Interrupt priority level (IPL) of the CPU at the time of the system failure.
  • The CPU database address.
  • The CPU's capability set.
  • On Integrity server systems, the Exception Frame Summary.

On Alpha, the register display follows. First the general registers are output, showing the contents of the CPU's integer registers (R0 to R30), and the AI, RA, PV, FP, PC, and PS at the time of the system failure.

The Alpha processor registers display consists of the following parts:

  • Common processor registers
  • Processor-specific registers
  • Stack pointers

The first part of the processor registers display includes registers common to all Alpha processors, which are used by the operating system to maintain the current process virtual address space, system space, or other system functions. This part of the display includes the following registers:

  • Hardware privileged context block base register (PCBB)
  • System control block base register (SCBB)
  • Software interrupt summary register (SISR)
  • Address space number register (ASN)
  • AST summary register (ASTSR)
  • AST enable register (ASTEN)
  • Interrupt priority level register (IPL)
  • Processor priority level register (PRBR)
  • Page table base register (PTBR)
  • Virtual page table base register (VPTB)
  • Floating-point control register (FPCR)
  • Machine check error summary register (MCES)

On Integrity server systems, the register display is in the form of the contents of the exception frame generated by the bugcheck. See SHOW CRASH for more details.

The last part of the display includes the four stack pointers: the pointers of the kernel, executive, supervisor, and user stacks (KSP, ESP, SSP, and USP, respectively). In addition, on Integrity servers, the four register stack pointers are displayed: KBSP, EBSP, SBSP, UBSP.

The SHOW CPU command concludes with a listing of the spinlocks, if any, owned by the CPU at the time of the system failure, reproducing some of the information given by the SHOW SPINLOCKS command. The spinlock display includes the following information:

  • Name of the spinlock.
  • Address of the spinlock data structure (SPL).
  • The owning CPU's CPU ID.
  • IPL of the spinlock.
  • Indication of the depth of this CPU's ownership of the spinlock. A number greater than 1 indicates that this CPU has nested acquisitions of the spinlock.
  • Rank of the spinlock.
  • Timeout interval for spinlock acquisition (in terms of 10 milliseconds).
  • Shared array (shared spinlock context block pointers)


Example


SDA> SHOW CPU 0
CPU 00 Processor crash information
----------------------------------
CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU 
 
Process currently executing on this CPU:   None 
 
Current IPL: 31  (decimal) 
 
CPU database address:  81414000 
 
CPUs Capabilities:    PRIMARY,QUORUM,RUN 
 
General registers: 
 
R0   = FFFFFFFF.81414000  R1   = FFFFFFFF.81414000  R2   = 00000000.00000000 
R3   = FFFFFFFF.810AD960  R4   = 00000000.01668E90  R5   = 00000000.00000001 
R6   = 66666666.66666666  R7   = 77777777.77777777  R8   = FFFFFFFF.814FB040 
R9   = 99999999.99999999  R10  = FFFFFFFF.814FB0C0  R11  = BBBBBBBB.BBBBBBBB 
R12  = CCCCCCCC.CCCCCCCC  R13  = FFFFFFFF.810AD960  R14  = FFFFFFFF.81414018 
R15  = 00000000.00000004  R16  = 00000000.000006AC  R17  = 00000000.00000047 
R18  = 00000000.00000000  R19  = 00000000.00000000  R20  = FFFFFFFF.8051A494 
R21  = 00000000.00000000  R22  = 00000000.00000001  R23  = 00000000.00000010 
R24  = FFFFFFFF.81414000  AI   = FFFFFFFF.81414000  RA   = FFFFFFFF.81006000 
PV   = 00000001.FFFFFFFF  R28  = 00000000.00000000  FP   = FFFFFFFF.88ABDFD0 
PC   = FFFFFFFF.8009C95C  PS   = 18000000.00001F04 
 
Processor Internal Registers: 
 
ASN  = 00000000.00000000                     ASTSR/ASTEN =          00000000 
IPL  =          0000001F  PCBB = 00000000.01014080  PRBR = FFFFFFFF.81414000 
PTBR = 00000000.0000FFBF  SCBB = 00000000.000001E8  SISR = 00000000.00000100 
VPTB = FFFFFEFC.00000000  FPCR = 00000000.00000000  MCES = 00000000.00000000 
 
        KSP    = FFFFFFFF.88ABDCD8 
        ESP    = FFFFFFFF.88ABF000 
        SSP    = FFFFFFFF.88AB9000 
        USP    = FFFFFFFF.88AB9000 
 
                Spinlocks currently owned by CPU 00 
 
SCS                                    Address        810AF300 
Owner CPU ID       00000000            IPL            00000008 
Ownership Depth    00000000            Rank           0000001A 
Timeout Interval   002DC6C0            Share Array    00000000
      

This example shows the default output of the SHOW CPU command on an Alpha system.


SHOW CRASH

Provides system information identifying a running system, or displays information about the state of the system at the time of a system failure.

Format

SHOW CRASH [/ALL | /CPU=n]


Parameters

None.

Qualifiers

/ALL

Displays exception data for all CPUs. By default, the registers (on Alpha) or exception frame contents (on Integrity servers) are omitted from the display for any CPUs with CPUEXIT or DBGCPUEXIT bugchecks.

/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 functions, depending on whether you use it to analyze a running system or a system failure.

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:

  • Name and version number of the operating system
  • Major and minor IDs of the operating system
  • Identity of the OpenVMS system, including an indication of its cluster membership
  • CPU ID of the primary CPU
  • Address of all CPU databases

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.

If the current CPU context for SDA is not that of the processor that signaled the bugcheck, or the CPU specified with the /CPU=n qualifier, the SHOW CRASH command first performs an implicit SET CPU command to make that processor the current CPU for SDA. (See the description of the SET CPU command and Section 2.5 for a discussion of how this can affect the CPU context---and process context---in which SDA commands execute.)

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

  • Date and time of the system failure.
  • Name and version number of the operating system.
  • Major and minor IDs of the operating system.
  • Identity of the system.
  • CPU IDs of both the primary CPU and the CPU that initiated the bugcheck. In a uniprocessor system, these IDs are identical.
  • Bitmask of the active and available CPUs in the system.
  • For each active processor in the system, the address of its CPU database and the name of the bugcheck that caused the system failure. Generally, there will be only one significant bugcheck in the system. All other processors typically display the following as their reason for taking a bugcheck:


    CPUEXIT, Shutdown requested by another CPU 
    

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 registers (on Alpha), exception frame (on Integrity servers), 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. For the processor that caused the failure, if an exception bugcheck (INVEXCEPTN, SSRVEXCEPT, FATALEXCEPT, UNXSIGNAL) or, for Integrity servers only, also a KRNLSTAKNV or DEBUGCRASH bugcheck has occurred, SHOW CRASH first displays the exception frame from the original exception. If /ALL is not specified, the registers (on Alpha) or exception frame contents (on Integrity servers) are omitted from the display for any CPUs with CPUEXIT or DBGCPUEXIT bugchecks.

SHOW CRASH displays the original exception in process dumps.


Examples

#1

SDA> SHOW CRASH
Version of system: OpenVMS (TM) Alpha Operating System, Version X901-SSB 
 
System Version Major ID/Minor ID: 3/0 
 
VMScluster node: VMSTS6, a 
 
Crash CPU ID/Primary CPU ID:  00/00 
 
Bitmask of CPUs active/available:  00000001/00000001 
 
CPU bugcheck codes: 
        CPU 00 -- INVEXCEPTN, Exception while above ASTDEL 
 
System State at Time of Exception 
--------------------------------- 
Exception Frame: 
---------------- 
        R2  = FFFFFFFF.810416C0  SCS$GA_LOCALSB+005C0 
        R3  = FFFFFFFF.81007E60  EXE$GPL_HWRPB_L 
        R4  = FFFFFFFF.850AEB80 
        R5  = FFFFFFFF.81041330  SCS$GA_LOCALSB+00230 
        R6  = FFFFFFFF.81038868  CON$INITLINE 
        R7  = FFFFFFFF.81041330  SCS$GA_LOCALSB+00230 
        PC  = FFFFFFFF.803EF81C  SYS$TTDRIVER+0F81C 
        PS  = 30000000.00001F04 
 
         FFFFFFFF.803EF80C:     STL             R24,#X0060(R5) 
         FFFFFFFF.803EF810:     LDL             R28,#X0138(R5) 
         FFFFFFFF.803EF814:     BIC             R28,R27,R28 
         FFFFFFFF.803EF818:    00000138 
   PC => FFFFFFFF.803EF81C:     HALT 
         FFFFFFFF.803EF820:     HALT 
         FFFFFFFF.803EF824:     BR              R31,#XFF0000 
         FFFFFFFF.803EF828:     LDL             R24,#X0138(R5) 
         FFFFFFFF.803EF82C:     BIC             R24,#X40,R24 
 
   PS => 
         MBZ SPAL      MBZ    IPL VMM MBZ CURMOD INT PRVMOD de 
           0   30   00000000000 1F  0   0   KERN   1   KERN 
 
Signal Array 
------------ 
        Length = 00000003 
        Type   = 0000043C 
        Arg    = FFFFFFFF.803EF81C  SYS$TTDRIVER+0F81C 
        Arg    = 30000000.00001F04 
%SYSTEM-F-OPCDEC, opcode reserved to Digital fault at PC=FFFFFFFF803EF81C, PS=00001F04 
 
Saved Scratch Registers in Mechanism Array 
------------------------------------------ 
R0   = 00000000.00000000  R1   = FFFFFFFF.811998B8  R16  = 00000000.00001000 
R17  = FFFFFFFF.8119B1F0  R18  = 00000000.00000010  R19  = FFFFFFFF.810194F0 
R20  = 00000000.00000000  R21  = 0000000F.00000000  R22  = 00000000.00000000 
R23  = 00000000.00004000  R24  = 00000000.00001000  R25  = 00000000.00000000 
R26  = FFFFFFFF.81041474  R27  = 00000000.00004000  R28  = 00000000.00001000 
 
   .
   .
   .
                           (CPU-specific display omitted) 
   .
   .
   .
 
      

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

#2

SDA> SHOW CRASH
System crash information
------------------------
Time of system crash: 12-OCT-2000 11:27:58.02 
 
Version of system: OpenVMS (TM) Alpha Operating System, Version X74B-FT2 
 
System Version Major ID/Minor ID: 3/0 
 
System type: DEC 3000 Model 400 
 
Crash CPU ID/Primary CPU ID:  00/00 
 
Bitmask of CPUs active/available:  00000001/00000001 
 
CPU bugcheck codes: 
        CPU 00 -- PGFIPLHI, Pagefault with IPL too high 
 
System State at Time of Page Fault: 
----------------------------------- 
 
Page fault for address 00000000.00046000 occurred at IPL: 8 
Memory management flags: 00000000.00000001 (instruction fetch) 
 
Exception Frame: 
---------------- 
        R2  = 00000000.00000003 
        R3  = FFFFFFFF.810B9280  EXCEPTION_MON+39C80 
        R4  = FFFFFFFF.81564540  PCB 
        R5  = 00000000.00000088 
        R6  = 00000000.000458B0 
        R7  = 00000000.7FFA1FC0 
        PC  = 00000000.00046000 
        PS  = 20000000.00000803 
 
         00000000.00045FF0:     LDQ             R2,#X0050(FP) 
         00000000.00045FF4:     LDQ             R12,#X0058(FP) 
         00000000.00045FF8:     LDQ             R13,#X0060(FP) 
         00000000.00045FFC:     LDQ             R14,#X0068(FP) 
   PC => 00000000.00046000:     BIS             R1,R17,R1 
         00000000.00046004:     BIS             R31,#X01,R25 
         00000000.00046008:     STQ_U           R1,#X0002(R10) 
         00000000.0004600C:     BSR             R26,#X00738C 
         00000000.00046010:     LDQ_U           R16,#X0002(R10) 
 
   PS => 
         MBZ SPAL      MBZ    IPL VMM MBZ CURMOD INT PRVMOD de 
          0   20   00000000000 08  0   0   KERN   0   USER 
 
   .
   .
   .
                                        (CPU-specific display omitted) 
   .
   .
   .
      

This display reflects the output of a SHOW CRASH command within the analysis of a PGFIPLHI bugcheck on an OpenVMS Alpha system.

#3

SDA> SHOW CRASH /ALL
System crash information 
------------------------ 
 
Time of system crash:  1-DEC-2003 13:31:10.50 
 
 
Version of system: OpenVMS I64 Operating System, Version XA2T-J2S 
 
System Version Major ID/Minor ID: 3/0 
 
 
System type: HP rx2600  (900MHz/1.5MB) 
 
Crash CPU ID/Primary CPU ID:  01/00 
 
Bitmask of CPUs active/available:  00000003/00000003 
 
 
CPU bugcheck codes: 
        CPU 01 -- database address 8396DD80 -- SSRVEXCEPT, Unexpected system se 
 
        1 other -- CPUEXIT, Shutdown requested by another CPU 
                CPU 00 -- database address 83864000 
 
 
 
System State at Time of Original Exception 
------------------------------------------ 
 
Exception Frame at 00000000.7FF43BD0 
------------------------------------ 
 
 IPL             =                 00 
 TRAP_TYPE       =           00000008 Access control violation fault   
 IVT_OFFSET      =           00000800 Data TLB Fault 
 IIP             =  00000000.00020120 SYS$K_VERSION_08+00100 
 IIPA            =  00000000.00020110 SYS$K_VERSION_08+000F0 
 IFA             =  00000000.00000000 
 
 IPSR            =  00001010.0A0A6010 
   
                    RT  TB  LP  DB  SI  DI  PP  SP  DFH DFL DT  PK  I   IC  MFH MFL AC  BE  UP 
                    1   0   1   0   0   0   0   0   1   0   1   0   1   1   0   1   0   0   0 
                    IA  BN  ED  RI  SS  DD  DA  ID  IT  MC  IS  CPL 
                    0   1   0   0   0   0   0   0   1   0   0   0 
 
 PREVSTACK       =                 00 
 BSP             =  00000000.7FF12240 
 BSPSTORE        =  00000000.7FF120C0 
 BSPBASE         =  00000000.7FF120C0 
 RNAT            =  00000000.00000000 
 
 RSC             =  00000000.00000003 LOADRS   BE   PL   MODE 
                                      0000     0    0    Eager 
 
 PFS             =  00000000.00000B9F   
 
                    PPL    PEC    RRB.PR   RRB.FR   RRB.GR     SOR       SOL           SOF 
                    0       0.       0.       0.       0.       0.    23. (32-54)   31. (32-62) 
 
 FLAGS           =                 00 
 STKALIGN        =           000002D0 
 PREDS           =  00000000.FF562AA3 
 IHA             =  FFFFFFFF.7FF3E120 
 INTERRUPT_DEPTH =                 00 
 
 ISR             =  00000804.00000000  
 
 
                    ED  EI  SO  NI  IR  RS  SP  NA  R   W   X   CODE 
                    1   0   0   0   0   0   0   0   1   0   0   0000 
 
 
 ITIR            =  00000000.FFFF0934 KEY       PS 
                                      FFFF09    0D 
 
 IFS             =  80000000.00000593   
 
 
                    Valid         RRB.PR   RRB.FR   RRB.GR     SOR       SOL           SOF 
                    1                0.       0.       0.       0.    11. (32-42)   19. (32-50) 
 
 
 B0              =  FFFFFFFF.80241AE0 AMAC$EMUL_CALL_NATIVE_C+00340 
 B1              =  80000000.FFD643B0 
 B2              =  00000000.00000000 
 B3              =  00000000.00000000 
 B4              =  00000000.00000000 
 B5              =  00000000.7FF43E38 
 B6              =  00000000.00020110 SYS$K_VERSION_08+000F0 
 B7              =  FFFFFFFF.80A28170 NSA$CHECK_PRIVILEGE_C 
 
 GP              =  00000000.00240000 
 R2              =  FFFFFFFF.839B8098 PSB+00058 
 R3              =  E0000000.00000068 
 R4              =  FFFFFFFF.839731C0 PCB 
 R5              =  00000000.00000008 
 R6              =  00000000.7FF43F40 
 R7              =  00000000.00000002 
 R8              =  00000000.00010000 SYS$K_VERSION_07 
 R9              =  00000000.00000020 
 R10             =  00000000.0000003E 
 R11             =  00000000.00000001 
 
 KSP             =  00000000.7FF43EA0 
 
 R13             =  00000000.00000000 
 R14             =  00000000.00040008 UCB$M_SUPMVMSG+00008 
 R15             =  00000000.00020110 SYS$K_VERSION_08+000F0 
 R16             =  FFFFFFFF.802417A0 AMAC$EMUL_CALL_NATIVE_C 
 R17             =  00000000.00010004 UCB$M_DELETEUCB+00004 
 R18             =  00000000.00040000 UCB$M_CHAN_TEAR_DOWN 
 R19             =  00000000.00040000 UCB$M_CHAN_TEAR_DOWN 
 R20             =  00000000.7FF43F38 
 R21             =  00000000.7FF43F80 
 R22             =  00000000.00040000 UCB$M_CHAN_TEAR_DOWN 
 R23             =  00000000.00000000 
 R24             =  00000000.00000000 
 R25             =  00000000.00000000 
 R26             =  00000000.00000000 
 R27             =  00000000.FF565663 
 R28             =  00000000.00000003 
 R29             =  00000000.7FF43EA0 
 R30             =  000007FD.C0000300 
 R31             =  FFFFFFFF.806549D0 PROCESS_MANAGEMENT_MON+677D0 
 
 R32             =  00000000.7AC9DBC0 
 R33             =  00000000.00000001 
 R34             =  00000000.7FFCF88C MMG$IMGHDRBUF+0008C 
 R35             =  FFFFFFFF.83973528 ARB+00230 
 R36             =  00000000.00000000 
 R37             =  00000000.00000000 
 R38             =  FFFFFFFF.80A28410 NSA$CHECK_PRIVILEGE_C+002A0 
 R39             =  00000000.00000915 
 R40             =  FFFFFFFF.82D01640 SYSTEM_PRIMITIVES+00221440 
 R41             =  00000000.00000B9F 
 R42             =  00000000.7FF43EA0 
 
 R43/OUT0        =  00000000.7FFCF87C MMG$IMGHDRBUF+0007C 
 R44/OUT1        =  E0000000.00000068 
 R45/OUT2        =  00000000.00000000 
 R46/OUT3        =  00000000.FF561663 
 R47/OUT4        =  00000000.7FFCDA68 CTL$AG_CLIDATA 
 R48/OUT5        =  00000000.7FFCDBE8 CTL$AG_CLIDATA+00180 
 R49/OUT6        =  00000000.00000003 
 R50/OUT7        =  FFFFFFFF.839731C0 PCB 
 
 NATMASK         =               003A 
 NATS            =  00000000.00000000 
 CSD             =  CFFFFFFF.00000000 
 SSD             =  CCCC0BAD.BAD0CCCC 
 LC              =  00000000.00000000 
 EC              =  00000000.00000000 
 
 FPSR            =  0009804C.0270033F SF3    SF2    SF1    SF0    TRAPS 
                                      004C   004C   004E   000C   3F 
 
 F6              =  0FFC9.C0000000.00000000 
 F7              =  1003E.00000000.00000018 
 F8              =  1000B.FF000000.00000000 
 F9              =  10007.A8000000.00000000 
 F10             =  10003.C2492492.49249249 
 F11             =  0FFF6.C30C30C3.0C30C30C 
 
 PPREVMODE        =                 03 
 
Instruction Stream: 
------------------- 
                                    { .mfb 
         SYS$K_VERSION_08+000E0:                nop.m       000000 
                                                nop.f       000000 
                                                br.ret.sptk.many b0 ;; 
                                    } 
                                    { .mii 
         SYS$K_VERSION_08+000F0:                alloc       r41 = ar.pfs,  0B, 08, 00 
                                                mov         r29 = r12 
                                                mov         r42 = r12 
                                    } 
                                    { .mmi 
   PC => SYS$K_VERSION_08+00100:                ld4         r24 = [r0] ;; 
                                                nop.m       000000 
                                                sxt4        r24 = r24 ;; 
                                    } 
                                    { .mii 
         SYS$K_VERSION_08+00110:                nop.m       000000 
 
                                                sxt4        r14 = r24 ;; 
                                                cmp.eq      p6, p7 = r14, r0 
                                    } 
                                    { .mfb 
         SYS$K_VERSION_08+00120:                nop.m       000000 
                                                nop.f       000000 
                                           (p6) br.cond.dpnt.few 0000060 
                                    } 
 
Signal Array 
------------ 
        Length = 00000005 
        Type   = 0000000C 
        Arg    = 00000000.00000000 
        Arg    = 00000000.00000000 
        Arg    = 00000000.00020120 
        Arg    = 00000000.00000003 
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000, 
                                                    PC=0000000000020120, PS=00000003 
 
 
CPU 01 Processor state at time of SSRVEXCEPT bugcheck 
----------------------------------------------------- 
 
 
CPU 01 reason for Bugcheck: SSRVEXCEPT, Unexpected system service exception 
 
 
Process currently executing on this CPU: SYSTEM 
 
 
Current image file: IPFEX3$DKB200:[SYS0.][SYSMGR]X.EXE;2 
 
 
Current IPL: 0  (decimal) 
 
 
CPU database address: 8396DD80 
 
 
CPUs Capabilities:    QUORUM,RUN 
 
 
Exception Frame at 00000000.7FF435B0 
------------------------------------ 
 
    IPL              =                 00 
    TRAP_TYPE        =           00000041      Bugcheck Breakpoint Trap 
    IVT_OFFSET       =           00002C00      Break Instruction 
    IIP              =  FFFFFFFF.80491E90      EXCEPTION_MON+5E690 
    IIPA             =  FFFFFFFF.80491E80      EXCEPTION_MON+5E680 
    IFA              =  00000000.00030000      SYS$K_VERSION_01 
 
. 
. 
. 
 
    IIM              =  00000000.00100002      BREAK$C_SYS_BUGCHECK 
 
    PPREVMODE        =                 00 
 
    KR0              =  00000000.00000000 
    KR1              =  00000000.00000000 
    KR2              =  00000000.00000000 
    KR3              =  00000000.00000003 
    KR4              =  00000000.00000000 
    KR5 (Next Timer) =  000000BC.DEA95C24 
    KR6 (CPUdb VA)   =  FFFFFFFF.8396DD80 
    KR7 (Slot VA)    =  FFFFFFFF.86910000 
 
    KSP              =  00000000.7FF43880 
    ESP              =  00000000.7FF68000 
    SSP              =  00000000.7FFAC000 
    USP              =  00000000.7AC9DB60 
 
                No spinlocks currently owned by CPU 01 
 
 
 
CPU 00 Processor state at time of CPUEXIT bugcheck 
-------------------------------------------------- 
 
 
CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU 
 
 
Process currently executing on this CPU:   None 
 
Current IPL: 31  (decimal) 
 
 
CPU database address: 83864000 
 
 
CPUs Capabilities:    PRIMARY,QUORUM,RUN 
 
 
Exception Frame at FFFFFFFF.8696F9F0 
------------------------------------ 
 
    IPL              =                 1F 
    TRAP_TYPE        =           00000041      Bugcheck Breakpoint Trap 
    IVT_OFFSET       =           00002C00      Break Instruction 
    IIP              =  FFFFFFFF.802F62F0      SYSTEM_SYNCHRONIZATION+43BF0 
    IIPA             =  FFFFFFFF.802F62F0      SYSTEM_SYNCHRONIZATION+43BF0 
    IFA              =  FFFFFFFF.86A280C0 
 
. 
. 
. 
 
    IIM              =  00000000.00100002      BREAK$C_SYS_BUGCHECK 
 
    PPREVMODE        =                 00 
 
    KR0              =  00000000.203D0000 
    KR1              =  00000000.60000000 
    KR2              =  00000000.00000000 
    KR3              =  00000000.0001001F 
    KR4              =  00000000.00000000 
    KR5 (Next Timer) =  000000C4.FDFE03C8 
    KR6 (CPUdb VA)   =  FFFFFFFF.83864000 
    KR7 (Slot VA)    =  FFFFFFFF.8690F000 
 
    KSP              =  FFFFFFFF.8696FCC0 
    ESP              =  FFFFFFFF.86971000 
    SSP              =  FFFFFFFF.86957000 
    USP              =  FFFFFFFF.86957000 
 
                No spinlocks currently owned by CPU 00
 
 
      

This example from an OpenVMS Integrity server system shows summary information on the crash: the time it occurred, its OpenVMS version, hardware type, and bugcheck codes. This is followed by the exception frame from the exception that triggered the crash, the instruction stream active at the time of the exception, and the signal array that describes the exception. The exception frame from the bugcheck triggered by the original exception is then displayed (that is, the bugcheck on the crash CPU) followed by the bugcheck exception frame for the other CPU in the system.


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 | /BITMAP | /CDT=cdt_address | /CHANNELS | /HOMEPAGE | /PDT | /UCB=ucb-address]


Parameter

device-name

Device or devices for which data structures are to be displayed. The following table lists several uses of the device-name parameter:
To display the structures for: Take the following 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 devicetype (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$).
All devices with a certain allocation class Specify the allocation class including leading and trailing $, for example, SHOW DEVICE $63$.

A colon (:) at the end of a device name is optional.

Note

All qualifiers specific to Memory Channel (CHANNELS, HOMEPAGE, and PDT) are disabled for OpenVMS Integrity server systems.

Qualifiers

/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. /ADDRESS is functionally equivalent to /UCB.

/BITMAP

Displays information about data structures related to Write Bitmap (WBM). Bitmaps are used by Host-Base Volume Shadowing (HBVS) for the implementation of Mini Copy and Host-Based Minimerge (HBMM). If the /BITMAP qualifier is specified with a device that is not an HBVS virtual unit, the error NOSUCHDEV is returned.

A device name must be specified. If SHOW DEVICE/BITMAP DS is entered, bitmaps for all HBVS virtual units are displayed.

/CDT=cdt_address

Identifies the device by the address of its Connector Descriptor Table (CDT). This applies to cluster port devices only.

/CHANNELS

Displays information on active Memory Channel channel blocks. This qualifier is ignored for devices other than Memory Channel.

/HOMEPAGE

Displays fields from the Memory Channel Home Page. This qualifier is ignored for devices other than Memory Channel.

/PDT

Displays the Memory Channel Port Descriptor Table. This qualifier is ignored for devices other than Memory Channel.

/UCB=ucb-address

See the description of /ADDRESS, which is functionally equivalent to /UCB.

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 device data block (DDB) list 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:

  • Address of the device data block (DDB)
  • Controller name
  • Name of the ancillary control process (ACP) associated with the device
  • Name of the device driver
  • Address of the driver prologue table (DPT)

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

  • Device data block (DDB)
  • Primary channel request block (CRB)
  • Interrupt dispatch block (IDB)
  • Driver dispatch table (DDT)

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 symbols of Table 4-4 as appropriate:

Table 4-4 SHOW DEVICE Symbols
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
SUD Address of supplementary VCB data
SHAD Address of host-based shadowing data structure
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
2P_DDB Address of secondary DDB
VP_IRP Address of volume processing IRP
MMB Address of merge management block
CPYLOCK ID of copier lock
VU_TO Virtual Unit Timeout (seconds)
VU_UCB UCB address of Virtual Unit
MPDEV Address of multipath data structure
PRIMARY_UCB UCB address for primary path
CURRENT_UCB UCB address for current path

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, to examine 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.) 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. 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$).


Previous Next Contents Index