STREAMS/UX for the HP 9000 Reference Manual
172
Debugging STREAMS/UX Modules and Drivers
Generating and Retrieving System Core Dumps
Manually Getting a Core File from the Swap Partition
If savecore() was not run at boot-up, or did not succeed, you can still run
savecore(1m) manually by taking the following steps:
savecore begins by reporting the date and time of the crash. Next, it looks in
the specified directory for a file named bounds. The bounds file contains the
next sequence number (N), which savecore will use to create a unique core
file and kernel file. savecore will copy the core image from the primary
swap device to a file named vmcore.N. Lastly, savecore copies
/stand/vmunix to a file named vmunix.N to complete the core dump pair.
Problems Encountered In Saving/Obtaining a Core Dump
If /stand/vmunix was not the kernel that was running when the crash
occurred, savecore will exit quickly without printing any message and will
not save the core file. Use the -d option to tell savecore what kernel was
running at the time of the system crash:
/usr/sbin/savecore -d /stand/vmunix.bad /var/adm/crash
If a core dump pair is incomplete or not saved after a panic, you can look to
the savecore(1m) man page for help.
Transfer of Control In Case of System Hang
A system hang is a situation in which the system seems to be up but does not
respond to external user control. Should this happen to your system, you
will want to obtain a core dump so that the cause for the hang can be
analyzed. The method for obtaining a core dump of a kernel in this state is
to use the Transfer of Control (TOC) mechanism. The TOC mechanism
causes the machine to vector through a special address which will cause the
machine to do a core dump. Most Series 700 and 800 machines have the
capability to perform TOC but the methods for performing this task are
machine-dependent:
• Series 800 Models 850, 855, 86x, F, G, H, I, and 870: If you have an access port
connected to your machine, you must enable it through your front panel. Next,
/usr/bin/bdf # find enough space for the dump
mkdir /tmp/syscore # assuming /tmp has enough space
/usr/sbin/savecore /tmp/syscore # savecore to the chosen directory