Subject: kern/3560: ddb.onpanic = 0 doesn't always reboot
To: None <>
From: Manuel BOUYER <>
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
>Originator:     Manuel BOUYER

LIP6, Universite Paris VI.

>Release:        NetBSD-current of 26 april

NetBSD 1.2D NetBSD 1.2D (ANTIOCHE) #0: Wed Apr 30 12:08:31 MEST 1997 i386

	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

	It didn't reboot, which is not the expected behavior for a kernel
	compiled with DDB_ONPANIC=0.


	Set ddb.onpanic to 0 (via sysctl or compile time option).
	Get your kernel do a page fault, and whatch the db> prompt.

	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 ...