Date: Sat, 23 Jul 2005 04:13:48 +0300 From: Giorgos Keramidas <keramida@freebsd.org> To: Edwin <edwin@verolan.com> Cc: freebsd-hackers@freebsd.org Subject: Re: help w/panic under heavy load - 5.4 Message-ID: <20050723011348.GA973@gothmog.gr> In-Reply-To: <20050722215303.GA11141@asx01.verolan.com> References: <20050719034215.GB20752@asx01.verolan.com> <200507191120.37526.jhb@FreeBSD.org> <20050720020302.GA24474@asx01.verolan.com> <20050720100623.GA1470@beatrix.daedalusnetworks.priv> <20050720154156.GA26755@asx01.verolan.com> <20050721115719.GK16179@beatrix.daedalusnetworks.priv> <20050722215303.GA11141@asx01.verolan.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2005-07-22 17:53, Edwin <edwin@verolan.com> wrote: > > I also patched ip_fastforward.c w/ your patch - still a crash - still > same type bogus mtu value - a few lines from kgdb included @ end of > message. > (kgdb) f 13 > #13 0xc06933c1 in ip_fastforward (m=0xc12e6c00) at /usr/src/sys/netinet/ip_fastfwd.c:572 > 572 if (ip_fragment(ip, &m, mtu, ifp->if_hwassist, > (kgdb) p ro.ro_rt->rt_rmx > $1 = {rmx_mtu = 1500, rmx_expire = 333905919, rmx_pksent = 3868} The route entry has mtu = 1500. > (kgdb) p *ifp > $3 = {if_softc = 0xc0f91800, if_link = {tqe_next = 0xc0f90000, tqe_prev = 0xc08ebe84}, > if_xname = "sis0", '\0' <repeats 11 times>, if_dname = 0xc0f2ec2c "sis", if_dunit = 0, > if_addrhead = {tqh_first = 0xc0ec0000, tqh_last = 0xc1040460}, if_klist = { > kl_lock = 0xc08e5a40, kl_list = {slh_first = 0x0}}, if_pcount = 0, if_carp = 0x0, > if_bpf = 0x0, if_index = 1, if_timer = 5, if_nvlans = 0, if_flags = 34883, > if_capabilities = 72, if_capenable = 72, if_linkmib = 0x0, if_linkmiblen = 0, > if_data = {ifi_type = 6 '\006', ifi_physical = 0 '\0', ifi_addrlen = 6 '\006', > ifi_hdrlen = 18 '\022', ifi_link_state = 2 '\002', ifi_recvquota = 0 '\0', > ifi_xmitquota = 0 '\0', ifi_datalen = 80 'P', ifi_mtu = 1500, ifi_metric = 0, The interface also has an mtu of 1500 (ifi_mtu in the last line above). > #10 0xc0611fef in panic (fmt=0xc0820008 "default") > at /usr/src/sys/kern/kern_shutdown.c:550 > #11 0xc0641a2c in m_copym (m=0x0, off0=1500, len=1480, wait=1) > at /usr/src/sys/kern/uipc_mbuf.c:385 > #12 0xc069b694 in ip_fragment (ip=0xc12f700e, m_frag=0xc76bfc6c, mtu=-1056788992, > if_hwassist_flags=0, sw_csum=1) at /usr/src/sys/netinet/ip_output.c:967 > #13 0xc06933c1 in ip_fastforward (m=0xc12e6c00) at /usr/src/sys/netinet/ip_fastfwd.c:572 This looks rather strange. ip_fastforward() should pass an mtu of 1500 but somehow the negative strange value gets passed. It would be interesting to see the value of ``mtu'' in frame 13 too, if you still have this crash dump stored somewhere. You are not running a kernel with optimization and/or architecture- dependent optimization flags, right?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050723011348.GA973>