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 Jul 10 01:25:31 EDT 1998 [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.0 (Rev. 1039); Tue Jun 30 08:26:03 EDT 1998 _crash_version: Tru64 UNIX V5.0 (Rev. 1039); Tue Jun 30 08:26:03 EDT 1998 _crashtime: struct { tv_sec = 746996332 tv_usec = 145424 } _boottime: struct { tv_sec = 746993148 tv_usec = 92720 } _config: struct { sysname = "OSF1" nodename = "system.dec.com" release = "V5.0" 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.0 (Rev. 1039); Tue Mar 30 08:26:03 EDT 1999 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 (DEC RZ26 (C) DEC T384) rz4 at asc0 bus 0 target 4 lun 0 (DEC RRD42 (C) DEC 4.5d) tz5 at asc0 bus 0 target 5 lun 0 (DEC TLZ06 (C)DEC 0374) asc1 at tcds0 slot 1 rz8 at asc1 bus 1 target 0 lun 0 (DEC RZ57 (C) DEC 5000) rz9 at asc1 bus 1 target 1 lun 0 (DEC RZ56 (C) DEC 0300) fb0 at tc0 slot 8 1280X1024 bba0 at tc0 slot 7 ln0: DEC LANCE Module Name: PMAD-BA ln0 at tc0 slot 7 ln0: DEC LANCE Ethernet Interface, hardware address: 08-00-2b-2c-f3-83 Firmware revision: 5.1 PALcode: Tru64 UNIX version 1.21 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.dec.com cpu: AlphaServer 4100 5/400 avail: 1 Boot-time: Tues Jul 7 10:33:25 1998 Time: Mon Jul 13 13:58:52 1998 Kernel : OSF1 release V5.0 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: Notice 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 process 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 flags assigned to the process.
For example, the
ctty
flag indicates that the process has a controlling terminal
and, the
sys
flag indicates that the process is a swapper
or pager process.