Blame crash.8

Packit Service 501009
.\"
Packit Service 501009
.de CO
Packit Service 501009
\dB\\$1\fP \fI\\$2\fP
Packit Service 501009
..
Packit Service 501009
.TH CRASH 8
Packit Service 501009
.SH NAME
Packit Service 501009
crash \- Analyze Linux crash dump data or a live system
Packit Service 501009
.SH SYNOPSIS
Packit Service 501009
.B crash
Packit Service 501009
[\fIOPTION\fR]... \fINAMELIST MEMORY-IMAGE[@ADDRESS]    (dumpfile form)\fR
Packit Service 501009
.br
Packit Service 501009
.B crash
Packit Service 501009
[\fIOPTION\fR]... \fI[NAMELIST]                         (live system form)\fR
Packit Service 501009
.SH DESCRIPTION
Packit Service 501009
.B Crash
Packit Service 501009
is a tool for interactively analyzing the state of the Linux system
Packit Service 501009
while it is running, or after a kernel crash has occurred and a 
Packit Service 501009
core dump has been created by the 
Packit Service 501009
.I netdump,
Packit Service 501009
.I diskdump,
Packit Service 501009
.I LKCD,
Packit Service 501009
.I kdump,
Packit Service 501009
.I xendump
Packit Service 501009
or
Packit Service 501009
.I kvmdump
Packit Service 501009
facilities.  It is loosely based on the SVR4 UNIX crash 
Packit Service 501009
command, but has been significantly enhanced
Packit Service 501009
by completely merging it with the 
Packit Service 501009
.B gdb(1)
Packit Service 501009
debugger. The marriage of the two effectively combines the 
Packit Service 501009
kernel-specific nature of the traditional UNIX crash utility with the 
Packit Service 501009
source code level debugging capabilities of 
Packit Service 501009
.B gdb(1). 
Packit Service 501009
Packit Service 501009
In the
Packit Service 501009
.I dumpfile form,
Packit Service 501009
both a NAMELIST and a MEMORY-IMAGE argument must be entered.
Packit Service 501009
In the
Packit Service 501009
.I live system form,
Packit Service 501009
the NAMELIST argument must be entered if 
Packit Service 501009
the kernel's
Packit Service 501009
.I vmlinux 
Packit Service 501009
file is not
Packit Service 501009
located in a known location, such as the 
Packit Service 501009
.I /usr/lib/debug/lib/modules/<kernel-version>
Packit Service 501009
directory.  
Packit Service 501009
Packit Service 501009
The
Packit Service 501009
.B crash
Packit Service 501009
utility has also been extended to support the analysis
Packit Service 501009
of dumpfiles generated by a crash of the Xen hypervisor.  In that
Packit Service 501009
case, the NAMELIST argument must be that of the 
Packit Service 501009
.I xen-syms
Packit Service 501009
binary.
Packit Service 501009
Live system analysis is not supported for the Xen hypervisor.
Packit Service 501009
Packit Service 501009
The 
Packit Service 501009
.B crash
Packit Service 501009
utility command set consists of common kernel core analysis tools 
Packit Service 501009
such as kernel stack back traces of all processes, source code disassembly,
Packit Service 501009
formatted kernel structure and variable displays, virtual memory data, 
Packit Service 501009
dumps of linked-lists, etc., along with several commands that delve 
Packit Service 501009
deeper into specific kernel subsystems.  Appropriate 
Packit Service 501009
.B gdb
Packit Service 501009
commands may also be entered, which in
Packit Service 501009
turn are passed on to the 
Packit Service 501009
.B gdb 
Packit Service 501009
module for execution. 
Packit Service 501009
If desired, commands may be placed in either a
Packit Service 501009
.I $HOME/.crashrc
Packit Service 501009
file and/or in a 
Packit Service 501009
.I .crashrc 
Packit Service 501009
file in the current directory.
Packit Service 501009
During initialization, the commands in 
Packit Service 501009
.I $HOME/.crashrc
Packit Service 501009
are executed first, followed by those in the 
Packit Service 501009
.I ./.crashrc
Packit Service 501009
file.
Packit Service 501009
Packit Service 501009
The 
Packit Service 501009
.B crash 
Packit Service 501009
utility is designed to be independent of Linux version 
Packit Service 501009
dependencies. When new kernel source code impacts the
Packit Service 501009
correct functionality of 
Packit Service 501009
.B crash
Packit Service 501009
and its command set, the utility will 
Packit Service 501009
be updated to recognize new kernel code changes, while
Packit Service 501009
maintaining backwards compatibility with earlier releases.
Packit Service 501009
.SH OPTIONS
Packit Service 501009
.de BS
Packit Service 501009
\fB\\$1\fP\ \fR\\$2\fP
Packit Service 501009
..
Packit Service 501009
.TP
Packit Service 501009
.BI NAMELIST
Packit Service 501009
This is a pathname to an uncompressed kernel image
Packit Service 501009
(a 
Packit Service 501009
.I vmlinux 
Packit Service 501009
file), or a Xen hypervisor image (a 
Packit Service 501009
.I xen-syms
Packit Service 501009
file) 
Packit Service 501009
which has been compiled with the "-g" option.
Packit Service 501009
If using the
Packit Service 501009
.I dumpfile form,
Packit Service 501009
a 
Packit Service 501009
.I vmlinux 
Packit Service 501009
file may be compressed in either gzip or bzip2 formats.
Packit Service 501009
.TP
Packit Service 501009
.BI MEMORY-IMAGE[@ADDRESS]
Packit Service 501009
A kernel core dump file created by the
Packit Service 501009
.I netdump,
Packit Service 501009
.I diskdump,
Packit Service 501009
.I LKCD
Packit Service 501009
.I kdump,
Packit Service 501009
.I xendump
Packit Service 501009
or
Packit Service 501009
.I kvmdump
Packit Service 501009
facilities.  
Packit Service 501009
Packit Service 501009
If a MEMORY-IMAGE argument is not entered, the session will be invoked on
Packit Service 501009
the live system, which typically requires root privileges because of
Packit Service 501009
the device file used to access system RAM.  By default,
Packit Service 501009
.I /dev/crash
Packit Service 501009
will be used if it exists.  If it does not exist, then
Packit Service 501009
.I /dev/mem 
Packit Service 501009
will be used; but if the kernel has been configured 
Packit Service 501009
with 
Packit Service 501009
.B CONFIG_STRICT_DEVMEM, 
Packit Service 501009
then
Packit Service 501009
.I /proc/kcore 
Packit Service 501009
will be used.
Packit Service 501009
It is permissible to explicitly enter 
Packit Service 501009
.I /dev/crash, 
Packit Service 501009
.I /dev/mem
Packit Service 501009
or 
Packit Service 501009
.I /proc/kcore.
Packit Service 501009
Packit Service 501009
An @ADDRESS value must be appended to the MEMORY-IMAGE if the dumpfile
Packit Service 501009
is a raw RAM dumpfile that has no header information describing the file
Packit Service 501009
contents.  Multiple MEMORY-IMAGE@ADDRESS ordered pairs may be entered,
Packit Service 501009
with each dumpfile containing a contiguous block of RAM, where the ADDRESS
Packit Service 501009
value is the physical start address of the block expressed in hexadecimal.
Packit Service 501009
The physical address value(s) will be used to create a temporary ELF header
Packit Service 501009
in /var/tmp, which will only exist during the crash session.  If a raw RAM
Packit Service 501009
dumpile represents a live memory source, such as that specified by the QEMU
Packit Service 501009
mem-path argument of a memory-backend-file object, then "live:" must be
Packit Service 501009
prepended to the MEMORY-IMAGE name.
Packit Service 501009
.TP
Packit Service 501009
.BI mapfile
Packit Service 501009
If the NAMELIST file is not the same kernel that is
Packit Service 501009
running (live system form), or the kernel that was running 
Packit Service 501009
when the system crashed (dumpfile form), then the
Packit Service 501009
.I System.map
Packit Service 501009
file of the original kernel should be entered on the command line.
Packit Service 501009
.P
Packit Service 501009
.BI -h \ [option]
Packit Service 501009
.br
Packit Service 501009
.BI \--help \ [option]
Packit Service 501009
.RS
Packit Service 501009
Without an 
Packit Service 501009
.I option
Packit Service 501009
argument, display a 
Packit Service 501009
.B crash
Packit Service 501009
usage help message.  If the 
Packit Service 501009
.I option
Packit Service 501009
argument is a
Packit Service 501009
.B crash
Packit Service 501009
command name, the help page for that command is displayed.  If it is
Packit Service 501009
the string "input", a page describing the various
Packit Service 501009
.B crash
Packit Service 501009
command line input options is displayed.  If it is the string "output", a
Packit Service 501009
page describing command line output options is displayed.  
Packit Service 501009
If it is the string "all", then all of the possible help messages
Packit Service 501009
are displayed.  After the help message is displayed, 
Packit Service 501009
.B crash
Packit Service 501009
exits.
Packit Service 501009
.RE
Packit Service 501009
.TP
Packit Service 501009
.B \-s
Packit Service 501009
Silently proceed directly to the "crash>" prompt without displaying
Packit Service 501009
any version, GPL, or 
Packit Service 501009
.B crash
Packit Service 501009
initialization data during startup, and by default, runtime command
Packit Service 501009
output is not passed to any scrolling command.
Packit Service 501009
.TP
Packit Service 501009
.BI \-i \ file
Packit Service 501009
Execute the command(s) contained in
Packit Service 501009
.I file
Packit Service 501009
prior to displaying the "crash>" prompt for interactive
Packit Service 501009
user input.
Packit Service 501009
.TP
Packit Service 501009
.BI \-d \ num
Packit Service 501009
Set the internal debug level.
Packit Service 501009
The higher the number, the more debugging data will be printed when
Packit Service 501009
.B crash
Packit Service 501009
initializes and runs.
Packit Service 501009
.TP
Packit Service 501009
.B \-S
Packit Service 501009
Use 
Packit Service 501009
.I /boot/System.map
Packit Service 501009
as the
Packit Service 501009
.I mapfile\fP.
Packit Service 501009
.TP
Packit Service 501009
.B \-e \fIvi | emacs\fR
Packit Service 501009
Set the 
Packit Service 501009
.B readline(3) 
Packit Service 501009
command line editing mode to "vi" or "emacs".  The default
Packit Service 501009
editing mode is "vi".
Packit Service 501009
.TP
Packit Service 501009
.B \-f
Packit Service 501009
Force the usage of a compressed 
Packit Service 501009
.I vmlinux 
Packit Service 501009
file if its original name
Packit Service 501009
does not start with "vmlinux".
Packit Service 501009
.TP
Packit Service 501009
.B \-k
Packit Service 501009
Indicate that the NAMELIST file is an LKCD "Kerntypes" debuginfo file.
Packit Service 501009
.TP
Packit Service 501009
.BI -g \ [namelist]
Packit Service 501009
Determine if a  
Packit Service 501009
.I vmlinux 
Packit Service 501009
or 
Packit Service 501009
.I xen-syms 
Packit Service 501009
namelist file contains debugging data.
Packit Service 501009
.TP
Packit Service 501009
.B \-t
Packit Service 501009
Display the system-crash timestamp and exit. 
Packit Service 501009
.TP
Packit Service 501009
.B \-L
Packit Service 501009
Attempt to lock all of its virtual address space into memory by calling mlockall(MCL_CURRENT|MCL_FUTURE) 
Packit Service 501009
during initialization.  If the system call fails, an error message will be displayed,
Packit Service 501009
but the session continues.
Packit Service 501009
.TP
Packit Service 501009
.BI \-c \ tty-device
Packit Service 501009
Open the 
Packit Service 501009
.I tty-device 
Packit Service 501009
as the console used for debug messages.
Packit Service 501009
.TP
Packit Service 501009
.BI \-p \ page-size
Packit Service 501009
If a processor's page size cannot be determined by the dumpfile,
Packit Service 501009
and the processor default cannot be used, use 
Packit Service 501009
.I page-size.
Packit Service 501009
.TP
Packit Service 501009
.BI \-o \ filename
Packit Service 501009
Only used with the MEMORY-IMAGE@ADDRESS format for raw RAM dumpfiles, 
Packit Service 501009
specifies a filename of a new ELF vmcore that will be created and used
Packit Service 501009
as the dumpfile.  It will be saved to allow future use as a standalone
Packit Service 501009
vmcore, replacing the original raw RAM dumpfile.
Packit Service 501009
.P
Packit Service 501009
.B -m \fIoption=value\fR
Packit Service 501009
.br
Packit Service 501009
.B --machdep \fIoption=value\fR
Packit Service 501009
.RS
Packit Service 501009
Pass an option and value pair to machine-dependent code.  These
Packit Service 501009
architecture-specific option/pairs should only be
Packit Service 501009
required in very rare circumstances:
Packit Service 501009
.P
Packit Service 501009
.nf
Packit Service 501009
X86_64:
Packit Service 501009
  phys_base=<physical-address>
