Document revision date: 30 March 2001

## OpenVMS VAX System Dump Analyzer Utility Manual

Previous | Contents | Index

### 10.2 Examples of How to Cause System Failures

The following examples show the sequence of console commands needed to cause a system failure on each type of processor. In each instance, after halting the processor and examining its registers, you place the equivalent of --1 (for example, FFFFFFFF16) into the PC. The value placed in the PSL sets the processor access mode to kernel and the IPL to 31. After these commands are executed, an INVEXCEPTN bugcheck is reported on the console terminal, followed by a listing of the contents of the processor registers.

The console volume of most processors contains a command file named either CRASH.COM or CRASH.CMD, which you can execute to perform these commands. Note that the console sessions recorded in this section omit much of the information the console displays in response to the listed commands.

VAX 85x0/8700/88x0

The following series of console commands causes a system failure on the VAX 85x0/8700/88x0 systems. (Note that the console prompt for the VAX 8810, 8820, and 8830 systems is PS-CIO-0> and not >>>.)

    $ [Ctrl/P]
    >>> SET CPU CURRENT_PRIMARY
    >>> HALT
    ?00       Left CPU -- CPU halted
              PC = 8001911C
    >>> @CRASH
    !
    ! Command procedure to force bugcheck via access violation
    !
    SET VERIFY
    SET CPU CURRENT_PRIMARY    !Select primary
    EXAMINE PSL                !Display PSL
            M 00000000 00420008
    EXAMINE/I/NEXT 4 0
    .
    .
    .

    DEPOSIT PC FFFFFFFF        !Set PC=-1 to force ACCVIO
    DEPOSIT PSL 41F0000        !Set IPL=31, interrupt stack
    CONTINUE                   !Execute from PC=-1

VAX 82x0/83x0, VAXstation 3520/3540, 6000 Series, and 9000 Series

The following console commands cause a system failure on a VAX 82x0/83x0 system, a VAXstation 3520/3540 system, a VAX 6000 series system, or a VAX 9000 series system.

    $ [Ctrl/P]
            PC = 80008B1F
    >>> E P
    >>> E/I 0
    >>> E/I +
    >>> E/I +
    >>> E/I +
    >>> E/I +
    >>> D/G F FFFFFFFF
    >>> D P 41F0000
    >>> C

VAX 8600/8650

The following console commands cause a system failure on the VAX 8600/8650 systems.

    $ [Ctrl/P]
    >>> @CRASH
        SET QUIET OFF          !Make clearer
        SET ABORT OFF          !Don't abort on E/VIR command
        HALT
            CPU stopped, INVOKED BY CONSOLE (CSM code 11)
            PC 80008B1F
        UNJAM                  !Clear the way
        E PSL                  !Display PSL
            U PSL 00000000
        E/I/N:4 0              !Display stack pointers
       .
       .
       .

        E SP                   !Get current stack pointers
            G 0E 80000C40
        E/vir/next:40 @        !Dump top of stack
       .
       .
       .

        D PC FFFFFFFF          !Invalidate the PC
        D PSL 1F0000           !Kernel mode, IPL 31
        SET ABORT ON           !Restore abort flag
        SET QUIET ON           !Shut output off
        CONTINUE               !Force a machine check

VAX-11/780 and VAX-11/785

The following console commands cause a system failure on the VAX-11/780 and VAX-11/785 processors.

    $ [Ctrl/P]
    >>> @CRASH
    HALT                       !Halt system, examine PC,
    HALTED AT 80008A89

    EXAMINE PSL                !PSL,
    00000000

    EXAMINE/INTERN/NEXT:4 0    !and all stack pointers

    DEPOSIT PC = -1            !Invalidate PC
    DEPOSIT PSL = 41F0000       !Kernel mode, IPL 31

     CONTINUE

VAX-11/750

