Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jul 2004 15:10:25 -0400
From:      Gerrit Nagelhout <gnagelhout@sandvine.com>
To:        "'current@freebsd.org'" <current@freebsd.org>
Subject:   SW_WDOG problem
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337054EC52F@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
Hi,

Were are trying out the new software watchdog on current (from a couple of
weeks ago) and are running into a panic within a panic.  What happens is
when the software watchdog tries to panic the system (with interrupts
disabled), 
it manages to write out the core file, but then panics again in
pmap_invalidate_range
because interrupts are enabled.
Any ideas on how to work around this?
Thanks,

Gerrit 



       if (smp_started) {
		if (!(read_eflags() & PSL_I))
			panic("%s: interrupts disabled", __func__);
		mtx_lock_spin(&smp_tlb_mtx);
	} else
		critical_enter();


backtrace(c0720347,2,c78e4550,14674,104) at backtrace+0x1c
__panic(c07376ff,273,c07376e7,c06fccf0,d4574000) at __panic+0xc4
pmap_invalidate_range(c07b73c0,d4573000,d4574000) at
pmap_invalidate_range+0x50
pmap_qenter(d4573000,e064d9f4,1,22,d4577000) at pmap_qenter+0x65
vm_hold_load_pages(d3b40c18,d4573000,d4577000,c7779000,d3b21110) at
vm_hold_load_pages+0x17c
allocbuf(d3b40c18,4000,4000,4000,200000a4) at allocbuf+0x3a3
geteblk(4000,c22619a0,c053dcae,c05a447d,e064dab0) at geteblk+0x52
ibwrite(d3b21110,e064dab0,c059a3bd,d3b21110,e064dae8) at ibwrite+0x25c
bwrite(d3b21110,e064dae8,c05a4dd4,d3b21110,80012) at bwrite+0x1a
bawrite(d3b21110,80012,0,c22619a0,c050b01d) at bawrite+0x1d
vop_stdfsync(e064db3c,0,c7779000,e064db08,c050b01d) at vop_stdfsync+0x1d4
spec_fsync(e064db3c,e064db68,c065b373,e064db3c,30002) at spec_fsync+0x36
spec_vnoperate(e064db3c,30002,c0779560,0,c773c844) at spec_vnoperate+0x1d
ffs_sync(c773c800,2,c225c100,c0779560,c773c800) at ffs_sync+0x423
sync(c0779560,0,c056fb5c,c070e65e,c056fc00) at sync+0x111
boot(100,0,28d,c071d938,100) at boot+0x1b6
__panic(c071d938,28d,c071d927,c076f7f4,c076ebd8) at __panic+0x24c
watchdog_fire(e064dcac,c72cb880,e064dc3c,c06cf97f) at watchdog_fire+0xde
hardclock(e064dcac,e064dc58,c06cf8ef,c06dbe6b,c740f280) at hardclock+0x14a
clkintr(e064dcac,46,e064dc90,0,c22619a0) at clkintr+0xf4
intr_execute_handlers(c0770cc0,e064dcac,e064dca4,c06ca3a0,4) at
intr_execute_handlers+0x90
atpic_handle_intr(0) at atpic_handle_intr+0xf4
Xatpic_intr0() at Xatpic_intr0+0x2a
--- interrupt, eip = 0xc06cbeba, esp = 0xe064dcf0, ebp = 0xe064dcf0 ---
cpu_idle_default(e064dd18,c0534870,1,0,0) at cpu_idle_default+0xa
cpu_idle(1,0,0,0,c22606e0) at cpu_idle+0x2e
idle_proc(0,e064dd48,9c000002,960e8fa,0) at idle_proc+0x20
fork_exit(c0534850,0,e064dd48) at fork_exit+0x7f
fork_trampoline() at fork_trampoline+0xd







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337054EC52F>