Skip site navigation (1)Skip section navigation (2)
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>