Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2010 11:39:26 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        freebsd-ipfw@freebsd.org
Subject:   cdpd/ladvd panic after r205511 MFC
Message-ID:  <20100423163926.GD14572@dan.emsphone.com>

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

I recently upgraded my 8-stable i386 kernel, and ladvd caused a panic during
bootup.  ladvd is a deamon that sends out switch discovery frames via
/dev/bpf .  Switching to cdpd (another program like ladvd) results in the
same panic.

I traced it down to the ipfw MFC on 2010-03-23 (rev r205511). 
Unfortunately, all my crash dumps give garbage stack traces so the only info
I have is the trap log and a DDB backtrace.  I can generate more crashdumps
if they are needed for debugging.

It's reproducable on a GENERIC kernel by loading ipfw, ensuring that all
traffic is allowed, and starting up either ladvd or cdpd from ports.


Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 02
fault virtual address	= 0x0
fault code		= supervisor read, page not present
instruction pointer	= 0x20:0x808a17f4
stack pointer	        = 0x28:0xe1526b58
frame pointer	        = 0x28:0xe1526bb8
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 2967 (ladvd)


db:0:kdb.enter.default>  show pcpu
cpuid        = 3
dynamic pcpu    = 0x5f60600
curthread    = 0x8c71b4a0: pid 2967 "ladvd"
curpcb       = 0xe1526d90
fpcurthread  = none
idlethread   = 0x86d5e940: pid 11 "idle: cpu3"
APIC ID      = 3
currentldt   = 0x50
spin locks held:
db:0:kdb.enter.default>  bt
Tracing pid 2967 tid 100264 td 0x8c71b4a0
bcmp(86ea5d00,e1526c58,0,0,0,...) at bcmp+0x14
devfs_write_f(8eb588c0,e1526c58,86d5a100,0,8c71b4a0,...) at devfs_write_f+0xc1
dofilewrite(e1526c58,ffffffff,ffffffff,0,8eb588c0,...) at dofilewrite+0x95
kern_writev(8c71b4a0,a,e1526c58,e1526c78,1,...) at kern_writev+0x58
write(8c71b4a0,e1526cf8,80954c4b,8093722a,8eb0a550,...) at write+0x4f
syscall(e1526d38) at syscall+0x260
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (4, FreeBSD ELF32, write), eip = 0x281a7543, esp = 0x7fbfe42c, ebp = 0x7fbfe478 ---



-- 
	Dan Nelson
	dnelson@allantgroup.com



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