The following code causes a system failure on a VAX-11/750. On this processor, the HALT command is a NOP; a Ctrl/P automatically halts the processor.

    $ [Ctrl/P]
    >>> H
    >>> E P
    >>> E/I 0
    >>> E/I +
    >>> E/I +
    >>> E/I +
    >>> E/I +
    >>> D/G F FFFFFFFF
    >>> D P 41F0000
    >>> C

MicroVAX 3400/3600/3900 Series, VAXstation/MicroVAX 3100, VAXstation/MicroVAX 2000, MicroVAX II, and VAX 4000 Series

To force a crash of a MicroVAX, you must first halt the processor. (After you halt the processor, press the HALT button again so that it is popped out and is not illuminated.) Then, issue the following console commands:

    >>> E PSL
    >>> E/I/N:4 0
    >>> D PC FFFFFFFF
    >>> D PSL 41F0000
    >>> C

VAX-11/730

The following console commands cause a system failure on a VAX-11/730. Ctrl/P automatically halts the processor.

    $ [Ctrl/P]
    >>> H
    >>> E PSL
    >>> E/I/N:4 0
    >>> D PC FFFFFFFF
    >>> D PSL 1F0000
    >>> C

## SDA Usage Summary

> The System Dump Analyzer is a utility that you can use to help determine the causes of system failures. This utility is also useful for examining the running system.

### Format

> analyze {/CRASH_DUMP [/RELEASE] filespec| /SYSTEM} [/SYMBOL=system-symbol-table]

### Command Parameter

> #### filespec

> Name of the file that contains the dump you want to analyze. At least one field of the filespec is required, and it can be any field. The default filespec is the highest version of SYSDUMP.DMP in your default directory.

Usage Summary

The following table summarizes how to perform key SDA operations.

Operation | Command | Explanation or Requirements
--- | --- | ---
Invoke SDA to analyze a system dump | $ ANALYZE/CRASH_DUMP filename | If you do not specify a file name, SDA prompts you for one. Reading the dump file usually requires system privilege (SYSPRV), but your system manager can allow less privileged processes to read dump files. Your process needs change-mode-to-kernel (CMKRNL) privilege to release page file dump blocks, whether you use the /RELEASE qualifier or the SDA COPY command.
Invoke SDA to analyze a running system | $ ANALYZE/SYSTEM | Your process must have change-mode-to-kernel (CMKRNL) privilege. You cannot specify a file name with the /SYSTEM qualifier.
Send all output from SDA to a file | SDA> SET OUTPUT filename | The file produced is 132 columns wide and is formatted for output to a printer.
Redirect the output to your terminal | $ SET OUTPUT SYS$OUTPUT |
Send a copy of all the commands you enter and all the output those commands produce to a file | SDA> SET LOG filename | The file produced is 132 columns wide and is formatted for output to a printer.
Exit an SDA display or the SDA utility | SDA> EXIT | If SDA is in display mode, you must use the EXIT command twice: once to exit display mode and a second time to exit SDA.

## SDA Qualifiers

The following qualifiers, described in this section, determine whether the object of an SDA session is a crash dump or a running system. They also help create the environment of an SDA session. Table SDA-10 briefly describes the SDA qualifiers.

Table SDA-10 Descriptions of SDA Qualifiers
Qualifier | Description
--- | ---
/CRASH_DUMP | Invokes SDA to analyze a specified dump file
/RELEASE | Invokes SDA to release those blocks that are occupied by a crash dump in a specified system paging file
/SYMBOL | Specifies a system symbol table for SDA to use in place of the system symbol table it uses by default (SYS$SYSTEM:SYS.STB)
/SYSTEM | Invokes SDA to analyze a running system

## /CRASH_DUMP

> Invokes SDA to analyze the specified dump file.

### Format

> /CRASH_DUMP filespec

### Parameter

> #### filespec

> Name of the crash dump file to be analyzed. The default file specification is:

> > SYS$DISK:[default-dir]SYSDUMP.DMP

> SYS$DISK and [default-dir] represent the disk and directory specified in your last SET DEFAULT command. If you do not specify filespec, SDA prompts you for it.

