Document revision date: 30 March 2001

## OpenVMS VAX System Dump Analyzer Utility Manual

Previous | Contents | Index

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:

> - Address of the device data block (DDB)
> - Controller name
> - Name of the ancillary control process (ACP) or extended QIO processor (XQP) associated with the device
> - Name of the device driver
> - Address of the driver prologue table (DPT)
> - Size of the 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 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

>     VTA20 ==> LTA20                         VT200_Series      UCB address:  8042E4C0

>     Device status:   00010110 online,bsy,deleteucb
>     Characteristics: 0C040007 rec,ccl,trm,avl,idv,odv
>                      00000200 nnm

>     Owner UIC [000001,000004]   Operation count       5793   ORB address    8042E590
>           PID        00010064   Error count              0   DDB address    80CEF2E0
>     Class/Type          42/6E   Reference count          2   DDT address    807696FB
>     Def. buf. size         80   BOFF                  0155   CRB address    80BC8B00
>     DEVDEPEND        180093A0   Byte count            0100   IRP address    80BE2B00
>     DEVDEPND2        7962100C   SVAPTE            804801C0   I/O wait queue    empty
>     FLCK/DLCK        00000012   DEVSTS                0000

>                                     I/O request queue
>                                     -----------------

>     STATE    IRP      PID   MODE CHAN  FUNC    WCB     EFN    AST     IOSB    STATUS

>      C   80BE2B00  00010064  E   FFC0  C000  00000000  29  80127458  7FFA800C  0003
>          nop bufio,func

> This example reproduces the SHOW DEVICE display for a single device unit, VTA20. Whereas this display lists information from the UCB for VTA20, 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 sort of information, specify the device-name as VTA (for example, SHOW DEVICE VTA).

#2
    SDA> SHOW DEVICE DU
    I/O data structures
    -------------------
                                DDB list
                                --------

           Address    Controller     ACP       Driver      DPT   DPT size
           -------    ----------     ---       ------      ---   --------

          80D0B3C0    BLUES$DUA     F11XQP    DSDRIVER   807735B0  679D
          8000B2B8    RED$DUA       F11XQP    DSDRIVER   807735B0  679D
          80D0B9C0    RED$DUS       F11XQP    DSDRIVER   807735B0  679D
          80D08BA0    BIGTOP$DUA    F11XQP    DSDRIVER   807735B0  679D
          80D08AE0    TIMEIN$DUA    F11XQP    DSDRIVER   807735B0  679D
       .
       .
       .
    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 (that is, DUA and DUS). It displays devices of these types attached to various HSCs (RED$ and BLUES$) and systems in a cluster (BIGTOP$ and TIMEIN$).

> Following the DDB list, SHOW DEVICE DU produces displays for each controller and each unit on each controller, as illustrated in the next example.

#3
    SDA>  SHOW DEVICE DUS

>     I/O data structures
>     -------------------
>                                 DDB list
>                                 --------

>          Address    Controller     ACP       Driver      DPT   DPT size
>          -------    ----------     ---       ------      ---   --------

>          80D0B9C0    RED$DUS       F11XQP    DSDRIVER   807735B0  679D

>     Controller: RED$DUS
>     --------------------

>                     --- LOVE System Block (SB) 80D0C500 ---

>     System ID            00000000FFF2    Local software type          HSC
>     Max message size               66    Local software vers.         Y35Q
>     Max datagram size              62    Local software incarn.   6DF9E6E0
>     Local hardware type          HS50                             008FCC83
>     Local hardware vers. 2722722221A3    SCS poller timeout           0002
>                          000000272272    SCS poller enable mask         01

>                     --- Path Block (PB) 80D0BEA0 ---

>                 Status:  0028

>     Remote sta. addr.    00000000000B    Remote port type              HSC
>     Remote state         00000000000B    Number of data paths            2
>     Remote hardware rev.     00000225    Cables state            A-OK B-OK
>     Remote func. mask        4F710200    Local state                  OPEN
>     Resetting port                 05    Port dev. name               PAA0
>     Handshake retry cnt.            1    SCS MSGBUF address       80BCD510
>     Msg. buf. wait queue        empty    PDT address              803B38D0

>                 --- Device Data Block (DDB) 80D0B9C0 ---

>     Driver name         DUDRIVER   Alloc. class        254   DDT address    80773640
>     ACP ident                F11   SB address     80D0C500
>     ACP class               PACK   UCB address    803B9C60

>             ---  Primary Channel Request Block (CRB) 80BF7000 ---

>     Reference count       17    Wait queue         empty    Aux. struct.    803B4150
>     Due time        00012DCC    Timeout rout.   807743D1    Timeout link    8039E03C
>     IDB address     80D0C440                                Ctrl. init.     80773774
>     ADP address     80BF7F70

>                 --- Driver Dispatch Table (DDT) 80773640 ---

>     Errlog buf sz          0    Diag buf sz          104    FDT size             244
>     Start I/O       80773B21    Register dump     return    FDT address     80773680
>     Alt start I/O     return    Unit init       80775970    Mnt verify      80775BC2
>     Cancel I/O      807763A7    Unsol int       80774602    Cloned UCB        return

>     RED$DUS3                                RA81              UCB address:  803B9C60

>     Device status:   00021810 online,valid,unload,lcl_valid
>     Characteristics: 1C4D4008 dir,fod,shr,avl,mnt,elg,idv,odv,rnd
>                      000002A1 clu,mscp,srv,nnm

>     Owner UIC [100001,000063]   Operation count      55595   ORB address    803B9D90
>           PID        00000000   Error count              0   DDB address    80D0B9C0
>     Alloc. lock ID   00010161   Reference count          3   DDT address    80773640
>     Alloc. class          254   Online count             2   VCB address    8044D940
>     Class/Type          01/15   BOFF                  0000   CRB address    80BF7000
>     Def. buf. size        512   Byte count            0A00   PDT address    803B38D0
>     DEVDEPEND        04E00E33   SVAPTE            835C7738   CDDB address   803B4150
>     DEVDEPND2        00000000   DEVSTS                0004   I/O wait queue    empty
>     FLCK/DLCK        00000012   RWAITCNT              0000

>                 --- Primary Class Driver Data Block (CDDB) 803B4150 ---

>     Status:              1040 alcls_set,bshadow
>     Controller Flags:    80D6 cf_shadw,cf_mlths,cf_this,cf_misc,cf_attn,cf_replc

>     Allocation class     254    CDRP Queue      80BD1170    DDB address     8000B2B8
>     System ID       0000FFF2    Restart Queue      empty    CRB address     80BF7000
>                         0000    DAP Count              1    CDDB link       803C01C0
>     Contrl. ID      0000FFF2    Contr. timeout        75    PDT address     803B38D0
>                     01010000    Reinit Count           0    Original UCB    00000000
>     Response ID     00000000    Wait UCB Count         0    UCB chain       803B89A0
>     MSCP Cmd status FFFFFFFF

>         *** I/O request queue is empty ***

>                 --- Volume Control Block (VCB) 8044D940 ---

>     Volume: VMSCMSMASTER     Lock name: VMSCMSMASTER
>     Status:  A0 extfid,system
>     Status2: 15 writethru,mountver,nohighwater
>     Shadow status: 21 shadmast,mvbegun

>     Mount count            1    Rel. volume            0    AQB address     80D0BAE0
>     Transactions           3    Max. files        111384    RVT address     803B9C60
>     Free blocks       205989    Rsvd. files            9    FCB queue       80BD87B0
>     Window size            7    Cluster size           3    Cache blk.      8044DA30
>     Vol. lock ID    00010167    Def. extend sz.        5    Shadow mem. FL  80CF5C40
>     Block. lock ID  01A50139    Record size            0    Shadow mem. BL  80CF5BE0
>     Shadow lock ID  00010168

>             --- Shadow set $254$DUS3 member summary ---

>     Volume: JAZZLORE

>     Physical unit     Primary path      Secondary path    Member status
>     -------------     ------------      --------------    -------------
>     $254$DUA129       RED                 -- none --      Shadow set member
>     $254$DUA139       RED                 -- none --      Shadow set member

>                     --- ACP Queue Block (AQB) 80D0BAE0 ---

>     ACP requests are serviced by the eXtended Qio Processor (XQP)

>     Status: 14 defsys,xqioproc

>     Mount count           56    ACP type           f11v2    Request queue   00000000
>                                 ACP class              0

>         *** ACP request queue is empty ***

>     RED$DUS5                               RA80              UCB address:  803B9DF0

>     Device status:   00021810 online,valid,unload,lcl_valid
>     Characteristics: 1C4D4008 dir,fod,shr,avl,mnt,elg,idv,odv,rnd
>                      000002A1 clu,mscp,srv,nnm
>        .
>        .
>        .

> This example illustrates the output of the command SHOW DEVICE DUS, where two shadow sets (RED$DUS3 and RED$DUS5) are associated with the HSC RED$. There is a controller display for RED$DUS and a unit display for each of the two shadow sets.

## SHOW EXECUTIVE

> Displays the location and size of each loadable image that makes up the executive.

### Format

> SHOW EXECUTIVE

### Parameters

> None.

### Qualifiers

> None.

### Description

> The executive consists of a fixed portion and a loadable portion. The fixed portion is known as SYS$SYSTEM:SYS.EXE and consists of three parts:
> - System service dispatch vectors
> - Universal executive routine vectors
> - Globally referenced data cells

> The loadable portion consists of a number of independent images that perform the work of the operating system.

> The SHOW EXECUTIVE command lists the location and size of each image within the loadable portion of the executive image. It can thus enable you to determine whether a given memory address falls within the range occupied by a particular loadable image. (Table SDA-13 describes the contents of each loadable image.)

