Panic in 5.3, related to network traffic

Arjan Van Leeuwen avleeuwen at gmail.com
Wed Nov 10 07:43:10 PST 2004


On Wed, 10 Nov 2004 10:15:31 +0000 (GMT), Robert Watson
<rwatson at freebsd.org> wrote:
> 
> Could you recompile your kernel with "options INVARIANTS"?  It looks like
> whatever is happening should be triggering one of the assertions in
> m_copydata(), if not icmp_error(), and it would be helpful to track it a
> little earlier before it faults.  It looks like m_copydata() is alking off
> of the end of an mbuf chain, since min()'s only pointer dereference is to
> get the length out of an mbuf.  However, under those circumstances it
> shouldn't need to walk a chain.
> 
> Another thing we may want to do for debugging purposes, subject to this
> being something you can put the system through, is add an additional
> warning in icmp_error() if the mbuf comes in fragmented.  Something like
> the following would generate a warning instead of panicking:
> (...)

I've applied the patch and enabled INVARIANTS. The result was that I
did indeed see the warning once, but _not_ when I was trying to create
a panic; I saw the warning shortly after starting the machine, I
didn't yet start emule to get the panic.

When I did start emule, I got a panic that looked a bit different. In
this screenshot, you can see both the warning message (that appeared a
lot earlier, independent of the panic) and the new panic:

http://www.piwebs.com/freebsd/panic.jpg

Here is what addr2line tells me:

winston% addr2line -f -e kernel.debug.20041110 0xC074CF44
uma_dbg_free
/usr/src/sys/vm/uma_dbg.c:308
winston% addr2line -f -e kernel.debug.20041110 0xC074BD13
uma_zfree_arg
/usr/src/sys/vm/uma_core.c:2237
winston% addr2line -f -e kernel.debug.20041110 0xC0646C9A
m_freem
/usr/src/sys/vm/uma.h:302
winston% addr2line -f -e kernel.debug.20041110 0xC0460D11
fr_check
/usr/src/sys/contrib/ipfilter/netinet/fil.c:1402
winston% addr2line -f -e kernel.debug.20041110 0xC0462052
fr_check_wrapper
/usr/src/sys/contrib/ipfilter/netinet/ip_fil.c:344
winston% addr2line -f -e kernel.debug.20041110 0xC067F11D
pfil_run_hooks
/usr/src/sys/net/pfil.c:137
winston% addr2line -f -e kernel.debug.20041110 0xC069BE95
ip_input
/usr/src/sys/netinet/ip_input.c:439
winston% addr2line -f -e kernel.debug.20041110 0xC067DB92
netisr_processqueue
/usr/src/sys/net/netisr.c:229
winston% addr2line -f -e kernel.debug.20041110 0xC067DD76
swi_net
/usr/src/sys/net/netisr.c:346
winston% addr2line -f -e kernel.debug.20041110 0xC06051C4
ithread_loop
/usr/src/sys/kern/kern_intr.c:548

Thanks for your help,

Arjan


More information about the freebsd-stable mailing list