### Description

> See Section 2 for additional information on crash dump analysis.

###

#### Examples

#1
    $ ANALYZE/CRASH_DUMP SYS$SYSTEM:SYSDUMP.DMP
    $ ANALYZE/CRASH SYS$SYSTEM

> These commands invoke SDA to analyze the crash dump stored in SYS$SYSTEM:SYSDUMP.DMP.

#2
    $ ANALYZE/CRASH SYS$SYSTEM:PAGEFILE.SYS

> This command invokes SDA to analyze a crash dump stored in the system paging file.

## /RELEASE

> Invokes SDA to release those blocks in the specified system paging file occupied by a crash dump.

### Format

> /RELEASE filespec

### Parameter

> #### filespec

> Name of the system page file (SYS$SYSTEM:PAGEFILE.SYS). The default file specification is:

> > SYS$DISK:[default-dir]SYSDUMP.DMP

> SYS$DISK and [default-dir] represent the disk and directory specified in your last SET DEFAULT command. If you do not specify filespec, SDA prompts you for it.

### Description

> You use the /RELEASE qualifier to release from the system paging file those blocks occupied by a crash dump. When invoked with the /RELEASE qualifier, SDA immediately deletes the dump from the paging file and allows no opportunity to analyze its contents.

> When you specify the /RELEASE qualifier in the ANALYZE command, you must also do the following:

> 1. Use the /CRASH_DUMP qualifier.
> 2. Include the name of the system paging file (SYS$SYSTEM:PAGEFILE.SYS) as the filespec.

> If you do not specify the system paging file or the specified paging file does not contain a dump, SDA generates the following messages:

>     %SDA-E-BLKSNRLSD, no dump blocks in page file to release, or not page file
>     %SDA-E-NOTPAGFIL, specified file is not the page file

### Example

    $ ANALYZE/CRASH_DUMP/RELEASE SYS$SYSTEM:PAGEFILE.SYS

> This command invokes SDA to release to the paging file those blocks in SYS$SYSTEM:PAGEFILE.SYS occupied by a crash dump.

## /SYMBOL

> Specifies a system symbol table for SDA to use in place of the system symbol table it uses by default (SYS$SYSTEM:SYS.STB).

### Format

> /SYMBOL =system-symbol-table

### Parameter

> #### system-symbol table

> File specification of the SDA system symbol table needed to define symbols required by SDA to analyze a dump from a particular system. The specified system-symbol-table must contain those symbols required by SDA to find certain locations in the executive image.

> If you do not specify the /SYMBOL qualifier, SDA uses SYS$SYSTEM:SYS.STB by default. When you do specify the /SYMBOL qualifier, SDA assumes the default disk and directory to be SYS$DISK: that is, the disk and directory specified in your last SET DEFAULT command. If SDA is given a file that is not a system symbol table in the /SYMBOL qualifier, it halts with a fatal error.

### Description

> The /SYMBOL qualifier allows you to specify a system symbol table, other than SYS$SYSTEM:SYS.STB, to load into the SDA symbol table. This might be necessary, for instance, to analyze a crash dump taken on a processor running a different version of OpenVMS.

> You can use the /SYMBOL qualifier whether you are analyzing a system dump or a running system.

### Example

    $ ANALYZE/CRASH_DUMP/SYMBOL=SYS$CRASH:SYS.STB SYS$SYSTEM

> This command invokes SDA to analyze the crash dump stored in SYS$SYSTEM:SYSDUMP.DMP, using the system symbol table at SYS$CRASH:SYS.STB.

## /SYSTEM

> Invokes SDA to analyze a running system.

### Format

> /SYSTEM

### Parameters

> None.

### Description

> See Section 3 for a full discussion of using SDA to analyze a running system.

> You cannot specify the /CRASH_DUMP or /RELEASE qualifiers when you include the /SYSTEM qualifier in the ANALYZE command.

