Date: Wed, 13 Jul 2005 12:51:53 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Craig Rodrigues <rodrigc@crodrigues.org> Cc: freebsd-current@freebsd.org Subject: Re: Panic in bpf, maybe related to if_xl Message-ID: <20050713125038.Q926@fledge.watson.org> In-Reply-To: <20050713031229.GA933@crodrigues.org> References: <20050713031229.GA933@crodrigues.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1208179416-1121255513=:926 Content-Type: TEXT/PLAIN; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Tue, 12 Jul 2005, Craig Rodrigues wrote: > My system is -CURRENT, from July 9. I use my FreeBSD box to run natd,=20 > using the if_xl network driver (3Com card). > > I got a panic inside of bpf: > > mutex Giant is not owned at /usr/src/sys/net/bpf.c:1330 The lock assertion in question has two parts: (1) Assert the BPF lock required. (2) If debug.mpsafenet=3D0, assert Giant. It looks like if_xl is not properly acquiring Giant when entering the=20 network stack when running with debug.mpsafenet=3D0. It should be calling= =20 NET_LOCK_GIANT() in the task queue before calling if_input(). Robert > > #13 0xc065e610 in _mtx_assert (m=3D0xc0926ec0, what=3D0, > file=3D0xc087e2e8 "/usr/src/sys/net/bpf.c", line=3D1330) > at /usr/src/sys/kern/kern_mutex.c:739 > #14 0xc06c8ec6 in catchpacket (d=3D0xc178b300, pkt=3D0xc17f9802 "=FF=FF= =FF=FF=FF=FF", > pktlen=3D393, snaplen=3D4294967295, cpfn=3D0xc080483c <bcopy>) > at /usr/src/sys/net/bpf.c:1330 > #15 0xc06c8bf0 in bpf_tap (bp=3D0xc16545c0, pkt=3D0xc17f9802 "=FF=FF=FF= =FF=FF=FF", pktlen=3D393) > at /usr/src/sys/net/bpf.c:1184 > #16 0xc06c8cbc in bpf_mtap (bp=3D0xc16545c0, m=3D0xc17e2600) > at /usr/src/sys/net/bpf.c:1238 > #17 0xc06ceb6b in ether_input (ifp=3D0xc168ec00, m=3D0xc17e2600) > at /usr/src/sys/net/if_ethersubr.c:572 > #18 0xc07853cf in xl_rxeof (sc=3D0xc1691000) at /usr/src/sys/pci/if_xl.c:= 2068 > #19 0xc07854d6 in xl_rxeof_task (arg=3D0xc1691000, pending=3D1) > at /usr/src/sys/pci/if_xl.c:2104 > #20 0xc0685182 in taskqueue_run (queue=3D0xc153cc00) > at /usr/src/sys/kern/subr_taskqueue.c:217 > #21 0xc068527a in taskqueue_swi_run (dummy=3D0x0) > at /usr/src/sys/kern/subr_taskqueue.c:252 > #22 0xc0653a10 in ithread_loop (arg=3D0xc153cb80) > at /usr/src/sys/kern/kern_intr.c:545 > #23 0xc0652e44 in fork_exit (callout=3D0xc06538f4 <ithread_loop>, > arg=3D0xc153cb80, frame=3D0xcbff1d38) at /usr/src/sys/kern/kern_fork.c= :789 > > > > I have a kernel.debug and crashdump if I can help someone debug this. > > Thanks. > --=20 > Craig Rodrigues > rodrigc@crodrigues.org > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= " > --0-1208179416-1121255513=:926--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050713125038.Q926>