|
HP OpenVMS System Analysis Tools Manual
SHOW CPU
When analyzing a dump, displays information about the state of a CPU at
the time of the system failure.
SHOW CPU is only valid when you are analyzing a crash dump. It is not a
valid command when you are analyzing the running system, because all
the CPU-specific information may not be available. If invoked when you
are analyzing a running system, SHOW CPU will only list the CPU
database address(es) for the specified CPU or all CPUs.
Format
SHOW CPU [cpu-id]
Parameter
cpu-id
Numeric value from 00 to 1F16 indicating the identity of the
CPU for which context information is to be displayed. If you specify a
value outside this range, or you specify the cpu-id of
a CPU that was not active at the time of the system failure, SDA
displays the following message:
%SDA-E-CPUNOTVLD, CPU not booted or CPU number out of range
|
If you use the cpu-id parameter, the SHOW CPU command
performs an implicit SET CPU command, making the CPU indicated by
cpu-id the current CPU for subsequent SDA commands.
(See the description of the SET CPU command and Section 2.5 for
information on how this can affect the CPU context---and process
context---in which SDA commands execute.)
Qualifiers
None.
Description
The SHOW CPU command displays system failure information about the CPU
specified by cpu-id or, by default, the SDA current
CPU, as defined in Section 2.5.
The SHOW CPU command produces several displays. The first display is a
brief description of the system failure and its environment that
includes the following:
- Reason for the bugcheck.
- Name of the currently executing process. If no process has been
scheduled on this CPU, SDA displays the following message:
Process currently executing: no processes currently scheduled on the processor
|
- File specification of the image executing within the current
process (if there is a current process).
- Interrupt priority level (IPL) of the CPU at the time of the system
failure.
- The CPU database address.
- The CPU's capability set.
On Alpha, the register display follows. First the
general registers are output, showing the contents of the
CPU's integer registers (R0 to R30), and the AI, RA, PV, FP, PC, and PS
at the time of the system failure.
The Alpha processor registers display consists of the
following parts:
- Common processor registers
- Processor-specific registers
- Stack pointers
The first part of the processor registers display includes registers
common to all Alpha processors, which are used by the operating system
to maintain the current process virtual address space, system space, or
other system functions. This part of the display includes the following
registers:
- Hardware privileged context block base register (PCBB)
- System control block base register (SCBB)
- Software interrupt summary register (SISR)
- Address space number register (ASN)
- AST summary register (ASTSR)
- AST enable register (ASTEN)
- Interrupt priority level register (IPL)
- Processor priority level register (PRBR)
- Page table base register (PTBR)
- Virtual page table base register (VPTB)
- Floating-point control register (FPCR)
- Machine check error summary register (MCES)
On I64, the register display is in the form of the contents of
the exception frame generated by the bugcheck. See SHOW CRASH for more
details.
The last part of the display includes the four stack pointers: the
pointers of the kernel, executive, supervisor, and user stacks (KSP,
ESP, SSP, and USP, respectively). In addition, on I64, the four
register stack pointers are displayed: KBSP, EBSP, SBSP, UBSP.
The SHOW CPU command concludes with a listing of the spinlocks, if any,
owned by the CPU at the time of the system failure, reproducing some of
the information given by the SHOW SPINLOCKS command. The spinlock
display includes the following information:
- Name of the spinlock.
- Address of the spinlock data structure (SPL).
- The owning CPU's CPU ID.
- IPL of the spinlock.
- Indication of the depth of this CPU's ownership of the spinlock. A
number greater than 1 indicates that this CPU has nested acquisitions
of the spinlock.
- Rank of the spinlock.
- Timeout interval for spinlock acquisition (in terms of 10
milliseconds).
- Shared array (shared spinlock context block pointers)
Example
|
SDA> SHOW CPU 0
CPU 00 Processor crash information
----------------------------------
CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU
Process currently executing on this CPU: None
Current IPL: 31 (decimal)
CPU database address: 81414000
CPUs Capabilities: PRIMARY,QUORUM,RUN
General registers:
R0 = FFFFFFFF.81414000 R1 = FFFFFFFF.81414000 R2 = 00000000.00000000
R3 = FFFFFFFF.810AD960 R4 = 00000000.01668E90 R5 = 00000000.00000001
R6 = 66666666.66666666 R7 = 77777777.77777777 R8 = FFFFFFFF.814FB040
R9 = 99999999.99999999 R10 = FFFFFFFF.814FB0C0 R11 = BBBBBBBB.BBBBBBBB
R12 = CCCCCCCC.CCCCCCCC R13 = FFFFFFFF.810AD960 R14 = FFFFFFFF.81414018
R15 = 00000000.00000004 R16 = 00000000.000006AC R17 = 00000000.00000047
R18 = 00000000.00000000 R19 = 00000000.00000000 R20 = FFFFFFFF.8051A494
R21 = 00000000.00000000 R22 = 00000000.00000001 R23 = 00000000.00000010
R24 = FFFFFFFF.81414000 AI = FFFFFFFF.81414000 RA = FFFFFFFF.81006000
PV = 00000001.FFFFFFFF R28 = 00000000.00000000 FP = FFFFFFFF.88ABDFD0
PC = FFFFFFFF.8009C95C PS = 18000000.00001F04
Processor Internal Registers:
ASN = 00000000.00000000 ASTSR/ASTEN = 00000000
IPL = 0000001F PCBB = 00000000.01014080 PRBR = FFFFFFFF.81414000
PTBR = 00000000.0000FFBF SCBB = 00000000.000001E8 SISR = 00000000.00000100
VPTB = FFFFFEFC.00000000 FPCR = 00000000.00000000 MCES = 00000000.00000000
KSP = FFFFFFFF.88ABDCD8
ESP = FFFFFFFF.88ABF000
SSP = FFFFFFFF.88AB9000
USP = FFFFFFFF.88AB9000
Spinlocks currently owned by CPU 00
SCS Address 810AF300
Owner CPU ID 00000000 IPL 00000008
Ownership Depth 00000000 Rank 0000001A
Timeout Interval 002DC6C0 Share Array 00000000
|
This example shows the default output of the SHOW CPU command on an
Alpha system.
SHOW CRASH
Displays information about the state of the system at the time of
failure. Provides system information identifying a running system and
can display exception information.
Format
SHOW CRASH [/CPU=n]
Parameters
None.
Qualifier
/CPU=n
Allows exception data to be displayed from CPUs other than the one
considered as the crash CPU when more than one CPU crashes
simultaneously.
Description
The SHOW CRASH command has two different functions, depending on
whether you use it to analyze a running system or a system failure.
When used during the analysis of a running system, the SHOW CRASH
command produces a display that describes the system and the version of
OpenVMS that it is running. The system crash
information display contains the following information:
- Name and version number of the operating system
- Major and minor IDs of the operating system
- Identity of the OpenVMS system, including an indication of its
cluster membership
- CPU ID of the primary CPU
- Address of all CPU databases
When used during the analysis of a system failure, the SHOW CRASH
command produces several displays that identify the system and describe
its state at the time of the failure.
If the current CPU context for SDA is not that of the processor that
signaled the bugcheck, or the CPU specified with the /CPU=n
qualifier, the SHOW CRASH command first performs an implicit SET CPU
command to make that processor the current CPU for SDA. (See the
description of the SET CPU command and Section 2.5 for a discussion
of how this can affect the CPU context---and process context---in which
SDA commands execute.)
The system crash information display in this context
provides the following information:
- Date and time of the system failure.
- Name and version number of the operating system.
- Major and minor IDs of the operating system.
- Identity of the system.
- CPU IDs of both the primary CPU and the CPU that initiated the
bugcheck. In a uniprocessor system, these IDs are identical.
- Bitmask of the active and available CPUs in the system.
- For each active processor in the system, the address of its CPU
database and the name of the bugcheck that caused the system failure.
Generally, there will be only one significant bugcheck in the system.
All other processors typically display the following as their reason
for taking a bugcheck:
CPUEXIT, Shutdown requested by another CPU
|
Subsequent screens of the SHOW CRASH command display information about
the state of each active processor on the system at the time of the
system failure. The information in these screens is identical to that
produced by the SHOW CPU command, including the registers (Alpha),
exception frame (I64), stack pointers, and records of spinlock
ownership. The first such screen presents information about the
processor that caused the failure; others follow according to the
numeric order of their CPU IDs. For the processor that caused the
failure, if an exception bugcheck (INVEXCEPTN, SSRVEXCEPT, FATALEXCEPT,
UNXSIGNAL) or, for I64 only, also a KRNLSTAKNV or DEBUGCRASH bugcheck
has occurred,
SHOW CRASH first displays the exception frame from the original
exception.
SHOW CRASH displays the original exception in process dumps, and
additionally displays all CPU database addresses in system dumps.
Examples
#1 |
SDA> SHOW CRASH
Version of system: OpenVMS (TM) Alpha Operating System, Version X901-SSB
System Version Major ID/Minor ID: 3/0
VMScluster node: VMSTS6, a
Crash CPU ID/Primary CPU ID: 00/00
Bitmask of CPUs active/available: 00000001/00000001
CPU bugcheck codes:
CPU 00 -- INVEXCEPTN, Exception while above ASTDEL
System State at Time of Exception
---------------------------------
Exception Frame:
----------------
R2 = FFFFFFFF.810416C0 SCS$GA_LOCALSB+005C0
R3 = FFFFFFFF.81007E60 EXE$GPL_HWRPB_L
R4 = FFFFFFFF.850AEB80
R5 = FFFFFFFF.81041330 SCS$GA_LOCALSB+00230
R6 = FFFFFFFF.81038868 CON$INITLINE
R7 = FFFFFFFF.81041330 SCS$GA_LOCALSB+00230
PC = FFFFFFFF.803EF81C SYS$TTDRIVER+0F81C
PS = 30000000.00001F04
FFFFFFFF.803EF80C: STL R24,#X0060(R5)
FFFFFFFF.803EF810: LDL R28,#X0138(R5)
FFFFFFFF.803EF814: BIC R28,R27,R28
FFFFFFFF.803EF818: 00000138
PC => FFFFFFFF.803EF81C: HALT
FFFFFFFF.803EF820: HALT
FFFFFFFF.803EF824: BR R31,#XFF0000
FFFFFFFF.803EF828: LDL R24,#X0138(R5)
FFFFFFFF.803EF82C: BIC R24,#X40,R24
PS =>
MBZ SPAL MBZ IPL VMM MBZ CURMOD INT PRVMOD de
0 30 00000000000 1F 0 0 KERN 1 KERN
Signal Array
------------
Length = 00000003
Type = 0000043C
Arg = FFFFFFFF.803EF81C SYS$TTDRIVER+0F81C
Arg = 30000000.00001F04
%SYSTEM-F-OPCDEC, opcode reserved to Digital fault at PC=FFFFFFFF803EF81C, PS=00001F04
Saved Scratch Registers in Mechanism Array
------------------------------------------
R0 = 00000000.00000000 R1 = FFFFFFFF.811998B8 R16 = 00000000.00001000
R17 = FFFFFFFF.8119B1F0 R18 = 00000000.00000010 R19 = FFFFFFFF.810194F0
R20 = 00000000.00000000 R21 = 0000000F.00000000 R22 = 00000000.00000000
R23 = 00000000.00004000 R24 = 00000000.00001000 R25 = 00000000.00000000
R26 = FFFFFFFF.81041474 R27 = 00000000.00004000 R28 = 00000000.00001000
.
.
.
(CPU-specific display omitted)
.
.
.
|
This long display reflects the output of the SHOW CRASH command within
the analysis of a system failure on an OpenVMS Alpha system.
#2 |
SDA> SHOW CRASH
System crash information
------------------------
Time of system crash: 12-OCT-2000 11:27:58.02
Version of system: OpenVMS (TM) Alpha Operating System, Version X74B-FT2
System Version Major ID/Minor ID: 3/0
System type: DEC 3000 Model 400
Crash CPU ID/Primary CPU ID: 00/00
Bitmask of CPUs active/available: 00000001/00000001
CPU bugcheck codes:
CPU 00 -- PGFIPLHI, Pagefault with IPL too high
System State at Time of Page Fault:
-----------------------------------
Page fault for address 00000000.00046000 occurred at IPL: 8
Memory management flags: 00000000.00000001 (instruction fetch)
Exception Frame:
----------------
R2 = 00000000.00000003
R3 = FFFFFFFF.810B9280 EXCEPTION_MON+39C80
R4 = FFFFFFFF.81564540 PCB
R5 = 00000000.00000088
R6 = 00000000.000458B0
R7 = 00000000.7FFA1FC0
PC = 00000000.00046000
PS = 20000000.00000803
00000000.00045FF0: LDQ R2,#X0050(FP)
00000000.00045FF4: LDQ R12,#X0058(FP)
00000000.00045FF8: LDQ R13,#X0060(FP)
00000000.00045FFC: LDQ R14,#X0068(FP)
PC => 00000000.00046000: BIS R1,R17,R1
00000000.00046004: BIS R31,#X01,R25
00000000.00046008: STQ_U R1,#X0002(R10)
00000000.0004600C: BSR R26,#X00738C
00000000.00046010: LDQ_U R16,#X0002(R10)
PS =>
MBZ SPAL MBZ IPL VMM MBZ CURMOD INT PRVMOD de
0 20 00000000000 08 0 0 KERN 0 USER
.
.
.
(CPU-specific display omitted)
.
.
.
|
This display reflects the output of a SHOW CRASH command within the
analysis of a PGFIPLHI bugcheck on an OpenVMS Alpha system.
#3 |
SDA> SHOW CRASH
System crash information
------------------------
Time of system crash: 1-DEC-2003 13:31:10.50
Version of system: OpenVMS I64 Operating System, Version XA2T-J2S
System Version Major ID/Minor ID: 3/0
System type: HP rx2600 (900MHz/1.5MB)
Crash CPU ID/Primary CPU ID: 01/00
Bitmask of CPUs active/available: 00000003/00000003
CPU bugcheck codes:
CPU 01 -- database address 8396DD80 -- SSRVEXCEPT, Unexpected system se
1 other -- CPUEXIT, Shutdown requested by another CPU
CPU 00 -- database address 83864000
System State at Time of Original Exception
------------------------------------------
Exception Frame at 00000000.7FF43BD0
------------------------------------
IPL = 00
TRAP_TYPE = 00000008 Access control violation fault
IVT_OFFSET = 00000800 Data TLB Fault
IIP = 00000000.00020120 SYS$K_VERSION_08+00100
IIPA = 00000000.00020110 SYS$K_VERSION_08+000F0
IFA = 00000000.00000000
IPSR = 00001010.0A0A6010
RT TB LP DB SI DI PP SP DFH DFL DT PK I IC MFH MFL AC BE UP
1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0
IA BN ED RI SS DD DA ID IT MC IS CPL
0 1 0 0 0 0 0 0 1 0 0 0
PREVSTACK = 00
BSP = 00000000.7FF12240
BSPSTORE = 00000000.7FF120C0
BSPBASE = 00000000.7FF120C0
RNAT = 00000000.00000000
RSC = 00000000.00000003 LOADRS BE PL MODE
0000 0 0 Eager
PFS = 00000000.00000B9F
PPL PEC RRB.PR RRB.FR RRB.GR SOR SOL SOF
0 0. 0. 0. 0. 0. 23. (32-54) 31. (32-62)
FLAGS = 00
STKALIGN = 000002D0
PREDS = 00000000.FF562AA3
IHA = FFFFFFFF.7FF3E120
INTERRUPT_DEPTH = 00
ISR = 00000804.00000000
ED EI SO NI IR RS SP NA R W X CODE
1 0 0 0 0 0 0 0 1 0 0 0000
ITIR = 00000000.FFFF0934 KEY PS
FFFF09 0D
IFS = 80000000.00000593
Valid RRB.PR RRB.FR RRB.GR SOR SOL SOF
1 0. 0. 0. 0. 11. (32-42) 19. (32-50)
B0 = FFFFFFFF.80241AE0 AMAC$EMUL_CALL_NATIVE_C+00340
B1 = 80000000.FFD643B0
B2 = 00000000.00000000
B3 = 00000000.00000000
B4 = 00000000.00000000
B5 = 00000000.7FF43E38
B6 = 00000000.00020110 SYS$K_VERSION_08+000F0
B7 = FFFFFFFF.80A28170 NSA$CHECK_PRIVILEGE_C
GP = 00000000.00240000
R2 = FFFFFFFF.839B8098 PSB+00058
R3 = E0000000.00000068
R4 = FFFFFFFF.839731C0 PCB
R5 = 00000000.00000008
R6 = 00000000.7FF43F40
R7 = 00000000.00000002
R8 = 00000000.00010000 SYS$K_VERSION_07
R9 = 00000000.00000020
R10 = 00000000.0000003E
R11 = 00000000.00000001
KSP = 00000000.7FF43EA0
R13 = 00000000.00000000
R14 = 00000000.00040008 UCB$M_SUPMVMSG+00008
R15 = 00000000.00020110 SYS$K_VERSION_08+000F0
R16 = FFFFFFFF.802417A0 AMAC$EMUL_CALL_NATIVE_C
R17 = 00000000.00010004 UCB$M_DELETEUCB+00004
R18 = 00000000.00040000 UCB$M_CHAN_TEAR_DOWN
R19 = 00000000.00040000 UCB$M_CHAN_TEAR_DOWN
R20 = 00000000.7FF43F38
R21 = 00000000.7FF43F80
R22 = 00000000.00040000 UCB$M_CHAN_TEAR_DOWN
R23 = 00000000.00000000
R24 = 00000000.00000000
R25 = 00000000.00000000
R26 = 00000000.00000000
R27 = 00000000.FF565663
R28 = 00000000.00000003
R29 = 00000000.7FF43EA0
R30 = 000007FD.C0000300
R31 = FFFFFFFF.806549D0 PROCESS_MANAGEMENT_MON+677D0
R32 = 00000000.7AC9DBC0
R33 = 00000000.00000001
R34 = 00000000.7FFCF88C MMG$IMGHDRBUF+0008C
R35 = FFFFFFFF.83973528 ARB+00230
R36 = 00000000.00000000
R37 = 00000000.00000000
R38 = FFFFFFFF.80A28410 NSA$CHECK_PRIVILEGE_C+002A0
R39 = 00000000.00000915
R40 = FFFFFFFF.82D01640 SYSTEM_PRIMITIVES+00221440
R41 = 00000000.00000B9F
R42 = 00000000.7FF43EA0
R43/OUT0 = 00000000.7FFCF87C MMG$IMGHDRBUF+0007C
R44/OUT1 = E0000000.00000068
R45/OUT2 = 00000000.00000000
R46/OUT3 = 00000000.FF561663
R47/OUT4 = 00000000.7FFCDA68 CTL$AG_CLIDATA
R48/OUT5 = 00000000.7FFCDBE8 CTL$AG_CLIDATA+00180
R49/OUT6 = 00000000.00000003
R50/OUT7 = FFFFFFFF.839731C0 PCB
NATMASK = 003A
NATS = 00000000.00000000
CSD = CFFFFFFF.00000000
SSD = CCCC0BAD.BAD0CCCC
LC = 00000000.00000000
EC = 00000000.00000000
FPSR = 0009804C.0270033F SF3 SF2 SF1 SF0 TRAPS
004C 004C 004E 000C 3F
F6 = 0FFC9.C0000000.00000000
F7 = 1003E.00000000.00000018
F8 = 1000B.FF000000.00000000
F9 = 10007.A8000000.00000000
F10 = 10003.C2492492.49249249
F11 = 0FFF6.C30C30C3.0C30C30C
PPREVMODE = 03
Instruction Stream:
-------------------
{ .mfb
SYS$K_VERSION_08+000E0: nop.m 000000
nop.f 000000
br.ret.sptk.many b0 ;;
}
{ .mii
SYS$K_VERSION_08+000F0: alloc r41 = ar.pfs, 0B, 08, 00
mov r29 = r12
mov r42 = r12
}
{ .mmi
PC => SYS$K_VERSION_08+00100: ld4 r24 = [r0] ;;
nop.m 000000
sxt4 r24 = r24 ;;
}
{ .mii
SYS$K_VERSION_08+00110: nop.m 000000
sxt4 r14 = r24 ;;
cmp.eq p6, p7 = r14, r0
}
{ .mfb
SYS$K_VERSION_08+00120: nop.m 000000
nop.f 000000
(p6) br.cond.dpnt.few 0000060
}
Signal Array
------------
Length = 00000005
Type = 0000000C
Arg = 00000000.00000000
Arg = 00000000.00000000
Arg = 00000000.00020120
Arg = 00000000.00000003
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000,
PC=0000000000020120, PS=00000003
CPU 01 Processor state at time of SSRVEXCEPT bugcheck
-----------------------------------------------------
CPU 01 reason for Bugcheck: SSRVEXCEPT, Unexpected system service exception
Process currently executing on this CPU: SYSTEM
Current image file: IPFEX3$DKB200:[SYS0.][SYSMGR]X.EXE;2
Current IPL: 0 (decimal)
CPU database address: 8396DD80
CPUs Capabilities: QUORUM,RUN
Exception Frame at 00000000.7FF435B0
------------------------------------
IPL = 00
TRAP_TYPE = 00000041 Bugcheck Breakpoint Trap
IVT_OFFSET = 00002C00 Break Instruction
IIP = FFFFFFFF.80491E90 EXCEPTION_MON+5E690
IIPA = FFFFFFFF.80491E80 EXCEPTION_MON+5E680
IFA = 00000000.00030000 SYS$K_VERSION_01
.
.
.
IIM = 00000000.00100002 BREAK$C_SYS_BUGCHECK
PPREVMODE = 00
KR0 = 00000000.00000000
KR1 = 00000000.00000000
KR2 = 00000000.00000000
KR3 = 00000000.00000003
KR4 = 00000000.00000000
KR5 (Next Timer) = 000000BC.DEA95C24
KR6 (CPUdb VA) = FFFFFFFF.8396DD80
KR7 (Slot VA) = FFFFFFFF.86910000
KSP = 00000000.7FF43880
ESP = 00000000.7FF68000
SSP = 00000000.7FFAC000
USP = 00000000.7AC9DB60
No spinlocks currently owned by CPU 01
CPU 00 Processor state at time of CPUEXIT bugcheck
--------------------------------------------------
CPU 00 reason for Bugcheck: CPUEXIT, Shutdown requested by another CPU
Process currently executing on this CPU: None
Current IPL: 31 (decimal)
CPU database address: 83864000
CPUs Capabilities: PRIMARY,QUORUM,RUN
Exception Frame at FFFFFFFF.8696F9F0
------------------------------------
IPL = 1F
TRAP_TYPE = 00000041 Bugcheck Breakpoint Trap
IVT_OFFSET = 00002C00 Break Instruction
IIP = FFFFFFFF.802F62F0 SYSTEM_SYNCHRONIZATION+43BF0
IIPA = FFFFFFFF.802F62F0 SYSTEM_SYNCHRONIZATION+43BF0
IFA = FFFFFFFF.86A280C0
.
.
.
IIM = 00000000.00100002 BREAK$C_SYS_BUGCHECK
PPREVMODE = 00
KR0 = 00000000.203D0000
KR1 = 00000000.60000000
KR2 = 00000000.00000000
KR3 = 00000000.0001001F
KR4 = 00000000.00000000
KR5 (Next Timer) = 000000C4.FDFE03C8
KR6 (CPUdb VA) = FFFFFFFF.83864000
KR7 (Slot VA) = FFFFFFFF.8690F000
KSP = FFFFFFFF.8696FCC0
ESP = FFFFFFFF.86971000
SSP = FFFFFFFF.86957000
USP = FFFFFFFF.86957000
No spinlocks currently owned by CPU 00
|
This example from an OpenVMS I64 system shows summary information on
the crash: the time it occurred, its OpenVMS version, hardware type,
and bugcheck codes. This is followed by the exception frame from the
exception that triggered the crash, the instruction stream active at
the time of the exception, and the signal array that describes the
exception. The exception frame from the bugcheck triggered by the
original exception is then displayed (that is, the bugcheck on the
crash CPU) followed by the bugcheck exception frame for the other CPU
in the system.
|