Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]
OpenVMS VAX System Dump Analyzer Utility Manual

OpenVMS VAX System Dump Analyzer Utility Manual

Order Number: AA--PV6TC--TE


January 1999

This manual explains how to use the System Dump Analyzer (SDA) to investigate system failures and examine a running system.

Revision/Update Information: This manual supersedes the VMS System Dump Analyzer Utility Manual, Version 6.0.

Software Version: OpenVMS VAX Version 7.1

The content of this document has not changed since OpenVMS Version 7.1




Compaq Computer Corporation Houston, Texas


Reprinted January 1999

Compaq Computer Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description.

Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from Digital or an authorized sublicensor.

Compaq conducts its business in a manner that conserves the environment and protects the safety and health of its employees, customers, and the community.

© Compaq Computer Corporation 1999. All rights reserved.

The following are trademarks of Compaq Computer Corporation: Alpha, Compaq, DECdirect, DECwindows, DIGITAL, OpenVMS, VAX, VAX DOCUMENT, VAXcluster, VMS, and the Compaq logo.

The following is a third-party trademark:

Adobe is a registered trademark of Adobe Systems Incorporated.

All other trademarks and registered trademarks are the property of their respective holders.

ZK4556

The OpenVMS documentation set is available on CD-ROM.

This document was prepared using VAX DOCUMENT, Version V3.2n.

Contents Index


Preface

Intended Audience

The OpenVMS VAX System Dump Analyzer Utility Manual is primarily intended for the system programmer who must investigate the causes of system failures and debug kernel-mode code, such as a device driver. This programmer should have some knowledge of OpenVMS data structures to properly interpret the results of System Dump Analyzer (SDA) commands.

This manual also includes information required by the system manager in order to maintain the system resources necessary to capture and store system crash dumps. Those who need to determine the cause of a hung process or improve system performance can refer to this manual for instructions for using SDA to analyze a running system.

Document Structure

The OpenVMS VAX System Dump Analyzer Utility Manual contains the following sections:
Section Description of Contents
SDA Description Includes the following information:
  • An introduction to the functions of the System Dump Analyzer (SDA)
  • A description of SDA features
  • A discussion of key concepts of SDA
  • An illustration of the use of SDA

This section also includes instructions for maintaining the optimal environment for the analysis of system failures and notes the requirements for processes invoking SDA.

SDA Usage Summary Summarizes how to use SDA, including invoking SDA, exiting from SDA, and recording the output of an SDA session. It also describes required privileges.
SDA Qualifiers Describes ANALYZE command qualifiers that govern the behavior of SDA: /CRASH_DUMP, /RELEASE, /SYMBOL, and /SYSTEM.
SDA Commands Describes each SDA command; descriptions include the following information about each command:
  • Function
  • Format
  • Parameters

This section also provides examples of situations in which specific commands are useful.

Related Documents

For additional information, refer to the following documents:

Investigators of VMScluster failures will find the discussion in OpenVMS Cluster Systems and the discussion of the Show Cluster utility in the OpenVMS System Management Utilities Reference Manual helpful in understanding the output of several SDA commands.

For additional information on the Open Systems Software Group (OSSG) products and services, access the following OpenVMS World Wide Web address:


http://www.openvms.digital.com 

Note

1 This manual has been archived but is available in PostScript and DECW$BOOK (Bookreader) formats on the OpenVMS Documentation CD-ROM. A printed book can be ordered by calling 800-344-4825.

Reader's Comments

Compaq welcomes your comments on this manual.

Print or edit the online form SYS$HELP:OPENVMSDOC_COMMENTS.TXT and send us your comments by:
Internet openvmsdoc@zko.mts.dec.com
Fax 603 884-0120, Attention: OSSG Documentation, ZKO3-4/U08
Mail Compaq Computer Corporation
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698

How To Order Additional Documentation

Use the following World Wide Web address to order additional documentation:


http://www.openvms.digital.com:81/ 

If you need help deciding which documentation best meets your needs, call 800-344-4825.

Conventions

The following conventions are used in this manual:
Ctrl/ x A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.
PF1 x A sequence such as PF1 x indicates that you must first press and release the key labeled PF1 and then press and release another key or a pointing device button.
[Return] In examples, a key name enclosed in a box indicates that you press a key on the keyboard. (In text, a key name is not enclosed in a box.)

In the HTML version of this document, this convention appears as brackets, rather than a box.

... A horizontal ellipsis in examples indicates one of the following possibilities:
  • Additional optional arguments in a statement have been omitted.
  • The preceding item or items can be repeated one or more times.
  • Additional parameters, values, or other information can be entered.
.
.
.
A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed.
( ) In command format descriptions, parentheses indicate that you must enclose the options in parentheses if you choose more than one.
[ ] In command format descriptions, brackets indicate optional elements. You can choose one, none, or all of the options. (Brackets are not optional, however, in the syntax of a directory name in an OpenVMS file specification or in the syntax of a substring specification in an assignment statement.)
[|] In command format descriptions, vertical bars separating items inside brackets indicate that you choose one, none, or more than one of the options.
{ } In command format descriptions, braces indicate required elements; you must choose one of the options listed.
bold text This text style represents the introduction of a new term or the name of an argument, an attribute, or a reason.
italic text Italic text indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where dd represents the predefined code for the device type).
UPPERCASE TEXT Uppercase text indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.
Monospace text Monospace type indicates code examples and interactive screen displays.

