Document revision date: 30 March 2001

## OpenVMS Alpha System Analysis Tools Manual

Previous | Contents | Index

## SHOW STACK

> Displays the location and contents of the process stacks (of the SDA current process) and the system stack.

### Format

> SHOW STACK {range|/ALL|[/EXECUTIVE|/INTERRUPT|/KERNEL |/PHYSICAL|/SUPERVISOR|/SYSTEM|/USER]} {/LONG|/QUAD (d)}

### Parameter

> #### range

> Range of memory locations you want to display in stack format. You can express a range using the following syntax:

> m:n | Range of addresses from m to n
> m;n | Range of addresses starting at m and continuing for n bytes

### Qualifiers

> #### /ALL

> Displays the locations and contents of the four process stacks for the current SDA process and the system stack.

> #### /EXECUTIVE

> Shows the executive stack for the SDA current process.

> #### /INTERRUPT

> Shows the system stack and is retained for compatibility with OpenVMS VAX. The interrupt stack does not exist in OpenVMS Alpha.

> #### /KERNEL

> Shows the kernel stack for the SDA current process.

> #### /LONG

> Displays longword width stacks. If this qualifier is not specified, SDA by default displays quadword width stacks.

> #### /PHYSICAL

> Treats the start and/or end addresses in the given range as physical addresses. This qualifier is only relevant when a range is specified. By default, SDA treats range addresses as virtual addresses.

> #### /QUAD

> Displays quadword width stacks. This is the default.

> #### /SUPERVISOR

> Shows the supervisor stack for the SDA current process.

> #### /SYSTEM

> Shows the system stack.

> #### /USER

> Shows the user stack for the SDA current process.

### Description

> The SHOW STACK command, by default, displays the stack that was in use when the system failed, or, in the analysis of a running system, the current operating stack. For a process that became the SDA current process as the result of a SET PROCESS command, the SHOW STACK command by default shows its current operating stack.

> The various qualifiers to the command allow display of any of the four per-process stacks for the SDA current process, as well as the system stack for the SDA current CPU. In addition, any given range can be displayed in stack format.

> You can define SDA process and CPU context by using the SET CPU, SHOW CPU, SHOW CRASH, SET PROCESS, and SHOW PROCESS commands as indicated in their command descriptions. A complete discussion of SDA context control appears in Chapter 2, Section 2.5.

> SDA provides the following information in each stack display:

> Section | Contents
> --- | ---
> Identity of stack | SDA indicates whether the stack is a process stack (user, supervisor, executive, or kernel) or the system stack.
> Stack pointer | The stack pointer identifies the top of the stack. The display indicates the stack pointer by the symbol SP =>.
> Stack address | SDA lists all the addresses that the operating system has allocated to the stack. The stack addresses are listed in a column that increases in increments of 8 bytes (one quadword), unless you specify the /LONG qualifier in which case addresses are listed in increments of 4 (one longword).
> Stack contents | SDA lists the contents of the stack in a column to the right of the stack addresses.
> Symbols | SDA attempts to display the contents of a location symbolically, using a symbol and an offset. If the stack is being displayed in quadword width and the location cannot be symbolized as a quadword, SDA will attempt to symbolize the least significant longword and then the most significant longword. If the address cannot be symbolized, this column is left blank.
> Canonical stack | When displaying the kernel stack of a noncurrent process in a crash dump, SDA identifies the stack locations used by the scheduler to store the register contents of the process.
> Mechanism array Signal array Exception frame | When displaying the current stack in a FATALEXCPT, INVEXCEPTN, SSRVEXCEPT, or UNXSIGNAL bugcheck, SDA identifies the stack locations used to store registers and other key data for these structures.

> If a stack is empty, the display shows the following:

>     SP =>  (STACK IS EMPTY)