### Example

    $  ANALYZE/SYSTEM

> This command invokes SDA to analyze the running system.

## SDA Commands

Table SDA-11 briefly describes the SDA commands that are explained fully in the following section.

Table SDA-11 Descriptions of SDA Commands
Command | Description
--- | ---
@ (Execute Procedure) | Causes SDA to execute SDA commands contained in a file
ATTACH | Switches control of your terminal from your current process to another process in your job
COPY | Copies the contents of the dump file to another file
DEFINE | Assigns a value to a symbol or associates an SDA command with a terminal key
EVALUATE | Computes and displays the value of the specified expression in both hexadecimal and decimal
EXAMINE | Displays either the contents of a location or range of locations in physical memory, or the contents of a register
EXIT | Exits from an SDA display or exits from the SDA utility
FORMAT | Displays a formatted list of the contents of a block of memory
HELP | Displays information about the SDA utility, its operation, and the format of its commands
READ | Loads the global symbols contained in the specified object module into the SDA symbol table
REPEAT | Repeats execution of the last command issued
SEARCH | Scans a range of memory locations for all occurrences of a specified value
SET CPU | Selects a processor to become the SDA current CPU
SET LOG | Initiates or discontinues the recording of an SDA session in a text file
SET OUTPUT | Redirects output from SDA to the specified file or device
SET PROCESS | Selects a process to become the SDA current process
SET RMS | Changes the options shown by the SHOW PROCESS/RMS command
SHOW CALL_FRAME | Displays the locations and contents of the longwords representing a procedure call frame
SHOW CLUSTER | Displays connection manager and system communications services (SCS) information for all nodes in a cluster
SHOW CONNECTIONS | Displays information about all active connections between SCS processes or a single connection
SHOW CPU | Displays information about the state of a processor at the time of the system failure
SHOW CRASH | In the analysis of a system failure, displays information about the state of the system at the time of the failure; in the analysis of a running system, provides information identifying the system
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 EXECUTIVE | Displays the location and size of each loadable image that makes up the executive
SHOW HEADER | Displays the header of the dump file
SHOW LAN | Displays information contained in various local area network (LAN) data structures
SHOW LOCK | Displays information about all lock management locks in the system, cached locks, or a specified lock
SHOW LOGS | Displays information about transaction logs currently open for the node
SHOW PAGE_TABLE | Displays a range of system page table entries, the entire system page table, or the entire global page table
SHOW PFN_DATA | Displays information that is contained in the page lists and PFN database
SHOW POOL | Displays information about the disposition of paged and nonpaged memory, nonpaged dynamic storage pool, and paged dynamic storage pool
SHOW PORTS | Displays those portions of the port descriptor table (PDT) that are port independent
SHOW PROCESS | Displays the software and hardware context of any process in the balance set
SHOW RESOURCE | Displays information about all resources in the system or about a resource associated with a specific lock
SHOW RMS | Displays the RMS data structures selected by the SET RMS command to be included in the default display of the SHOW PROCESS/RMS command
SHOW RSPID | Displays information about response IDs (RSPIDs) of all SCS connections or, optionally, a specific SCS connection
SHOW SPINLOCKS | Displays information taken from the data structures that provide system synchronization in a multiprocessing environment
SHOW STACK | Displays the location and contents of the four process stacks (of the SDA current process) and the interrupt stack (of the SDA current CPU)
SHOW SUMMARY | Displays a list of all active processes and the values of the parameters used in swapping and scheduling those processes
SHOW SYMBOL | Displays the hexadecimal value of a symbol and, if the value is equal to an address location, the contents of that location
SHOW TRANSACTIONS | Displays information about all transactions on the node or about a specified transaction
SPAWN | Creates a subprocess of the process currently running SDA, copying the context of the current process to the subprocess
VALIDATE QUEUE | Validates the integrity of the specified queue by checking the pointers in the queue

Previous | Next | Contents | Index

| privacy and legal statement |
4556PRO_004.HTML