In the C programming language, monospace type in text identifies the following elements: keywords, the names of independently compiled external functions and files, syntax summaries, and references to variables or identifiers introduced in an example.

- A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line.
numbers All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated.

SDA Description

When a fatal error causes the system to fail, the operating system copies the contents of memory to a system dump file; the system also records the hardware context of each processor in the system.

The System Dump Analyzer (SDA) provides a means of interpreting the contents of the system dump file, thus enabling you to examine the status of each processor at the time of the failure and to investigate the probable causes of the crash.

To examine the system dump file, you invoke SDA by using the DCL command ANALYZE/CRASH_DUMP. You can also invoke SDA to analyze a running system, using the DCL command ANALYZE/SYSTEM. Most SDA commands generate useful output in this mode of operation.

Caution

Although the analysis of a running system might be instructive, be aware that system context, process context, and a processor's hardware context remain fluid during any given display. In a multiprocessing environment, a process running SDA might be rescheduled to a different processor frequently during analysis. Therefore, Digital recommends that you not examine the hardware context of processors in a running system.

Following are brief explanations of SDA qualifiers. Details about these qualifiers are in the SDA Qualifiers section.
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

The following tables show the SDA commands that you can use to perform operations within the SDA utility. These commands are in groups of related information. Details about SDA commands are in the SDA Commands section.

Table SDA-1 describes information that you can select and display about processes.

Table SDA-1 Selecting and Displaying Information About Processes
Operation SDA Command
Display the condition of the operating system and the hardware context of each processor in the system at the time of a crash SHOW CRASH
Display a summary of all processes on the system SHOW SUMMARY
Select a process to become the SDA current process SET PROCESS
Examine the memory of any process SHOW PROCESS
Select a specific processor in a multiprocessing system as the subject of analysis SET CPU
Display information about the state of a processor at the time of the system failure SHOW CPU
Display multiprocessor synchronization information SHOW SPINLOCKS
Display the contents of a specific process stack or the interrupt stack of a specific processor SHOW STACK
Display the layout of the loadable executive images SHOW EXECUTIVE

Table SDA-2 describes information that you can display about data structures.

Table SDA-2 Displaying Information about Data Structures
Operation SDA Command
Display memory management data structures SHOW POOL,
SHOW PFN_DATA,
SHOW PAGE_TABLE
Display device status, as reflected in system data structures SHOW DEVICE
Display OpenVMS RMS data structures of a process SHOW PROCESS/RMS
Display lock management data structures SHOW RESOURCE,
SHOW LOCK
Display information contained in various local area network (LAN) data structures SHOW LAN
Display VAXcluster management data structures SHOW CLUSTER,
SHOW CONNECTIONS,
SHOW RSPID,
SHOW PORTS

Table SDA-3 describes SDA commands that you can use to examine, evaluate, and validate information.

Table SDA-3 Examining, Evaluating, and Validating Information
Operation SDA Command
Evaluate an expression in hexadecimal and decimal, interpreting its value as a symbol, a condition value, a page table entry (PTE), or a processor status longword (PSL) EVALUATE
Examine the contents of memory locations, optionally interpreting them as MACRO instructions, a PTE, or a PSL EXAMINE
Validate the integrity of the links in a queue VALIDATE QUEUE

Table SDA-4 describes the SDA commands that you can use to search for, format, and copy information.

Table SDA-4 Searching for, Formatting, and Copying Information
Operation SDA Command
Search memory for a given value SEARCH
Format system data structures FORMAT
Format a call frame from a stack location SHOW CALL_FRAME
Copy the system dump file COPY

Table SDA-5 describes the operations you can perform to manage the SDA utility and the SDA symbol table.

Table SDA-5 Managing the SDA Utility and the SDA Symbol Table
Operation SDA Command
Define keys to invoke SDA commands DEFINE/KEY
Switch control of your terminal from your current process to another process in your job ATTACH
Direct (or echo) the output of an SDA session to a file or device SET OUTPUT or
SET LOG
Repeat execution of the last command issued REPEAT
Create a subprocess of the process currently running SDA SPAWN
Change the options shown by the SHOW PROCESS/RMS command SET RMS
Define symbols to represent values or locations in memory and add them to the SDA symbol table DEFINE
Read a set of global symbols into the SDA symbol table READ
Display the hexadecimal value of a symbol and, if the value is equal to an address location, the contents of that location SHOW SYMBOL
Exit from the SDA display or from the SDA utility EXIT

Table SDA-6 describes the commands that you can use to display information produced by DECdtm.

Table SDA-6 Displaying Information Produced by DECdtm
Operation SDA Command
Display information about all transactions on the node or about a specified transaction SHOW TRANSACTIONS
Display information about transaction logs currently open for the node SHOW LOGS

