reboot after panic

Jeremy Chadwick koitsu at freebsd.org
Tue May 6 13:56:42 UTC 2008


On Tue, May 06, 2008 at 09:47:59AM -0400, Stephen Clark wrote:
> Jeremy Chadwick wrote:
>> On Fri, May 02, 2008 at 09:40:20AM -0400, Stephen Clark wrote:
>>> Mine is a nvidia 6300 mb with a dual core amd processor. I am causing the panic
>>> while trying to develope a DD for a EVDO usb modem - so it is not a great 
>>> problem - I was just surprised it wasn't rebooting. This is a 6.1 system.
>>>
>>> Yes it is sort of discouraging that it is hard to get answers when you 
>>> aren't running the latest and greatest kernel. In our case we have over 
>>> 500 units in
>>> the field running a mix of 4.9 and 6.1 and it is not feasible to 
>>> continually upgrade them, especially since there is no documented way to 
>>> reliably upgrade
>>> a remote installation.
>>
>> Does the system reboot OK if you issue the "reboot" command?
>>
>> If not, then the problem is likely with the reboot method being used
>> (ACPI vs. non-ACPI) or ACPI tweakage prior to reboot, and not anything
>> to do with panics.  See the following two sysctls:
>>
>> hw.acpi.disable_on_reboot
>> hw.acpi.handle_reboot
>
> It reboots fine when I "shutdown -r now". It is only after a panic
> that it hangs. I have it set to save the crash dump:
> dumpdev="AUTO"          # Device to crashdump to (device name, AUTO, or NO).
> dumpdir="/var/crash"    # Directory where crash dumps are to be stored
>
> but there is never one. It is like it hangs trying to dump the memory image.
>
> This mother board has both sata and pata controllers but I am using only pata
> drives.

A kernel panic causes the kernel to dump all memory contents (from start
to end) to whatever swap device is available.  It's written to the disk
in a fairly "raw" format, with some header data of some sort I think.
After it's done, the system should reboot.

My guess is that you either don't have any swap defined, swap is defined
incorrectly (disklabel -r output would be useful), or your swap space is
smaller than your total amount of memory.  (Swap should usually be 2x
RAM).

dumpdir and dumpdev are used during the startup process, where
savecore(8) is called.  The memory dump on the swap device is extracted
and stored in a file in $dumpdir, which you can examine later.  Keep in
mind that savecore(8) will use /dev/dumpdev, which is a symlink to
whatever device your swap lives on -- and that's determined by reading
/etc/fstab.

Does this help?  :-)

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-stable mailing list