Packit Service 501009
  irq_eframe_link=<value>
Packit Service 501009
  irq_stack_gap=<value>
Packit Service 501009
  max_physmem_bits=<value>
Packit Service 501009
  kernel_image_size=<value>
Packit Service 501009
  vm=orig       (pre-2.6.11 virtual memory address ranges)
Packit Service 501009
  vm=2.6.11     (2.6.11 and later virtual memory address ranges)
Packit Service 501009
  vm=xen        (Xen kernel virtual memory address ranges)
Packit Service 501009
  vm=xen-rhel4  (RHEL4 Xen kernel virtual address ranges)
Packit Service 501009
  vm=5level     (5-level page tables)
Packit Service 501009
  page_offset=<PAGE_OFFSET-value>
Packit Service 501009
PPC64:
Packit Service 501009
  vm=orig
Packit Service 501009
  vm=2.6.14     (4-level page tables)
Packit Service 501009
IA64:
Packit Service 501009
  phys_start=<physical-address>
Packit Service 501009
  init_stack_size=<size>
Packit Service 501009
  vm=4l         (4-level page tables)
Packit Service 501009
ARM:  
Packit Service 501009
  phys_base=<physical-address>
Packit Service 501009
ARM64:  
Packit Service 501009
  phys_offset=<physical-address>
