Sync usage with man page.
[netbsd-mini2440.git] / share / man / man8 / man8.hp300 / crash.8
blobd867bf18497028c08315137af7f352c8441c635c
1 .\"     $NetBSD: crash.8,v 1.9 2003/08/07 10:31:24 agc Exp $
2 .\"
3 .\" Copyright (c) 1990, 1991, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     from: @(#)crash.8       8.2 (Berkeley) 1/12/94
31 .\"
32 .Dd January 12, 1994
33 .Dt CRASH 8 hp300
34 .Os
35 .Sh NAME
36 .Nm crash
37 .Nd UNIX system failures
38 .Sh DESCRIPTION
39 This section explains a bit about system crashes
40 and (very briefly) how to analyze crash dumps.
41 .Pp
42 When the system crashes voluntarily it prints a message of the form
43 .Bd -ragged -offset indent
44 panic: why i gave up the ghost
45 .Ed
46 .Pp
47 on the console, takes a dump on a mass storage peripheral,
48 and then invokes an automatic reboot procedure as
49 described in
50 .Xr reboot 8 .
51 Unless some unexpected inconsistency is encountered in the state
52 of the file systems due to hardware or software failure, the system
53 will then resume multi-user operations.
54 .Pp
55 The system has a large number of internal consistency checks; if one
56 of these fails, then it will panic with a very short message indicating
57 which one failed.
58 In many instances, this will be the name of the routine which detected
59 the error, or a two-word description of the inconsistency.
60 A full understanding of most panic messages requires perusal of the
61 source code for the system.
62 .Pp
63 The most common cause of system failures is hardware failure, which
64 can reflect itself in different ways.  Here are the messages which
65 are most likely, with some hints as to causes.
66 Left unstated in all cases is the possibility that hardware or software
67 error produced the message in some unexpected way.
68 .Pp
69 .Bl -tag -width Ds -compact
70 .It Sy iinit
71 This cryptic panic message results from a failure to mount the root filesystem
72 during the bootstrap process.
73 Either the root filesystem has been corrupted,
74 or the system is attempting to use the wrong device as root filesystem.
75 Usually, an alternative copy of the system binary or an alternative root
76 filesystem can be used to bring up the system to investigate.
77 .Pp
78 .It Sy "Can't exec /sbin/init"
79 This is not a panic message, as reboots are likely to be futile.
80 Late in the bootstrap procedure, the system was unable to locate
81 and execute the initialization process,
82 .Xr init 8 .
83 The root filesystem is incorrect or has been corrupted, or the mode
84 or type of
85 .Pa /sbin/init
86 forbids execution.
87 .Pp
88 .It Sy "IO err in push"
89 .It Sy "hard IO err in swap"
90 The system encountered an error trying to write to the paging device
91 or an error in reading critical information from a disk drive.
92 The offending disk should be fixed if it is broken or unreliable.
93 .Pp
94 .It Sy "realloccg: bad optim"
95 .It Sy "ialloc: dup alloc"
96 .It Sy "alloccgblk:cyl groups corrupted"
97 .It Sy "ialloccg: map corrupted"
98 .It Sy "free: freeing free block"
99 .It Sy "free: freeing free frag"
100 .It Sy "ifree: freeing free inode"
101 .It Sy "alloccg: map corrupted"
102 These panic messages are among those that may be produced
103 when filesystem inconsistencies are detected.
104 The problem generally results from a failure to repair damaged filesystems
105 after a crash, hardware failures, or other condition that should not
106 normally occur.
107 A filesystem check will normally correct the problem.
109 .It Sy "timeout table overflow"
110 This really shouldn't be a panic, but until the data structure
111 involved is made to be extensible, running out of entries causes a crash.
112 If this happens, make the timeout table bigger.
114 .It Sy "trap type %d, code = %x, v = %x"
115 An unexpected trap has occurred within the system; the trap types are:
116 .Bl -column xxxx -offset indent
117 .It 0   bus error
118 .It 1   address error
119 .It 2   illegal instruction
120 .It 3   divide by zero
121 .It 4 Ta Em chk No instruction
122 .It 5 Ta Em trapv No instruction
123 .It 6   privileged instruction
124 .It 7   trace trap
125 .It 8   MMU fault
126 .It 9   simulated software interrupt
127 .It 10  format error
128 .It 11  FP coprocessor fault
129 .It 12  coprocessor fault
130 .It 13  simulated AST
133 The favorite trap type in system crashes is trap type 8,
134 indicating a wild reference.
135 ``code'' (hex) is the concatenation of the
137 status register
138 (see \*[Lt]hp300/cpu.h\*[Gt])
139 in the high 16 bits and the 68020 special status word
140 (see the 68020 manual, page 6-17)
141 in the low 16.
142 ``v'' (hex) is the virtual address which caused the fault.
143 Additionally, the kernel will dump about a screenful of semi-useful
144 information.
145 ``pid'' (decimal) is the process id of the process running at the
146 time of the exception.
147 Note that if we panic in an interrupt routine,
148 this process may not be related to the panic.
149 ``ps'' (hex) is the 68020 processor status register ``ps''.
150 ``pc'' (hex) is the value of the program counter saved
151 on the hardware exception frame.
152 It may
153 .Em not
154 be the PC of the instruction causing the fault.
155 ``sfc'' and ``dfc'' (hex) are the 68020 source/destination function codes.
156 They should always be one.
157 ``p0'' and ``p1'' are the
158 VAX-like
159 region registers.
160 They are of the form:
162 .Bd -ragged -offset indent
163 \*[Lt]length\*[Gt] '@' \*[Lt]kernel VA\*[Gt]
166 where both are in hex.
167 Following these values are a dump of the processor registers (hex).
168 Finally, is a dump of the stack (user/kernel) at the time of the offense.
170 .It Sy "init died"
171 The system initialization process has exited.  This is bad news, as no new
172 users will then be able to log in.  Rebooting is the only fix, so the
173 system just does it right away.
175 .It Sy "out of mbufs: map full"
176 The network has exhausted its private page map for network buffers.
177 This usually indicates that buffers are being lost, and rather than
178 allow the system to slowly degrade, it reboots immediately.
179 The map may be made larger if necessary.
182 That completes the list of panic types you are likely to see.
184 When the system crashes it writes (or at least attempts to write)
185 an image of memory into the back end of the dump device,
186 usually the same as the primary swap
187 area.  After the system is rebooted, the program
188 .Xr savecore 8
189 runs and preserves a copy of this core image and the current
190 system in a specified directory for later perusal.  See
191 .Xr savecore 8
192 for details.
194 To analyze a dump you should begin by running
195 .Xr adb 1
196 with the
197 .Fl k
198 flag on the system load image and core dump.
199 If the core image is the result of a panic,
200 the panic message is printed.
201 Normally the command
202 ``$c''
203 will provide a stack trace from the point of
204 the crash and this will provide a clue as to
205 what went wrong.
206 For more details consult
207 .%T "Using ADB to Debug the UNIX Kernel" .
208 .Sh SEE ALSO
209 .Xr adb 1 ,
210 .Xr reboot 8
212 .%T "MC68020 32-bit Microprocessor User's Manual"
215 .%T "Using ADB to Debug the UNIX Kernel"
218 .%T "4.3BSD for the HP300"
220 .Sh HISTORY
223 man page appeared in
224 .At v6 .