Subject: kern/3560: ddb.onpanic = 0 doesn't always reboot
To: None <gnats-bugs@gnats.netbsd.org>
From: Manuel BOUYER <bouyer@antioche.ibp.fr>
List: netbsd-bugs
Date: 04/30/1997 15:15:28
>Number: 3560
>Category: kern
>Synopsis: ddb.onpanic = 0 can fall to the db> promt on a page fault
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Apr 30 10:50:01 1997
>Last-Modified:
>Originator: Manuel BOUYER
>Organization:
LIP6, Universite Paris VI.
>Release: NetBSD-current of 26 april
>Environment:
NetBSD antioche.ibp.fr 1.2D NetBSD 1.2D (ANTIOCHE) #0: Wed Apr 30 12:08:31 MEST 1997 bouyer@antifer.ibp.fr:/usr/emul/linux/share/antioche/sys/arch/i386/compile/ANTIOCHE i386
>Description:
I compliled a kernel for my server with
options DDB_ONPANIC=0
because I want it to reboot when a panic occurs. But ddb is sometimes
useful. A sysctl -a gives me ddb.onpanic = 0.
Today, it crashed while I backuped it throug the network, with
a message (rewritten by hand):
vm_fault(0xf826e000, f868f000,1,0) -> 1
Kernel: page fault trap, code = 0
stopped at _m_freem + 0xd0: movswl 0(%ebx,%ecx,4),%ecx
db>
It didn't reboot, which is not the expected behavior for a kernel
compiled with DDB_ONPANIC=0.
>How-To-Repeat:
Set ddb.onpanic to 0 (via sysctl or compile time option).
Get your kernel do a page fault, and whatch the db> prompt.
>Fix:
Unknown. I guess a check for db_onpanic should be done in some
other places than panic(). Or the check and the call to cup_reboot
should be done in the debugger entry points rather than in panic ...
>Audit-Trail:
>Unformatted: