Document revision date: 19 July 1999 | |
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:
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.
SHOW DEVICE {device-name|/ADDRESS=ucb-address}
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).
/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.
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 UCBSee 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.
#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,funcThis 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.
Displays the location and size of each loadable image that makes up the executive.
SHOW EXECUTIVE
None.
None.
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).
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.
Displays the header of the dump file.
SHOW HEADER
None.
None.
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 |