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: