This appendix contains a sample
crash-data.n
file created
by the
crashdc
command (using a compressed crash-dump file,
vmzcore.0).
The output is explained in the list following the example.
#
# Crash Data Collection (Version 1.4)
#
_crash_data_collection_time: Fri Nov 8 01:25:31 EDT 2002 [1]
_current_directory: /
_crash_kernel: /var/adm/crash/vmunix.0
_crash_core: /var/adm/crash/vmzcore.0
_crash_arch: alpha
_crash_os: Tru64 UNIX
_host_version: Tru64 UNIX V5.1B (Rev. 1039); Tue Dec 3 08:26:03 EDT 2002
_crash_version: Tru64 UNIX V5.1B (Rev. 1039); Tue Dec 3 08:26:03 EDT 2002
_crashtime: struct {
tv_sec = 746996332
tv_usec = 145424
}
_boottime: struct {
tv_sec = 746993148
tv_usec = 92720
}
_config: struct {
sysname = "OSF1"
nodename = "system.xyz.com"
release = "V5.1B"
version = "331"
machine = "alpha"
}
_cpu: 30
_system_string: 0xfffffc0000442fa8 = "AlphaServer 4100 5/400 4MB"
_avail_cpus: 1
_partial_dump: 1
_physmem(MBytes): 96
_panic_string: 0xfffffc000043cf70 = "kernel memory fault" [2]
_preserved_message_buffer_begin: [3]
struct {
msg_magic = 0x63061
msg_bufx = 0x56e
msg_bufr = 0x432
msg_bufc = "Alpha boot: available memory from 0x678000 to 0x6000000
Tru64 UNIX V5.1B (Rev. 1039); Tue Dec 3 08:26:03 EDT 2002
physical memory = 1024.00 megabytes.
available memory = 991.81 megabytes.
using 3924 buffers containing 30.65 megabytes of memory
tc0 at nexus
scc0 at tc0 slot 7
tcds0 at tc0 slot 6
asc0 at tcds0 slot 0
rz0 at asc0 bus 0 target 0 lun 0 (HP RZ26 (C) HP T384)
rz4 at asc0 bus 0 target 4 lun 0 (HP RRD42 (C) HP 4.5d)
tz5 at asc0 bus 0 target 5 lun 0 (HP TLZ06 (C) HP 0374)
asc1 at tcds0 slot 1
rz8 at asc1 bus 1 target 0 lun 0 (HP RZ57 (C) HP 5000)
rz9 at asc1 bus 1 target 1 lun 0 (HP RZ56 (C) HP 0300)
fb0 at tc0 slot 8
1280X1024
bba0 at tc0 slot 7
ln0: HP LANCE Module Name: PMAD-BA
ln0 at tc0 slot 7
ln0: HP LANCE Ethernet Interface, hardware address: 08-00-2b-2c-f3-83
Firmware revision: 5.1
PALcode: Tru64 UNIX version 5.0
AlphaServer 4100 5/400 4MB
lvm0: configured.
lvm1: configured.
<3>/var: file system full
<3>/var: file system full
<3>/var: file system full
<3>/var: file system full
<3>/var: file system full
trap: invalid memory ifetch access from kernel mode
faulting virtual address: 0x0000000000000000
pc of faulting instruction: 0x0000000000000000
ra contents at time of fault: 0xfffffc000028951c
sp contents at time of fault: 0xffffffff96199a48
panic: kernel memory fault
syncing disks... done
"
}
_preserved_message_buffer_end:
_kernel_process_status_begin: [4]
PID COMM
00000 kernel idle
00001 init
00002 exception hdlr
00342 xdm
00012 update
00341 Xdec
00239 nfsiod
00113 syslogd
00115 binlogd
00240 nfsiod
00241 nfsiod
00340 csh
00124 routed
00188 portmap
00197 ypbind
00237 nfsiod
00249 sendmail
00294 internet_mom
00297 snmp_pe
00291 mold
00337 xdm
00325 lpd
00310 cron
00305 inetd
00489 tar
_kernel_process_status_end:
_current_pid: 489 [5]
_current_tid: 0xffffffff863d36c0 [6]
_proc_thread_list_begin:
thread 0x863d36c0 stopped at [boot:1118,0xfffffc0000374a08] Source not available
_proc_thread_list_end:
_dump_begin: [7]
> 0 boot(reason = 0, howto = 0) ["../../../../src/kernel/arch/alpha/machdep.c":
1118, 0xfffffc0000374a08]
mp = 0xffffffff961962f8
nmp = 0xffffffff86333ab8
fsp = (nil)
rs = 5368785696
error = -1776721160
ind = 2424676
nbusy = 4643880
1 panic(s = 0xfffffc000043cf70 = "kernel memory fault") ["../../../../src\
/kernel/bsd/subr_prf.c"\
:616, 0xfffffc000024ff60]
bootopt = 0
2 trap() ["../../../../src/kernel/arch/alpha/trap.c":945, 0xfffffc0000381440]
t = 0xffffffff863d36c0
pcb = 0xffffffff96196000
task = 0xffffffff86306b80
p = 0xffffffff95aaf6a0
syst = struct {
tv_sec = 0
tv_usec = 0
}
nofault_save = 0
exc_type = 18446739675665756628
exc_code = 0
exc_subcode = 0
i = -2042898428
s = 2682484
ret = 536993792
map = 0xffffffff808fc5a0
prot = 5
cp = 0xffffffff95a607a0 =
i = 0
result = 18446744071932830456
pexcsum = 0xffffffff00000000
i = 16877
pexcsum = 0xffffffff00001000
i = 2682240
ticks = -1784281184
tv = 0xfffffffc00500068
3 _XentMM() ["../../../../src/kernel/arch/alpha/locore.s":949, 0xfffff\
c0000372dec]
_dump_end:
warning: Files compiled -g3: parameter values probably wrong
_kernel_thread_list_begin: [8]
thread 0x8632faf0 stopped at [thread_block:1427 ,0xfffffc00002ca3a0] Source\
not available
thread 0x8632f8d8 stopped at [thread_block:1427 ,0xfffffc00002ca3a0] Source\
not available
.
.
.
thread 0x8632d328 stopped at [thread_block:1400 +0x1c,0xfffffc00002ca2f8] \
Source not available
thread 0x8632d110 stopped at [thread_block:1400 +0x1c,0xfffffc00002ca2f8] \
Source not available
_kernel_thread_list_end:
_savedefp: 0xffffffff96199940 [9]
_kernel_memory_fault_data_begin: [10]
struct {
fault_va = 0x0
fault_pc = 0x0
fault_ra = 0xfffffc000028951c
fault_sp = 0xffffffff96199a48
access = 0xffffffffffffffff
status = 0x0
cpunum = 0x0
count = 0x1
pcb = 0xffffffff96196000
thread = 0xffffffff863d36c0
task = 0xffffffff86306b80
proc = 0xffffffff95aaf6a0
}
_kernel_memory_fault_data_end:
Invalid character in input
_uptime: .88 hours
_stack_trace_begin: [11]
> 0 boot(reason = 0, howto = 0) ["../../../../src/kernel/arch/alpha/machdep.c"\
:1118, 0xfffffc0000374a08]
1 panic(s = 0xfffffc000043cf70 = "kernel memory fault") ["../../../. ./src\
/kernel/bsd/subr_prf.c":616, 0xfffffc000024ff60]
2 trap() ["../../../../src/kernel/arch/alpha/trap.c":945, 0xfffffc0000381\
440]
3 _XentMM() ["../../../../src/kernel/arch/alpha/locore.s":949, 0xfffffc000\
0372dec]
_stack_trace_end:
_savedefp_exception_frame_(savedefp/33X): [12]
ffffffff96199940: 0000000000000000 fffffc000046f888
ffffffff96199950: ffffffff863d36c0 0000000079c2c93f
ffffffff96199960: 000000000000007d 0000000000000001
ffffffff96199970: 0000000000000000 fffffc000046f4e0
ffffffff96199980: 0000000000000000 ffffffff961962f8
ffffffff96199990: 0000000140012b20 0000000000000000
ffffffff961999a0: 0000000140045690 0000000000000000
ffffffff961999b0: 00000001400075e8 0000000140026240
ffffffff961999c0: ffffffff96199af0 ffffffff8635adc0
ffffffff961999d0: ffffffff96199ac0 00000000000001b0
ffffffff961999e0: fffffc00004941b8 0000000000000000
ffffffff961999f0: 0000000000000001 fffffc000028951c
ffffffff96199a00: 0000000000000000 0000000000000fff
ffffffff96199a10: 0000000140026240 0000000000000000
ffffffff96199a20: 0000000000000000 fffffc000047acd0
.
.
.
ffffffff96199a30: 0000000000901402 0000000000001001
ffffffff96199a40: 0000000000002000
_savedefp_exception_frame_ptr: 0xffffffff96199940
_savedefp_stack_pointer: 0x140026240
_savedefp_processor_status: 0x0
_savedefp_return_address: 0xfffffc000028951c
_savedefp_pc: 0x0
_savedefp_pc/i:
can't read from process (address 0x0)
_savedefp_return_address/i:
[spec_open:997, 0xfffffc000028951c] bis r0, r0, r19
_kernel_memory_fault_data.fault_pc/i:
can't read from process (address 0x0)
_kernel_memory_fault_data.fault_ra/i:
[spec_open:997, 0xfffffc000028951c] bis r0, r0, r19
_kdbx_sum_start:
Hostname : system.xyz.com
cpu: AlphaServer 4100 5/400 avail: 1
Boot-time: Tues Dec 10:33:25 2002
Time: Mon Dec 23 13:58:52 2002
Kernel : OSF1 release V5.1B version 688.2 (alpha)
_kdbx_sum_end:
_kdbx_swap_start: [13]
Swap device name Size In Use Free
----------------------------- ---------- ---------- ----------
/dev/rz0b 131072k 10560k 120512k Dumpdev
16384p 1320p 15064p
----------------------------- ---------- ---------- ----------
Total swap partitions: 1 131072k 10560k 120512k
16384p 1320p 15064p
_kdbx_swap_end:
_kdbx_proc_start: [14]
Addr PID PPID PGRP UID NICE SIGCATCH P_SIG Event Flags
=========== === ==== ==== === ==== ======== ======== ===== =====
v0x95aaf6a0 489 340 489 0 0 00000000 00000000 NULL in pagv ctty
v0x95aad5d0 342 337 342 0 0 00000000 00000000 NULL in pagv ctty
v0x95aad8f0 341 337 341 0 0 00000000 00000000 NULL in pagv
.
.
.
v0x95aad2b0 1 0 1 0 0 00000000 00000000 NULL in omask pagv
v0x95aad120 0 0 0 0 0 00000000 00000000 NULL in sys
kdbx_proc_end:
Audit subsystem not installed
#
_crash_data_collection_finished:
The first several lines of output display the contents of system variables that give statistics about the crash, such as:
The kernel image file and crash core file from which
crashdc
collected data.
The time of the crash and the time at which the system was rebooted.
Whether data is from a partial or full dump.
(Data is from
a partial dump when the value of the
partial_dump
variable
is 1.
Data is from a full dump when the value of this variable is 0.)
The platform on which the operating system is running; an AlphaServer 4100 in this case.
The amount of physical memory available on the system.
The
_panic_string
label marks the message that indicates why the crash occurred.
In this case
the message is
kernel memory fault, indicating that a memory
operation failed in the kernel.
[Return to example]
The preserved message buffer contains status and other information about the devices connected to the system: Note the following message:
trap: invalid memory ifetch access from kernel mode
This message describes the kernel memory fault and indicates that the kernel was unable to fetch a needed instruction.
The preserved message buffer also contains the faulting virtual address, the pc of the instruction that failed, the contents of the return address register, and the stack pointer at the time of the memory fault. [Return to example]
The kernel process status list shows the processes that were active at the time of the crash. [Return to example]
The
_current_pid
label marks the process ID of the process that was executing at the time of
the crash.
In this case, it is the
tar
process, which
is identified as process 489 in the kernel process status list.
[Return to example]
The
_current_tid
label marks the address of the thread that was executing at the time of the
crash.
[Return to example]
The dump section shows information about the variables passed
to the routines executing at the time of the crash.
In this case, the dump
displays variable information for the
boot,
panic, and
trap
functions.
[Return to example]
The kernel thread list
shows the threads of execution in the kernel.
This information can be helpful
for verifying which routine called the
panic
function.
[Return to example]
The
_savedefp
variable contains a pointer to the exception frame.
[Return to example]
The kernel memory fault data displays the following information, recorded at the time of the memory fault:
The
fault_va
variable contains the faulting virtual address.
The
fault_ra
variable contains the return address of the calling routine.
The
access
variable contains the access code, which is zero (0) for
read access, 1 for write access, and -1 for execute access.
The
cpunum
variable contains the number of the CPU that faulted.
The
count
variable contains the number of CPUs on the system.
The
pcb
variable contains a pointer to the process control block.
The
thread
variable contains a pointer to the current thread.
The
proc
variable contains the address of the process status table.
The
_stack_trace_begin
line begins a trace
of the current thread block's stack at the time of the crash.
In this case
the
_XentMM
function called the
trap
function.
The
trap
function called the
panic
function, which called the
boot
function and
the system crashed.
[Return to example]
The
exception frame is a stack frame created to store the state of the process
running at the time of the exception.
It stores the registers and PC associated
with the process.
To determine where registers are stored in the exception
frame, refer to the
/usr/include/machine/reg.h
header file.
[Return to example]
Swap information is shown to help you determine whether swap space is sufficient. [Return to example]
The process table gives information about the processes active at the time of the crash. The information includes:
The process ID of each process.
The process ID of the parent process for each process.
The process group ID for each process.
The UID of the of the user that started each process.
In this
case all processes are started by
root.
The priority at which the process was running at the time of the memory fault.
The event the process was waiting for, if any. An event might be the completion of an input or output request, for example.
Any options assigned to the process.
For example, the
ctty
option indicates that the process has a controlling terminal
and, the
sys
option indicates that the process is a swapper
or pager process.