### Example

    SDA>  SHOW STACK
    Current Operating Stack (SYSTEM):
                           FFFFFFFF.8244BD08  FFFFFFFF.800600FC  SCH$REPORT_EVENT_C+000FC
                           FFFFFFFF.8244BD10  00000000.00000002
                           FFFFFFFF.8244BD18  00000000.00000005
                           FFFFFFFF.8244BD20  FFFFFFFF.8060C7C0
                    SP =>  FFFFFFFF.8244BD28  FFFFFFFF.8244BEE8
                           FFFFFFFF.8244BD30  FFFFFFFF.80018960  EXE$HWCLKINT_C+00260
                           FFFFFFFF.8244BD38  00000000.000001B8
                           FFFFFFFF.8244BD40  00000000.00000050
                           FFFFFFFF.8244BD48  00000000.00000210  UCB$N_RSID+00002
                           FFFFFFFF.8244BD50  00000000.00000000
                           FFFFFFFF.8244BD58  00000000.00000000
                           FFFFFFFF.8244BD60  FFFFFFFF.804045D0  SCH$GQ_IDLE_CPUS
                           FFFFFFFF.8244BD68  FFFFFFFF.8041A340  EXE$GL_FKWAITFL+00020
                           FFFFFFFF.8244BD70  00000000.00000250  UCB$T_MSGDATA+00034
                           FFFFFFFF.8244BD78  00000000.00000001
    CHF$IS_MCH_ARGS        FFFFFFFF.8244BD80  00000000.0000002B
    CHF$PH_MCH_FRAME       FFFFFFFF.8244BD88  FFFFFFFF.8244BFB0
    CHF$IS_MCH_DEPTH       FFFFFFFF.8244BD90  80000000.FFFFFFFD  G
    CHF$PH_MCH_DADDR       FFFFFFFF.8244BD98  00000000.00001600  CTL$C_CLIDATASZ+00060
    CHF$PH_MCH_ESF_ADDR    FFFFFFFF.8244BDA0  FFFFFFFF.8244BF40
    CHF$PH_MCH_SIG_ADDR    FFFFFFFF.8244BDA8  FFFFFFFF.8244BEE8
    CHF$IH_MCH_SAVR0       FFFFFFFF.8244BDB0  FFFFFFFF.8041FB00  SMP$RELEASEL+00640
    CHF$IH_MCH_SAVR1       FFFFFFFF.8244BDB8  00000000.00000000
    CHF$IH_MCH_SAVR16      FFFFFFFF.8244BDC0  00000000.0000000D
    CHF$IH_MCH_SAVR17      FFFFFFFF.8244BDC8  0000FFF0.00007E04
    CHF$IH_MCH_SAVR18      FFFFFFFF.8244BDD0  00000000.00000000
    CHF$IH_MCH_SAVR19      FFFFFFFF.8244BDD8  00000000.00000001
    CHF$IH_MCH_SAVR20      FFFFFFFF.8244BDE0  00000000.00000000
    CHF$IH_MCH_SAVR21      FFFFFFFF.8244BDE8  FFFFFFFF.805AE4B6  SISR+0006E
    CHF$IH_MCH_SAVR22      FFFFFFFF.8244BDF0  00000000.00000001
    CHF$IH_MCH_SAVR23      FFFFFFFF.8244BDF8  00000000.00000010
    CHF$IH_MCH_SAVR24      FFFFFFFF.8244BE00  00000000.00000008
    CHF$IH_MCH_SAVR25      FFFFFFFF.8244BE08  00000000.00000010
    CHF$IH_MCH_SAVR26      FFFFFFFF.8244BE10  00000000.00000001
    CHF$IH_MCH_SAVR27      FFFFFFFF.8244BE18  00000000.00000000
    CHF$IH_MCH_SAVR28      FFFFFFFF.8244BE20  FFFFFFFF.804045D0  SCH$GQ_IDLE_CPUS
                           FFFFFFFF.8244BE28  30000000.00000300  UCB$L_PI_SVA
                           FFFFFFFF.8244BE30  FFFFFFFF.80040F6C  EXE$REFLECT_C+00950
                           FFFFFFFF.8244BE38  18000000.00000300  UCB$L_PI_SVA
                           FFFFFFFF.8244BE40  FFFFFFFF.804267A0  EXE$CONTSIGNAL+00228
                           FFFFFFFF.8244BE48  00000000.7FFD00A8  PIO$GW_IIOIMPA
                           FFFFFFFF.8244BE50  00000003.00000000
                           FFFFFFFF.8244BE58  FFFFFFFF.8003FC20  EXE$CONNECT_SERVICES_C+00920
                           FFFFFFFF.8244BE60  FFFFFFFF.8041FB00  SMP$RELEASEL+00640
                           FFFFFFFF.8244BE68  00000000.00000000
                           FFFFFFFF.8244BE70  FFFFFFFF.8042CD50  SCH$WAIT_PROC+00060
                           FFFFFFFF.8244BE78  00000000.0000000D
                           FFFFFFFF.8244BE80  0000FFF0.00007E04
                           FFFFFFFF.8244BE88  00000000.00000000
                           FFFFFFFF.8244BE90  00000000.00000001
                           FFFFFFFF.8244BE98  00000000.00000000
                           FFFFFFFF.8244BEA0  FFFFFFFF.805AE4B6  SISR+0006E
                           FFFFFFFF.8244BEA8  00000000.00000001
                           FFFFFFFF.8244BEB0  00000000.00000010
                           FFFFFFFF.8244BEB8  00000000.00000008
                           FFFFFFFF.8244BEC0  00000000.00000010
                           FFFFFFFF.8244BEC8  00000000.00000001
                           FFFFFFFF.8244BED0  00000000.00000000
                           FFFFFFFF.8244BED8  FFFFFFFF.804045D0  SCH$GQ_IDLE_CPUS
                           FFFFFFFF.8244BEE0  00000000.00000001
    CHF$L_SIG_ARGS         FFFFFFFF.8244BEE8  0000000C.00000005
    CHF$L_SIG_ARG1         FFFFFFFF.8244BEF0  FFFFFFFC.00010000  SYS$K_VERSION_08
                           FFFFFFFF.8244BEF8  00000300.FFFFFFFC  UCB$L_PI_SVA
                           FFFFFFFF.8244BF00  00000002.00000001
                           FFFFFFFF.8244BF08  00000000.0000000C
                           FFFFFFFF.8244BF10  00000000.00000000
                           FFFFFFFF.8244BF18  00000000.FFFFFFFC
                           FFFFFFFF.8244BF20  00000008.00000000
                           FFFFFFFF.8244BF28  00000000.00000001
                           FFFFFFFF.8244BF30  00000008.00000000
                           FFFFFFFF.8244BF38  00000000.FFFFFFFC
    INTSTK$Q_R2            FFFFFFFF.8244BF40  FFFFFFFF.80404668  SCH$GL_ACTIVE_PRIORITY
    INTSTK$Q_R3            FFFFFFFF.8244BF48  FFFFFFFF.8042F280  SCH$WAIT_KERNEL_MODE
    INTSTK$Q_R4            FFFFFFFF.8244BF50  FFFFFFFF.80615F00
    INTSTK$Q_R5            FFFFFFFF.8244BF58  00000000.00000000
    INTSTK$Q_R6            FFFFFFFF.8244BF60  FFFFFFFF.805AE000
    INTSTK$Q_R7            FFFFFFFF.8244BF68  00000000.00000000
    INTSTK$Q_PC            FFFFFFFF.8244BF70  00000000.FFFFFFFC
    INTSTK$Q_PS            FFFFFFFF.8244BF78  30000000.00000300  UCB$L_PI_SVA
                           FFFFFFFF.8244BF80  FFFFFFFF.80404668  SCH$GL_ACTIVE_PRIORITY
                           FFFFFFFF.8244BF88  00000000.7FFD00A8  PIO$GW_IIOIMPA
                           FFFFFFFF.8244BF90  00000000.00000000
                           FFFFFFFF.8244BF98  FFFFFFFF.8042CD50  SCH$WAIT_PROC+00060
                           FFFFFFFF.8244BFA0  00000000.00000044
                           FFFFFFFF.8244BFA8  FFFFFFFF.80403C30  SMP$GL_FLAGS
    Prev SP (8244BFB0) =>  FFFFFFFF.8244BFB0  FFFFFFFF.8042CD50  SCH$WAIT_PROC+00060
                           FFFFFFFF.8244BFB8  00000000.00000000
                           FFFFFFFF.8244BFC0  FFFFFFFF.805EE040
                           FFFFFFFF.8244BFC8  FFFFFFFF.8006DB54  PROCESS_MANAGEMENT_NPRO+0DB54
                           FFFFFFFF.8244BFD0  FFFFFFFF.80404668  SCH$GL_ACTIVE_PRIORITY
                           FFFFFFFF.8244BFD8  FFFFFFFF.80615F00
                           FFFFFFFF.8244BFE0  FFFFFFFF.8041B220  SCH$RESOURCE_WAIT
                           FFFFFFFF.8244BFE8  00000000.00000044
                           FFFFFFFF.8244BFF0  FFFFFFFF.80403C30  SMP$GL_FLAGS
                           FFFFFFFF.8244BFF8  00000000.7FF95E00

