summaryrefslogtreecommitdiffstats
path: root/share/man/man8/crash.8
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man8/crash.8')
-rw-r--r--share/man/man8/crash.8216
1 files changed, 216 insertions, 0 deletions
diff --git a/share/man/man8/crash.8 b/share/man/man8/crash.8
new file mode 100644
index 0000000..3383a75
--- /dev/null
+++ b/share/man/man8/crash.8
@@ -0,0 +1,216 @@
+.\" FreeBSD version Copyright (c) 1996
+.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
+.\"
+.\" Adapted from share/man/man8/man8.hp300/crash.8
+.\"
+.\" Copyright (c) 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 23, 2011
+.Dt CRASH 8
+.Os
+.Sh NAME
+.Nm crash
+.Nd FreeBSD system failures
+.Sh DESCRIPTION
+This section explains a bit about system crashes
+and (very briefly) how to analyze crash dumps.
+.Pp
+When the system crashes voluntarily it prints a message of the form
+.Bl -diag -offset indent
+.It "panic: why i gave up the ghost"
+.El
+.Pp
+on the console, and if dumps have been enabled (see
+.Xr dumpon 8 ) ,
+takes a dump on a mass storage peripheral,
+and then invokes an automatic reboot procedure as
+described in
+.Xr reboot 8 .
+Unless some unexpected inconsistency is encountered in the state
+of the file systems due to hardware or software failure, the system
+will then resume multi-user operations.
+.Pp
+The system has a large number of internal consistency checks; if one
+of these fails, then it will panic with a very short message indicating
+which one failed.
+In many instances, this will be the name of the routine which detected
+the error, or a two-word description of the inconsistency.
+A full understanding of most panic messages requires perusal of the
+source code for the system.
+.Pp
+The most common cause of system failures is hardware failure, which
+can reflect itself in different ways.
+Here are the messages which
+are most likely, with some hints as to causes.
+Left unstated in all cases is the possibility that hardware or software
+error produced the message in some unexpected way.
+.Pp
+.Bl -diag -compact
+.It "cannot mount root"
+This panic message results from a failure to mount the root file system
+during the bootstrap process.
+Either the root file system has been corrupted,
+or the system is attempting to use the wrong device as root file system.
+Usually, an alternate copy of the system binary or an alternate root
+file system can be used to bring up the system to investigate.
+Most often
+this is done by the use of the boot floppy you used to install the system,
+and then using the
+.Dq fixit
+floppy.
+.Pp
+.It "init: not found"
+This is not a panic message, as reboots are likely to be futile.
+Late in the bootstrap procedure, the system was unable to locate
+and execute the initialization process,
+.Xr init 8 .
+The root file system is incorrect or has been corrupted, or the mode
+or type of
+.Pa /sbin/init
+forbids execution or is totally missing.
+.Pp
+.It "ffs_realloccg: bad optim"
+.It "ffs_valloc: dup alloc"
+.It "ffs_alloccgblk: cyl groups corrupted"
+.It "ffs_alloccg: map corrupted"
+.It "blkfree: freeing free block"
+.It "blkfree: freeing free frag"
+.It "ifree: freeing free inode"
+These panic messages are among those that may be produced
+when file system inconsistencies are detected.
+The problem generally results from a failure to repair damaged file systems
+after a crash, hardware failures, or other condition that should not
+normally occur.
+A file system check will normally correct the problem.
+.Pp
+.It "timeout table full"
+This really should not be a panic, but until the data structure
+involved is made to be extensible, running out of entries causes a crash.
+If this happens, make the timeout table bigger.
+.Pp
+.\" .It "trap type %d, code = %x, v = %x"
+.\" An unexpected trap has occurred within the system; the trap types are:
+.\" .Bl -column xxxx -offset indent
+.\" 0 bus error
+.\" 1 address error
+.\" 2 illegal instruction
+.\" 3 divide by zero
+.\" .No 4\t Em chk No instruction
+.\" .No 5\t Em trapv No instruction
+.\" 6 privileged instruction
+.\" 7 trace trap
+.\" 8 MMU fault
+.\" 9 simulated software interrupt
+.\" 10 format error
+.\" 11 FP coprocessor fault
+.\" 12 coprocessor fault
+.\" 13 simulated AST
+.\" .El
+.\" .Pp
+.\" The favorite trap type in system crashes is trap type 8,
+.\" indicating a wild reference.
+.\" ``code'' (hex) is the concatenation of the
+.\" MMU
+.\" status register
+.\" (see <hp300/cpu.h>)
+.\" in the high 16 bits and the 68020 special status word
+.\" (see the 68020 manual, page 6-17)
+.\" in the low 16.
+.\" ``v'' (hex) is the virtual address which caused the fault.
+.\" Additionally, the kernel will dump about a screenful of semi-useful
+.\" information.
+.\" ``pid'' (decimal) is the process id of the process running at the
+.\" time of the exception.
+.\" Note that if we panic in an interrupt routine,
+.\" this process may not be related to the panic.
+.\" ``ps'' (hex) is the 68020 processor status register ``ps''.
+.\" ``pc'' (hex) is the value of the program counter saved
+.\" on the hardware exception frame.
+.\" It may
+.\" .Em not
+.\" be the PC of the instruction causing the fault.
+.\" ``sfc'' and ``dfc'' (hex) are the 68020 source/destination function codes.
+.\" They should always be one.
+.\" ``p0'' and ``p1'' are the
+.\" VAX-like
+.\" region registers.
+.\" They are of the form:
+.\" .Pp
+.\" .Bd -ragged -offset indent
+.\" <length> '@' <kernel VA>
+.\" .Ed
+.\" .Pp
+.\" where both are in hex.
+.\" Following these values are a dump of the processor registers (hex).
+.\" Finally, is a dump of the stack (user/kernel) at the time of the offense.
+.\" .Pp
+.It "init died (signal #, exit #)"
+The system initialization process has exited with the specified
+signal number and exit code.
+This is bad news, as no new users will then be able to log in.
+Rebooting is the only fix, so the
+system just does it right away.
+.El
+.Pp
+That completes the list of panic types you are likely to see.
+.Pp
+If the system has been configured to take crash dumps (see
+.Xr dumpon 8 ) ,
+then when it crashes it will write (or at least attempt to write)
+an image of memory into the back end of the dump device,
+usually the same as the primary swap
+area.
+After the system is rebooted, the program
+.Xr savecore 8
+runs and preserves a copy of this core image and the current
+system in a specified directory for later perusal.
+See
+.Xr savecore 8
+for details.
+.Pp
+To analyze a dump you should begin by running
+.Xr kgdb 1
+on the system load image and core dump.
+If the core image is the result of a panic,
+the panic message is printed.
+For more details consult the chapter on kernel debugging in
+the
+.%B "FreeBSD Developers' Handbook"
+.Pq Pa http://www.freebsd.org/doc/en/books/developers-handbook/ .
+.Sh SEE ALSO
+.Xr kgdb 1 ,
+.Xr dumpon 8 ,
+.Xr reboot 8 ,
+.Xr savecore 8
+.Sh HISTORY
+The
+.Nm
+manual page first appeared in
+.Fx 2.2 .
OpenPOWER on IntegriCloud