Although SDA provides a great deal of information, it does not analyze all the control blocks and data contained in memory. For this reason, in the event of system failure it is extremely important that you send Digital Equipment Corporation a Software Performance Report (SPR) and a copy of the system dump file written at the time of the failure.

1 System Management and SDA

The system manager must perform the following operations in regard to the system dump file:

The following sections describe these tasks.

1.1 Understanding the System Dump File

The operating system attempts to write information into the system dump file only if the system parameter DUMPBUG is set. 1 If DUMPBUG is set and the operating system fails, the system writes the contents of the error log buffers, processor registers, and physical memory into the system dump file, overwriting its previous contents.

If the system dump file is too small, it cannot contain all of memory when a system failure occurs. For most systems, this means that the system's page table (SPT) is not included in the dump. SDA cannot analyze a dump unless the entire SPT is included in the dump.

1.1.1 Choosing Between SYSDUMP.DMP and PAGEFILE.SYS Files

SYS$SYSTEM:SYSDUMP.DMP (SYS$SPECIFIC:[SYSEXE]SYSDUMP.DMP) is furnished as an empty file in the software distribution kit. To successfully store a crash dump, you must make SYS$SYSTEM:SYSDUMP.DMP large enough to hold all the information to be written when the system fails. If this is not possible, you can have dumps written into the system paging file, SYS$SYSTEM:PAGEFILE.SYS. You can enlarge or adjust the size of either of these files by using the CREATE command of the System Generation utility (SYSGEN), as described in the OpenVMS System Management Utilities Reference Manual.

Using SYSDUMP.DMP

To calculate the correct size for SYS$SYSTEM:SYSDUMP.DMP, use the following formula:


     size-in-blocks(SYS$SYSTEM:SYSDUMP.DMP) 
             = size-in-pages(physical-memory) 
             + (number-of-error-log-buffers * blocks-per-buffer) 
             + 1 

You can use the DCL command SHOW MEMORY to determine the total size of physical memory on your system. In addition, you must account for any MA780 multiport memory installed on your system. The number of error log buffers in any given system varies, depending on the setting of the ERRORLOGBUFFERS system parameter. (See the OpenVMS System Management Utilities Reference Manual for additional information about this parameter.)

Using PAGEFILE.SYS

If SYS$SYSTEM:SYSDUMP.DMP does not exist, the operating system writes the dump of physical memory into SYS$SYSTEM:PAGEFILE.SYS, the system's paging file, overwriting the contents of that file. If the SAVEDUMP system parameter is set, the dump file is retained in PAGEFILE.SYS when the system is booted. If it is clear, the entire paging file is used for paging, and any dump written to the paging file is lost.2

It is not recommended to use a selective dump (DUMPSTYLE=1) style with PAGEFILE.SYS. If the PAGEFILE is used for a selective dump, and if the PAGEFILE is not large enough to contain all the logical memory blocks, the dump fills the entire pagefile and the system may hang on reboot. When selective dumping is setup, all available space will be used to write out the logical memory blocks. If the pagefile is large enough to contain all of physical memory, there is no reason to use selective dumping and a full memory dump (DUMPSTYLE=0) should be used.

To calculate the minimum size for SYS$SYSTEM:PAGEFILE.SYS, use the following formula:


     size-in-blocks(SYS$SYSTEM:PAGEFILE.SYS) 
             = size-in-pages(physical-memory) 
             + (number-of-error-log-buffers * blocks-per-buffer) 
             + 1 
             + 1000 

Caution

This formula calculates only the minimum size requirement for saving a dump in the system's primary page file. For most systems, the page file must be larger than this to avoid hanging the system. (See the OpenVMS System Manager's Manual: Essentials and OpenVMS System Manager's Manual: Tuning, Monitoring, and Complex Systems for more information.)

Freeing Space in PAGEFILE.SYS

If you use SYS$SYSTEM:PAGEFILE.SYS to hold system crash dumps, you must later free the space occupied by the dump so that the pager can use it. Usually, you include SDA commands in the site-specific startup command procedure (SYS$MANAGER:SYSTARTUP_VMS.COM) to free this space; if you do not, your system might hang during the startup procedure.

A common method of freeing space is to copy the dump from SYS$SYSTEM:PAGEFILE.SYS to another file, using the SDA COPY command. (Although you can also use the DCL COPY command to copy a dump file, only the SDA COPY command frees the pages occupied by the dump from the system's paging file.)

Occasionally, you might want to free the pages in the paging file that are taken up by the dump without having to copy the dump elsewhere. When you issue the ANALYZE/CRASH_DUMP/RELEASE command, SDA immediately releases the pages to be used for system paging, effectively deleting the dump. to examine

Note

The ANALYZE/CRASH_DUMP/RELEASE command does not allow you to analyze the dump before deleting it.

Note

1 The DUMPBUG parameter is set by default. To examine or change its value, consult the OpenVMS System Management Utilities Reference Manual.
2 The SAVEDUMP parameter is clear by default. To examine or change its value, consult the OpenVMS System Management Utilities Reference Manual.


Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
4556PRO.HTML