> The SHOW STACK command displays a system stack. The data shown above the stack pointer may not be valid. Note that the mechanism array, signal array, and exception frame symbols displayed on the left will appear only for INVEXCEPTN, FATALEXCPT, UNXSIGNAL, and SSRVEXCEPT bugchecks.

## SHOW SUMMARY

> Displays a list of all active processes and the values of the parameters used in swapping and scheduling these processes.

### Format

> SHOW SUMMARY [/IMAGE|/PROCESS_NAME=process_name
> |/THREAD|/USER=username]

### Parameters

> None.

### Qualifiers

> #### /IMAGE

> Causes SDA to display, if possible, the name of the image being executed within each process.

> #### /PROCESS_NAME=process_name

> Displays only processes with the specified process name. You can use wildcards in process_name, in which case SDA displays all matching processes. The default action is for SDA to display data for all processes, regardless of process name.

> #### /THREAD

> Displays information on all the current threads associated with the current process.

> #### /USER=username

> Displays only the processes of the specified user. You can use wildcards in username, in which case SDA displays processes of all matching users. The default action is for SDA to display data for all processes, regardless of username.

### Description

> The SHOW SUMMARY command displays the information in Table 4-25 for each active process in the system.

> Table 4-25 Process Information in the SHOW SUMMARY Display
> Column | Contents
> --- | ---
> Extended PID | The 32-bit number that uniquely identifies the process.
> Indx | Index of this process into the PCB array.
> Process name | Name assigned to the process.
> Username | Name of the user who created the process.
> State | Current state of the process. Table 4-26 shows the 14 states and their meanings.
> Pri | Current scheduling priority of the process.
> PCB/KTB | Address of the process control block or address of the kernel thread block.
> PHD/FRED | Address of the process header or address of the floating-point registers and execution data block.
> Wkset | Number (in decimal) of pages currently in the process working set.