> By default, SDA displays each location within the loadable portion of the executive as an offset from the beginning of one of the loadable images; for instance, EXCEPTION+00282. Similarly, those symbols that represent system services point to the vector region and not to the system service's loadable code. When tracing the course of a system failure through the listings of modules contained within a given loadable executive image, you might find it useful to load into the SDA symbol table all global symbols and global entry points defined within one or all modules that make up the loadable portion of the executive image. See the description of the READ command for additional information.

> The SHOW EXECUTIVE command usually shows all components of the executive image, as illustrated in the following example. In rare circumstances, you might obtain a partial listing. For instance, once it has loaded the EXCEPTION module (in the INIT phase of system initialization), the system can successfully post a bugcheck exception and save a crash dump. Later, if the system should fail sometime during initialization, it might not have been able to load some of the modules that appear above EXCEPTION in the SHOW EXECUTIVE display (see the example).

### Example

    SDA> SHOW EXECUTIVE
    VMS Executive Layout
    --------------------
    Image                            Base            End             Length
    SYSMSG                           8015AA00        80183600        00028C00
    RECOVERY_UNIT_SERVICES           80211400        80212000        00000C00
    RMS                              80183600        801A7E00        00024800
    CPULOA                           801B2800        801B3200        00000A00
    LMF$GROUP_TABLE                  801B3800        801B3C00        00000400
    SYSLICENSE                       801B4000        801B5400        00001400
    SYSGETSYI                        801B5A00        801B7000        00001600
    SYSDEVICE                        801B7400        801B8A00        00001600
    MESSAGE_ROUTINES                 801B9000        801BB600        00002600
    EXCEPTION                        801CBA00        801D3E00        00008400
    LOGICAL_NAMES                    801D4600        801D6000        00001A00
    SECURITY                         801D6600        801D7C00        00001600
    LOCKING                          801D8200        801DA800        00002600
    PAGE_MANAGEMENT                  801DAE00        801E2600        00007800
    WORKING_SET_MANAGEMENT           801E2E00        801E7200        00004400
    IMAGE_MANAGEMENT                 801E7C00        801EA400        00002800
    EVENT_FLAGS_AND_ASTS             801EAA00        801EBE00        00001400
    IO_ROUTINES                      801EC400        801F2C00        00006800
    PROCESS_MANAGEMENT               801F3200        801F9400        00006200
    ERRORLOG                         80204C00        80205600        00000A00
    PRIMITIVE_IO                     80205C00        80206C00        00001000
    SYSTEM_SYNCHRONIZATION           80207000        80208C00        00001C00
    SYSTEM_PRIMITIVES                80209200        8020C400        00003200

> The SHOW EXECUTIVE command displays the location and length of the loadable images included in the executive.

## SHOW HEADER

> Displays the header of the dump file.

### Format

> SHOW HEADER

### Parameters

> None.

### Qualifiers

> None.

### Description

> The SHOW HEADER command produces a 10-column display, each line of which displays both the hexadecimal and ASCII representation of the contents of the dump file header in 32-byte intervals. Thus, the first eight columns, when read right to left, represent the hexadecimal contents of 32 bytes of the header; similarly, the ninth column, when read left to right, records the ASCII equivalent of the contents. (Note that the period character [.] in this column indicates an ASCII character that cannot be displayed.)

> After it displays the contents of the first header block, the SHOW HEADER command displays the hexadecimal contents of the saved error log buffers.

> See the VAX/VMS Internals and Data Structures manual for a discussion of the information contained in the dump file header.

    SDA>  SHOW HEADER
    Dump file header
    ----------------
    7FF03944 7FFED04E . . . 000000C1 00000000  ........................N...D9.. 00000000
    00000000 00000000 . . . 00040000 80185200  .R.............................. 00000020
    00000000 00000000 . . . 00000000 00000000  ................................ 00000040
    00020000 00000000 . . . 15000011 00000000  ................................ 00000060
    414E454C 45480800 . . . 0000012C 00000000  ....,.....................GARNER 00000080
    FE9E007F F74D7C0A . . . 00000000 00002020  ...........%.@.o41......M....... 000000A0
       .
       .
       .
    Saved error log messages
    ------------------------
    00000000 00000009 . . . 801D8739 00000300  ....9.......5................... 801D8600
    7B0090AC 2FCBCEC2 . . . 414E454C 45480800  ..GARNER  ...........&.zxcv.O... 801D8620
    00202041 4E454C45 . . . 01080100 0000C30A  .A........d............GARNER  . 801D8640
       .
       .
       .

The SHOW HEADER command displays the contents of the dump file's header from address 6B016 to address C9016. Ellipses indicate hexadecimal information omitted from the display.

Previous | Next | Contents | Index

| privacy and legal statement |
4556PRO_010.HTML