Packit Service 501009
  kimage_voffset=<kimage_voffset-value>
Packit Service 501009
  max_physmem_bits=<value>
Packit Service 501009
X86:
Packit Service 501009
  page_offset=<CONFIG_PAGE_OFFSET-value>
Packit Service 501009
.fi
Packit Service 501009
.RE
Packit Service 501009
.TP
Packit Service 501009
.B \-x
Packit Service 501009
Automatically load extension modules from a particular directory. 
Packit Service 501009
If a directory is specified in the 
Packit Service 501009
.B CRASH_EXTENSIONS
Packit Service 501009
shell environment
Packit Service 501009
variable, then that directory will be used.  Otherwise 
Packit Service 501009
.I /usr/lib64/crash/extensions
Packit Service 501009
(64-bit architectures) or 
Packit Service 501009
.I /usr/lib/crash/extensions
Packit Service 501009
(32-bit architectures) will be used;
Packit Service 501009
if they do not exist, then the 
Packit Service 501009
.I ./extensions directory will be used.
Packit Service 501009
.TP
Packit Service 501009
.BI --active
Packit Service 501009
Track only the active task on each cpu.
Packit Service 501009
.TP
Packit Service 501009
.BI --buildinfo
Packit Service 501009
Display the crash binary's build date, the user ID of the builder,
Packit Service 501009
the hostname of the machine where the build was done, the target 
Packit Service 501009
architecture, the version number, and the compiler version.
Packit Service 501009
.TP
Packit Service 501009
.BI --memory_module \ modname
Packit Service 501009
Use the
Packit Service 501009
.I modname
Packit Service 501009
as an alternative kernel module to the 
Packit Service 501009
.I crash.ko
Packit Service 501009
module that creates the
Packit Service 501009
.I /dev/crash
Packit Service 501009
device.
Packit Service 501009
.TP
Packit Service 501009
.BI --memory_device \ device
Packit Service 501009
Use
Packit Service 501009
.I device
Packit Service 501009
as an alternative device to the 
Packit Service 501009
.I /dev/crash, /dev/mem
Packit Service 501009
or
Packit Service 501009
.I /proc/kcore
Packit Service 501009
devices.
Packit Service 501009
.TP
Packit Service 501009
.BI --log \ dumpfile
Packit Service 501009
Dump the contents of the kernel log buffer.  A kernel namelist
Packit Service 501009
argument is not necessary, but the dumpfile must contain the
Packit Service 501009
VMCOREINFO data taken from the original /proc/vmcore ELF header.
Packit Service 501009
.TP
Packit Service 501009
.B --no_kallsyms
Packit Service 501009
Do not use kallsyms-generated symbol information contained within 
Packit Service 501009
kernel module object files.
Packit Service 501009
.TP
Packit Service 501009
.B --no_modules
Packit Service 501009
Do not access or display any kernel module related information. 
Packit Service 501009
.TP
Packit Service 501009
.B --no_ikconf
Packit Service 501009
Do not attempt to read configuration data that was built into kernels
Packit Service 501009
configured with 
Packit Service 501009
.B CONFIG_IKCONFIG.
Packit Service 501009
.TP
Packit Service 501009
.B --no_data_debug
Packit Service 501009
Do not verify the validity of all structure member offsets and structure 
Packit Service 501009
sizes that it uses.
Packit Service 501009
.TP
Packit Service 501009
.B --no_kmem_cache
Packit Service 501009
Do not initialize the kernel's slab cache infrastructure, and commands that
Packit Service 501009
use kmem_cache-related data will not work.
Packit Service 501009
.TP
Packit Service 501009
.B --no_elf_notes
Packit Service 501009
Do not use the registers from the ELF NT_PRSTATUS notes saved in a compressed kdump header
Packit Service 501009
for backtraces.
Packit Service 501009
.TP
Packit Service 501009
.B --kmem_cache_delay
Packit Service 501009
Delay the initialization of the kernel's slab cache infrastructure until
Packit Service 501009
it is required by a run-time command.
Packit Service 501009
.TP
Packit Service 501009
.B --readnow
Packit Service 501009
Pass this flag to the embedded 
Packit Service 501009
.B gdb
Packit Service 501009
module, which will override its two-stage strategy that it uses for reading
Packit Service 501009
symbol tables from the NAMELIST.
Packit Service 501009
.TP
Packit Service 501009
.B --smp
Packit Service 501009
Specify that the system being analyzed is an SMP kernel.
Packit Service 501009
.P
Packit Service 501009
.B -v
Packit Service 501009
.br
Packit Service 501009
.B --version
Packit Service 501009
.RS
Packit Service 501009
Display the version of the
Packit Service 501009
.B crash
Packit Service 501009
utility, the version of the embedded
Packit Service 501009
.B gdb
Packit Service 501009
module, GPL information, and copyright notices.
Packit Service 501009
.RE
Packit Service 501009
.TP
Packit Service 501009
.BI --cpus \ number
Packit Service 501009
Specify the 
Packit Service 501009
.I number 
Packit Service 501009
of cpus in the SMP system being analyzed.
Packit Service 501009
.TP
Packit Service 501009
.BI --osrelease \ dumpfile
Packit Service 501009
Display the OSRELEASE vmcoreinfo string from a kdump 
Packit Service 501009
.I dumpfile 
Packit Service 501009
header.
Packit Service 501009
.TP
Packit Service 501009
.BI --hyper
Packit Service 501009
Force the session to be that of a Xen hypervisor.
Packit Service 501009
.TP
Packit Service 501009
.BI --p2m_mfn \ pfn
Packit Service 501009
When a Xen Hypervisor or its dom0 kernel crashes, the dumpfile
Packit Service 501009
is typically analyzed with either the Xen hypervisor or the dom0 kernel.
Packit Service 501009
It is also possible to analyze any of the guest domU kernels if 
Packit Service 501009
the pfn_to_mfn_list_list 
Packit Service 501009
.I pfn 
Packit Service 501009
value of the guest kernel is passed on the
Packit Service 501009
command line along with its NAMELIST and the  
Packit Service 501009
dumpfile.
Packit Service 501009
.TP
Packit Service 501009
.BI --xen_phys_start \ physical-address
Packit Service 501009
Supply the base physical address of the Xen hypervisor's text and static data
Packit Service 501009
for older xendump dumpfiles that did not pass that information in the dumpfile
Packit Service 501009
header.
Packit Service 501009
.TP
Packit Service 501009
.B --zero_excluded
Packit Service 501009
If the makedumpfile(8) facility has filtered a compressed kdump dumpfile to
Packit Service 501009
exclude various types of non-essential pages, or has marked a compressed or
Packit Service 501009
ELF kdump dumpfile as incomplete due to an ENOSPC or other error during its
Packit Service 501009
creation, any attempt to read missing pages will fail.  With this flag, reads
Packit Service 501009
from any of those pages will return zero-filled memory.
Packit Service 501009
.TP
Packit Service 501009
.B --no_panic
Packit Service 501009
Do not attempt to find the task that was running when the kernel crashed.
Packit Service 501009
Set the initial context to that of the "swapper" task on cpu 0.
Packit Service 501009
.TP
Packit Service 501009
.B --more
Packit Service 501009
Use 
Packit Service 501009
.I /bin/more 
Packit Service 501009
as the command output scroller, overriding the default of 
Packit Service 501009
.I /usr/bin/less
Packit Service 501009
and any settings in either 
Packit Service 501009
.I ./.crashrc 
Packit Service 501009
or
Packit Service 501009
.I $HOME/.crashrc. 
Packit Service 501009
.TP
Packit Service 501009
.B --less
Packit Service 501009
Use 
Packit Service 501009
.I /usr/bin/less 
Packit Service 501009
as the command output scroller, overriding 
Packit Service 501009
any settings in either 
Packit Service 501009
.I ./.crashrc 
Packit Service 501009
or 
Packit Service 501009
.I $HOME/.crashrc. 
Packit Service 501009
.TP
Packit Service 501009
.B --hex
Packit Service 501009
Set the default command output radix to 16, overriding the default radix of 10,
Packit Service 501009
and any radix settings in either
Packit Service 501009
.I ./.crashrc
Packit Service 501009
or
Packit Service 501009
.I $HOME/.crashrc.
Packit Service 501009
.TP
Packit Service 501009
.B --dec
Packit Service 501009
Set the default command output radix to 10, overriding any 
Packit Service 501009
radix settings in either
Packit Service 501009
.I ./.crashrc
Packit Service 501009
or 
Packit Service 501009
.I $HOME/.crashrc.  This is the default radix setting.
Packit Service 501009
.TP
Packit Service 501009
.B --CRASHPAGER
Packit Service 501009
Use the output paging command defined in the 
Packit Service 501009
.B CRASHPAGER
Packit Service 501009
shell environment
Packit Service 501009
variable, overriding any settings in either 
Packit Service 501009
.I ./.crashrc 
Packit Service 501009
or 
Packit Service 501009
.I $HOME/.crashrc.
Packit Service 501009
.TP
Packit Service 501009
.B --no_scroll
Packit Service 501009
Do not pass run-time command output to any scrolling command. 
Packit Service 501009
.TP
Packit Service 501009
.B --no_strip
Packit Service 501009
Do not strip cloned kernel text symbol names.
Packit Service 501009
.TP
Packit Service 501009
.B --no_crashrc
Packit Service 501009
Do not execute the commands in either
Packit Service 501009
.I $HOME/.crashrc
Packit Service 501009
or 
Packit Service 501009
.I ./.crashrc.
Packit Service 501009
.TP
Packit Service 501009
.BI --mod \ directory
Packit Service 501009
When loading the debuginfo data of kernel modules with the 
Packit Service 501009
.I mod -S
Packit Service 501009
command, search for their object files in
Packit Service 501009
.I directory
Packit Service 501009
instead of in the standard location.
Packit Service 501009
.TP
Packit Service 501009
.BI --kaslr \ offset | auto
Packit Service 501009
If an x86_64 kernel was configured with 
Packit Service 501009
.B CONFIG_RANDOMIZE_BASE,
Packit Service 501009
the offset value is equal to the difference between the symbol values 
Packit Service 501009
compiled into the vmlinux file and their relocated KASLR values.  If set to
Packit Service 501009
auto, the KASLR offset value will be automatically calculated.
Packit Service 501009
.TP
Packit Service 501009
.BI --reloc \ size
Packit Service 501009
When analyzing live x86 kernels that were configured with a
Packit Service 501009
.B CONFIG_PHYSICAL_START
Packit Service 501009
value that is larger than its
Packit Service 501009
.B CONFIG_PHYSICAL_ALIGN
Packit Service 501009
value, then it will be necessary to enter
Packit Service 501009
a relocation size equal to the difference between the two values.
Packit Service 501009
.TP
Packit Service 501009
.BI --hash \ count
Packit Service 501009
Set the number of internal hash queue heads used for list gathering
Packit Service 501009
and verification.  The default count is 32768.
Packit Service 501009
.TP
Packit Service 501009
.B --minimal
Packit Service 501009
Bring up a session that is restricted to the 
Packit Service 501009
.I log, dis, rd, sym, eval, set
Packit Service 501009
and 
Packit Service 501009
.I exit
Packit Service 501009
commands.  This option may provide a way to
Packit Service 501009
extract some minimal/quick information from a corrupted or truncated
Packit Service 501009
dumpfile, or in situations where one of the several kernel subsystem
Packit Service 501009
initialization routines would abort the 
Packit Service 501009
.B crash
Packit Service 501009
session.
Packit Service 501009
.TP
Packit Service 501009
.BI --kvmhost \ [32|64]
Packit Service 501009
When examining an x86 KVM guest dumpfile, this option specifies
Packit Service 501009
that the KVM host that created the dumpfile was an x86 (32-bit) 
Packit Service 501009
or an x86_64 (64-bit) machine, overriding the automatically 
Packit Service 501009
determined value.
Packit Service 501009
.TP
Packit Service 501009
.BI --kvmio \ <size>
Packit Service 501009
override the automatically-calculated KVM guest I/O hole size.
Packit Service 501009
.TP
Packit Service 501009
.BI --offline \ [show|hide]
Packit Service 501009
Show or hide command output that is related to offline cpus.  The
Packit Service 501009
default setting is show.
Packit Service 501009
.SH COMMANDS
Packit Service 501009
Each 
Packit Service 501009
.B crash
Packit Service 501009
command generally falls into one of the following categories:
Packit Service 501009
.TP
Packit Service 501009
.I Symbolic display
Packit Service 501009
Displays of kernel text/data, which take full advantage of the power of 
Packit Service 501009
.B gdb
Packit Service 501009
to format and display data structures symbolically.
Packit Service 501009
.TP
Packit Service 501009
.I System state
Packit Service 501009
The majority of 
Packit Service 501009
.B crash
Packit Service 501009
commands consist of a set of "kernel-aware" 
Packit Service 501009
commands, which delve into various kernel subsystems on a system-wide 
Packit Service 501009
or per-task basis. 
Packit Service 501009
.TP
Packit Service 501009
.I Utility functions
Packit Service 501009
A set of useful helper commands serving various purposes, some simple, 
Packit Service 501009
others quite powerful. 
Packit Service 501009
.TP
Packit Service 501009
.I Session control
Packit Service 501009
Commands that control the 
Packit Service 501009
.B crash
Packit Service 501009
session itself.
Packit Service 501009
.PP
Packit Service 501009
The following alphabetical list consists of a very simple overview of each 
Packit Service 501009
.B crash
Packit Service 501009
command.
Packit Service 501009
However, since individual commands often have several options resulting in 
Packit Service 501009
significantly different output, it is suggested that the full description
Packit Service 501009
of each command be viewed by executing
Packit Service 501009
.I crash\ -h\ \fI<command>\fP, 
Packit Service 501009
or during a 
Packit Service 501009
.B crash
Packit Service 501009
session by simply entering
Packit Service 501009
.B \fIhelp command\fP. 
Packit Service 501009
.TP
Packit Service 501009
.I *
Packit Service 501009
"pointer to" is shorthand for either the
Packit Service 501009
.I struct
Packit Service 501009
or
Packit Service 501009
.I union
Packit Service 501009
commands.  It displays the contents of a kernel structure or union.
Packit Service 501009
.TP
Packit Service 501009
.I alias
Packit Service 501009
creates a single-word alias for a command.
Packit Service 501009
.TP
Packit Service 501009
.I ascii
Packit Service 501009
displays an ascii chart or translates a numeric value into its ascii components.
Packit Service 501009
.TP
Packit Service 501009
.I bt
Packit Service 501009
displays a task's kernel-stack backtrace.  If it is given the
Packit Service 501009
.I \-a
Packit Service 501009
option, it displays the stack traces of the active tasks on all CPUs.
Packit Service 501009
It is often used with the
Packit Service 501009
.I foreach
Packit Service 501009
command to display the backtraces of all tasks with one command.
Packit Service 501009
.TP
Packit Service 501009
.I btop
Packit Service 501009
translates a byte value (physical offset) to its page number.
Packit Service 501009
.TP
Packit Service 501009
.I dev
Packit Service 501009
displays data concerning the character and block device
Packit Service 501009
assignments, I/O port usage, I/O memory usage, and PCI device data. 
Packit Service 501009
.TP
Packit Service 501009
.I dis
Packit Service 501009
disassembles memory, either entire kernel functions, from a
Packit Service 501009
location for a specified number of instructions, or from the start of a
Packit Service 501009
function up to a specified memory location.
Packit Service 501009
.TP
Packit Service 501009
.I eval
Packit Service 501009
evaluates an expression or numeric type and displays the result
Packit Service 501009
in hexadecimal, decimal, octal and binary.
Packit Service 501009
.TP
Packit Service 501009
.I exit
Packit Service 501009
causes
Packit Service 501009
.B crash
Packit Service 501009
to exit.
Packit Service 501009
.TP
Packit Service 501009
.I extend
Packit Service 501009
dynamically loads or unloads 
Packit Service 501009
.B crash
Packit Service 501009
shared object extension modules.
Packit Service 501009
.TP
Packit Service 501009
.I files
Packit Service 501009
displays information about open files in a context.
Packit Service 501009
.TP
Packit Service 501009
.I foreach
Packit Service 501009
repeats a specified command for the specified (or all) tasks
Packit Service 501009
in the system.
Packit Service 501009
.TP
Packit Service 501009
.I fuser
Packit Service 501009
displays the tasks using the specified file or socket.
Packit Service 501009
.TP
Packit Service 501009
.I gdb
Packit Service 501009
passes its argument to the embedded
Packit Service 501009
.B gdb
Packit Service 501009
module.  It is useful for executing
Packit Service 501009
.B gdb 
Packit Service 501009
commands that have the same name as
Packit Service 501009
.B crash
Packit Service 501009
commands.
Packit Service 501009
.TP
Packit Service 501009
.I help
Packit Service 501009
alone displays the command menu; if followed by a command name, a full
Packit Service 501009
description of a command, its options, and examples are displayed.
Packit Service 501009
Its output is far more complete and useful than this man page.
Packit Service 501009
.TP
Packit Service 501009
.I ipcs
Packit Service 501009
displays data about the System V IPC facilities.
Packit Service 501009
.TP
Packit Service 501009
.I irq
Packit Service 501009
displays data concerning interrupt request numbers and
Packit Service 501009
bottom-half interrupt handling. 
Packit Service 501009
.TP
Packit Service 501009
.I kmem
Packit Service 501009
displays information about the use of kernel memory.
Packit Service 501009
.TP
Packit Service 501009
.I list
Packit Service 501009
displays the contents of a linked list.
Packit Service 501009
.TP
Packit Service 501009
.I log
Packit Service 501009
displays the kernel log_buf contents in chronological order.
Packit Service 501009
.TP
Packit Service 501009
.I mach
Packit Service 501009
displays data specific to the machine type.
Packit Service 501009
.TP
Packit Service 501009
.I mod
Packit Service 501009
displays information about the currently installed kernel modules,
Packit Service 501009
or adds or deletes symbolic or debugging information about specified kernel
Packit Service 501009
modules.
Packit Service 501009
.TP
Packit Service 501009
.I mount
Packit Service 501009
displays information about the currently-mounted filesystems.
Packit Service 501009
.TP
Packit Service 501009
.I net
Packit Service 501009
display various network related data.
Packit Service 501009
.TP
Packit Service 501009
.I p
Packit Service 501009
passes its arguments to the
Packit Service 501009
.B gdb
Packit Service 501009
"print" command for evaluation and display.
Packit Service 501009
.TP
Packit Service 501009
.I ps
Packit Service 501009
displays process status for specified, or all, processes
Packit Service 501009
in the system.
Packit Service 501009
.TP
Packit Service 501009
.I pte
Packit Service 501009
translates the hexadecimal contents of a PTE into its physical
Packit Service 501009
page address and page bit settings.
Packit Service 501009
.TP
Packit Service 501009
.I ptob
Packit Service 501009
translates a page frame number to its byte value.
Packit Service 501009
.TP
Packit Service 501009
.I ptov
Packit Service 501009
translates a hexadecimal physical address into a kernel 
Packit Service 501009
virtual address.
Packit Service 501009
.TP
Packit Service 501009
.I q
Packit Service 501009
is an alias for the "exit" command.
Packit Service 501009
.TP
Packit Service 501009
.I rd
Packit Service 501009
displays the contents of memory, with the output formatted
Packit Service 501009
in several different manners.
Packit Service 501009
.TP
Packit Service 501009
.I repeat
Packit Service 501009
repeats a command indefinitely, optionally delaying a given
Packit Service 501009
number of seconds between each command execution.
Packit Service 501009
.TP
Packit Service 501009
.I runq
Packit Service 501009
displays the tasks on the run queue.
Packit Service 501009
.TP
Packit Service 501009
.I search
Packit Service 501009
searches a range of user or kernel memory space for given value.
Packit Service 501009
.TP
Packit Service 501009
.I set
Packit Service 501009
either sets a new context, or gets the current context for
Packit Service 501009
display.
Packit Service 501009
.TP
Packit Service 501009
.I sig
Packit Service 501009
displays signal-handling data of one or more tasks.
Packit Service 501009
.TP
Packit Service 501009
.I struct
Packit Service 501009
displays either a structure definition or the contents of a
Packit Service 501009
kernel structure at a specified address.
Packit Service 501009
.TP
Packit Service 501009
.I swap
Packit Service 501009
displays information about each configured swap device.
Packit Service 501009
.TP
Packit Service 501009
.I sym
Packit Service 501009
translates a symbol to its virtual address, or a static 
Packit Service 501009
kernel virtual address to its symbol -- or to a symbol-plus-offset value,
Packit Service 501009
if appropriate.
Packit Service 501009
.TP
Packit Service 501009
.I sys
Packit Service 501009
displays system-specific data.
Packit Service 501009
.TP
Packit Service 501009
.I task
Packit Service 501009
displays the contents of a task_struct.
Packit Service 501009
.TP
Packit Service 501009
.I tree
Packit Service 501009
displays the contents of a red-black tree or a radix tree.
Packit Service 501009
.TP
Packit Service 501009
.I timer
Packit Service 501009
displays the timer queue entries, both old- and new-style,
Packit Service 501009
in chronological order.
Packit Service 501009
.TP
Packit Service 501009
.I union
Packit Service 501009
is similar to the
Packit Service 501009
.I struct
Packit Service 501009
command, except that it works on kernel unions.
Packit Service 501009
.TP
Packit Service 501009
.I vm
Packit Service 501009
displays basic virtual memory information of a context.
Packit Service 501009
.TP
Packit Service 501009
.I vtop
Packit Service 501009
translates a user or kernel virtual address to its physical
Packit Service 501009
address.
Packit Service 501009
.TP
Packit Service 501009
.I waitq
Packit Service 501009
walks the wait queue list displaying the tasks which 
Packit Service 501009
are blocked on the specified wait queue.
Packit Service 501009
.TP
Packit Service 501009
.I whatis
Packit Service 501009
displays the definition of structures, unions, typedefs or
Packit Service 501009
text/data symbols.
Packit Service 501009
.TP
Packit Service 501009
.I wr
Packit Service 501009
modifies the contents of memory on a live system. 
Packit Service 501009
It can only be used if
Packit Service 501009
.I /dev/mem
Packit Service 501009
is the device file being used to access system RAM, and should obviously be used with great care.
Packit Service 501009
.PP
Packit Service 501009
When 
Packit Service 501009
.B crash
Packit Service 501009
is invoked with a Xen hypervisor binary as the NAMELIST, the
Packit Service 501009
command set is slightly modified.  The
Packit Service 501009
.I *, alias, ascii, bt, dis, eval, exit, extend,
Packit Service 501009
.I gdb, help, list, log, p, pte, rd, repeat,
Packit Service 501009
.I search, set, struct, sym, sys, union,
Packit Service 501009
.I whatis, wr
Packit Service 501009
and 
Packit Service 501009
.I q
Packit Service 501009
commands are the same as above.  The following commands
Packit Service 501009
are specific to the Xen hypervisor:
Packit Service 501009
.TP
Packit Service 501009
.I domain
Packit Service 501009
displays the contents of the domain structure for selected, or all, domains.
Packit Service 501009
.TP
Packit Service 501009
.I doms
Packit Service 501009
displays domain status for selected, or all, domains.
Packit Service 501009
.TP
Packit Service 501009
.I dumpinfo
Packit Service 501009
displays Xen dump information for selected, or all, cpus.
Packit Service 501009
.TP
Packit Service 501009
.I pcpus
Packit Service 501009
displays physical cpu information for selected, or all, cpus.
Packit Service 501009
.TP
Packit Service 501009
.I vcpus
Packit Service 501009
displays vcpu status for selected, or all, vcpus.
Packit Service 501009
.SH FILES
Packit Service 501009
.TP
Packit Service 501009
.I .crashrc
Packit Service 501009
Initialization commands.  The file can be located in the user's
Packit Service 501009
.B HOME 
Packit Service 501009
directory and/or the current directory.  Commands found in the
Packit Service 501009
.I .crashrc
Packit Service 501009
file in the 
Packit Service 501009
.B HOME
Packit Service 501009
directory are executed before those in the current directory's 
Packit Service 501009
.I .crashrc
Packit Service 501009
file.
Packit Service 501009
.SH ENVIRONMENT
Packit Service 501009
.TP
Packit Service 501009
.B EDITOR
Packit Service 501009
Command input is read using
Packit Service 501009
.BR readline(3).
Packit Service 501009
If
Packit Service 501009
.B EDITOR
Packit Service 501009
is set to
Packit Service 501009
.I emacs
Packit Service 501009
or
Packit Service 501009
.I vi
Packit Service 501009
then suitable keybindings are used.  If 
Packit Service 501009
.B EDITOR
Packit Service 501009
is not set, then
Packit Service 501009
.I vi
Packit Service 501009
is used.  This can be overridden by
Packit Service 501009
.B set vi
Packit Service 501009
or 
Packit Service 501009
.B set emacs
Packit Service 501009
commands located in a
Packit Service 501009
.IR .crashrc 
Packit Service 501009
file, or by entering
Packit Service 501009
.B -e emacs
Packit Service 501009
on the
Packit Service 501009
.B crash
Packit Service 501009
command line.
Packit Service 501009
.TP
Packit Service 501009
.B CRASHPAGER
Packit Service 501009
If
Packit Service 501009
.B CRASHPAGER
Packit Service 501009
is set, its value is used as the name of the program to which command output will be sent. 
Packit Service 501009
If not, then command output is sent to 
Packit Service 501009
.B /usr/bin/less -E -X 
Packit Service 501009
by default.
Packit Service 501009
.TP
Packit Service 501009
.B CRASH_MODULE_PATH
Packit Service 501009
Specifies an alternative directory tree to search for kernel module
Packit Service 501009
object files.
Packit Service 501009
.TP
Packit Service 501009
.B CRASH_EXTENSIONS
Packit Service 501009
Specifies a directory containing extension modules that will be loaded
Packit Service 501009
automatically if the 
Packit Service 501009
.B -x
Packit Service 501009
command line option is used.
Packit Service 501009
.SH NOTES
Packit Service 501009
.PP
Packit Service 501009
If
Packit Service 501009
.B crash
Packit Service 501009
does not work, look for a newer version: kernel evolution frequently makes
Packit Service 501009
.B crash
Packit Service 501009
updates necessary.
Packit Service 501009
.PP
Packit Service 501009
The command
Packit Service 501009
.B set scroll off
Packit Service 501009
will cause output to be sent directly to
Packit Service 501009
the terminal rather than through a paging program.  This is useful,
Packit Service 501009
for example, if you are running
Packit Service 501009
.B crash
Packit Service 501009
in a window of
Packit Service 501009
.BR emacs .
Packit Service 501009
.SH AUTHOR
Packit Service 501009
Dave Anderson <anderson@redhat.com> wrote
Packit Service 501009
.B crash.
Packit Service 501009
.TP
Packit Service 501009
Jay Fenlason <fenlason@redhat.com> and Dave Anderson <anderson@redhat.com> wrote this man page.
Packit Service 501009
.SH "SEE ALSO"
Packit Service 501009
.PP
Packit Service 501009
The
Packit Service 501009
.I help
Packit Service 501009
command within
Packit Service 501009
.B crash
Packit Service 501009
provides more complete and accurate documentation than this man page.
Packit Service 501009
.PP
Packit Service 420355
.I https://github.com/crash-utility
Packit Service 501009
- the home page of the
Packit Service 501009
.B crash
Packit Service 501009
utility.
Packit Service 501009
.PP
Packit Service 501009
.BR netdump (8),
Packit Service 501009
.BR gdb (1),
Packit Service 501009
.BR makedumpfile(8)