> Table 4-26 Current State Information
> State | Meaning
> --- | ---
> COM | Computable and resident in memory
> COMO | Computable, but outswapped
> CUR nn | Currently executing on CPU ID nn
> CEF | Waiting for a common event flag
> LEF | Waiting for a local event flag
> LEFO | Outswapped and waiting for a local event flag
> HIB | Hibernating
> HIBO | Hibernating and outswapped
> SUSP | Suspended
> SUSPO | Suspended and outswapped
> PFW | Waiting for a page that is not in memory (page-fault wait)
> FPG | Waiting to add a page to its working set (free-page wait)
> COLPG | Waiting for a page collision to be resolved (collided-page wait); this usually occurs when several processes cause page faults on the same shared page
> MWAIT | Miscellaneous wait
> RWxxx | Waiting for system resource xxx

### Example

    SDA>  SHOW SUMMARY
    Current process summary
    -----------------------
     Extended Indx Process name    Username    State   Pri PCB/KTB  PHD/FRED Wkset
    -- PID -- ---- --------------- ----------- ------- --- -------- -------- ------
     00000041 0001 SWAPPER                      HIB     16 80C641D0 80C63E00   0
     00000045 0005 IPCACP          SYSTEM       HIB     10 80DC0780 81266000  39
     00000046 0006 ERRFMT          SYSTEM       HIB      8 80DC2240 8126C000  57
     00000047 0007 OPCOM           SYSTEM       HIB      8 80DC3340 81272000  31
     00000048 0008 AUDIT_SERVER    AUDIT$SERVER HIB     10 80D61280 81278000 152
     00000049 0009 JOB_CONTROL     SYSTEM       HIB     10 80D620C0 8127E000  50
     0000004A 000A SECURITY_SERVER SYSTEM       HIB     10 80DC58C0 81284000 253
     0000004B 000B TP_SERVER       SYSTEM       HIB     10 80DC8900 8128A000  75
     0000004C 000C NETACP          DECNET       HIB     10 80DBFE00 8125A000  78
     0000004D 000D EVL             DECNET       HIB      6 80DCA080 81290000  76
     0000004E 000E REMACP          SYSTEM       HIB      8 80DE4E00 81296000  14
     00000050 0010 DECW$SERVER_0   SYSTEM       HIB      8 80DEF940 812A2000 739
     00000051 0011 DECW$LOGINOUT   <login>      LEF      4 80DF0F00 812A8000 273
     00000052 0012 SYSTEM          SYSTEM       LEF      9 80D772C0 81260000  75

> The SHOW SUMMARY command describes all active processes in the system at the time of the system failure. Note that there was no process in the CUR state at the time of the failure.

## SHOW SYMBOL

> Displays the hexadecimal value of a symbol and, if the value is equal to an address location, the contents of that location.

### Format

> SHOW SYMBOL [/ALL [/ALPHA|/VALUE]] symbol-name

### Parameter

> #### symbol-name

> Name of the symbol to be displayed. You must provide a symbol-name, unless the /ALL qualifier is specified.

### Qualifiers

> #### /ALL

> Displays information on all symbols whose names begin with the characters specified in symbol-name. If no symbol name is given, all symbols are displayed.

> #### /ALPHA

> When used with the /ALL qualifier, displays the symbols sorted only in alphabetical order. The default is to display the symbols twice, sorted alphabetically and then by value.

> When used with a wildcard symbol name, displays the symbols in alphabetical order. This is the default action.

> #### /VALUE

> When used with the /ALL qualifier, displays the symbols sorted only in value order. The default is to display the symbols twice, sorted alphabetically and then by value.

> When used with a wildcard symbol name, displays the symbols in value order.

### Description

> The SHOW SYMBOL command with the /ALL qualifier outputs all symbols whose names begin with the characters specified in symbol-name in both alphabetical order and in value order. If no symbol-name is given, all symbols are output.

> The SHOW SYMBOL/ALL command is useful for determining the values of symbols that belong to a symbol set, as illustrated in the second example below.

> The SHOW SYMBOL command without the /ALL qualifier allows for standard wildcards in the symbol-name parameter. By default, matching symbols are displayed only in alphabetical order. If you specify SHOW SYMBOL/VALUE, then matching symbols are output sorted by value. If you specify SHOW SYMBOL/ALPHA/VALUE, then matching symbols are displayed twice, sorted alphabetically and then by value.

> The SHOW SYMBOL command without the /ALL qualifier and no wildcards in the symbol-name parameter outputs the value associated with the given symbol.

> When displaying any symbol value, SDA also treats the value as an address and attempts to obtain the contents of the location. If successful, the contents are also displayed.

###

#### Examples

#1
    SDA>  SHOW SYMBOL G
    G = FFFFFFFF.80000000 :  6BFA8001.201F0104

> The SHOW SYMBOL command evaluates the symbol G as FFFFFFFF.8000000016 and displays the contents of address FFFFFFFF.8000000016 as 6BFA8001.201F010416.

#2
    SDA>  SHOW SYMBOL/ALL BUG
    Symbols sorted by name
    ----------------------
    BUG$L_BUGCHK_FLAGS          = FFFFFFFF.804031E8 : 00000000.00000001
    BUG$L_FATAL_SPSAV           = FFFFFFFF.804031F0 : 00000000.00000001
    BUG$REBOOT                  = FFFFFFFF.8042E320 : 00000000.00001808
    BUG$REBOOT_C                = FFFFFFFF.8004F4D0 : 47FB041D.47FD0600
       .
       .
       .
    Symbols sorted by value
    ----------------------
    BUG$REBOOT_C                = FFFFFFFF.8004F4D0 :47FB041D.47FD0600
    BUG$L_BUGCHK_FLAGS          = FFFFFFFF.804031E8 :00000000.00000001
    BUG$L_FATAL_SPSAV           = FFFFFFFF.804031F0 :00000000.00000001
    BUG$REBOOT                  = FFFFFFFF.8042E320 :00000000.00001808
       .
       .
       .

> This example shows the display produced by the SHOW SYMBOL/ALL command. SDA searches its symbol table for all symbols that begin with the string "BUG" and displays the symbols and their values. Although certain values equate to memory addresses, it is doubtful that the contents of those addresses are actually relevant to the symbol definitions in this instance.

## SHOW TQE

> Displays the entries in the timer queue. The default output is a summary display of all timer queue entries (TQEs) in chronological order.

### Format

> SHOW TQE [/ADDRESS=n][/ALL][/BACKLINK][/PID=n]
> [/ROUTINE=n]

### Parameters

> None.

### Qualifiers

> #### /ADDRESS=n

> Outputs a detailed display of the TQE at the specified address.

> #### /ALL

> Outputs a detailed display of all TQEs.

> #### /BACKLINK

> Outputs the display of TQEs, either detailed (/ALL) or brief (default), in reverse order, starting at the entry furthest into the future.

> #### /PID=n

> Limits the display to the TQEs that affect the process with the specified internal PID. Note that the PID format required is the entire internal PID, including both the process index and the sequence number, and not the extended PID, or process index alone, as used elsewhere in SDA.

> #### /ROUTINE=n

> Limits the display to the TQEs for which the specified address is the fork PC.

### Description

> The SHOW TQE command allows the timer queue to be displayed. By default a summary display of all TQEs is output in chronological order, beginning with the next entry to become current.

> The /ADDRESS, /PID, and /ROUTINE qualifiers are mutually exclusive. The /ADDRESS and /BACKLINK qualifiers are mutually exclusive.

> In the summary display, the TQE type is given as a five-character code, as in the following:

> Column | Symbol | Meaning
> --- | --- | ---
> 1 | T | Timer ($SETIMR) entry
> | S | System subroutine entry
> | W | Scheduled wakeup ($SCHDWK) entry
> 2 | S | Single-shot entry
> | R | Repeated entry
> 3 | D | Delta time
> | A | Absolute time
> 4 | C | CPU time
> | -- | Elapsed time
> 5 | E | Extended format (64-bit TQE)
> | -- | 32-bit TQE

Examples

    1.      SDA> SHOW TQE

            Timer queue entries
            -------------------

            System time:    30-MAY-2000 14:49:46.17
            First TQE time: 30-MAY-2000 14:49:46.19

              TQE                                                            PID/
            address                 Expiration Time                Type    routine
            --------   -----------------------------------------   -----   --------
            81214D40   009EADCE.C2B6EAB2 30-MAY-2000 14:49:46.19   TSD--   0001000E
            81352780   009EADCE.C2BD790E 30-MAY-2000 14:49:46.23   SRD--   83955BA0
            8126CB58   009EADCE.C2C4E946 30-MAY-2000 14:49:46.28   SRD--   81184230
            81210F00   009EADCE.C2CDEC76 30-MAY-2000 14:49:46.34   SRD--   8252EAF8
            8103FB28   009EADCE.C2E8C81B 30-MAY-2000 14:49:46.51   SRD--   81041930
            81210BC0   009EADCE.C2F0603A 30-MAY-2000 14:49:46.56   TSD--   0001000E
            83975948   009EADCE.C313B1BB 30-MAY-2000 14:49:46.79   SRD--   83974B10
            8131F5C0   009EADCE.C332AFCB 30-MAY-2000 14:49:47.00   SRD--   811FDCD0

            ...

            8103FB00   FFFFFFFF.FFFFFFFF         -<end>-           TSD--   00000000

This example shows the summary display of all TQEs.

    2.      SDA> SHOW TQE/ADDRESS=8131F5C0

            Timer queue entry 8131F5C0
            --------------------------

            TQE Address:                      8131F5C0   Type:                    00000005  SYSTEM_SUBROUTINE REPEAT
                FLink:                        8129C6D8   BLink:                   83975948
                Requestor process ID:         00000000   Access Mode:             00000000

                Expiration time:     009EADD2.417463F4   30-MAY-2000 15:14:47.31  +67860
                Delta repeat time:   00000000.00989680             0 00:00:01.00

                Fork PC:                      811FDCD0   NETDRIVER+190D0
                Fork R3:             00000000.00000000
                Fork R4:             FFFFFFFF.8131DB00

Previous | Next | Contents | Index

| privacy and legal statement |
6549PRO_020.HTML