From owner-freebsd-hackers@FreeBSD.ORG Sat Jul 23 13:53:24 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5213216A53F for ; Sat, 23 Jul 2005 13:53:24 +0000 (GMT) (envelope-from edwin@verolan.com) Received: from ns11.webmasters.com (ns11.webmasters.com [66.118.156.2]) by mx1.FreeBSD.org (Postfix) with SMTP id 351E343D53 for ; Sat, 23 Jul 2005 13:53:23 +0000 (GMT) (envelope-from edwin@verolan.com) Received: (qmail 32718 invoked from network); 23 Jul 2005 13:50:15 -0000 Received: from unknown (HELO localhost.localdomain) (204.9.60.14) by ns11.webmasters.com with SMTP; 23 Jul 2005 13:50:15 -0000 Received: from localhost.localdomain (asx01 [127.0.0.1]) by localhost.localdomain (8.13.1/8.13.1) with ESMTP id j6NDrL0h013662; Sat, 23 Jul 2005 09:53:21 -0400 Received: (from edwin@localhost) by localhost.localdomain (8.13.1/8.13.1/Submit) id j6NDrLXs013661; Sat, 23 Jul 2005 09:53:21 -0400 Date: Sat, 23 Jul 2005 09:53:21 -0400 From: Edwin To: Giorgos Keramidas Message-ID: <20050723135321.GA13607@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> <20050723011348.GA973@gothmog.gr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20050723011348.GA973@gothmog.gr> User-Agent: Mutt/1.4.1i X-Operating-System: Linux/(i686) Cc: Edwin , freebsd-hackers@freebsd.org Subject: Re: help w/panic under heavy load - 5.4 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 13:53:24 -0000 comments in-line. Giorgos Keramidas (keramida@freebsd.org) wrote: > > 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. included right below - i have a few other questions while i'm looking @ these - the value of hlen (looks from the code that it should be ip->ip_hl << 2 (5*4=20 right?) not some large -value - plus the value of hlen is sortof close to crazy mtu value - ip->ip_len = 10240 ??? not sure why this would be either - i think mtu should have a value of 1500 here - both the ifp struct and ro struct have values of 1500, but even if it did have a value of 1500 - since ip->ip_len = 10240 - it's still going to drop through to else of line 542 (ie. ip->ip_len <= mtu) which leaves either can't frag/drop or frag (where we are i think) - unless I'm missing something (kgdb) f 13 #13 0xc06933c1 in ip_fastforward (m=0xc12e6c00) at /usr/src/sys/netinet/ip_fastfwd.c:572 warning: Source file is more recent than executable. 572 if (ip_fragment(ip, &m, mtu, ifp->if_hwassist, (kgdb) i loc ip = (struct ip *) 0xc12f700e m0 = (struct mbuf *) 0xc12f700e ro = {ro_rt = 0xc11f8420, ro_dst = {sa_len = 16 '\020', sa_family = 2 '\002', sa_data = "\000\000�\002\005\000\000\000\000\000\000\000"}} dst = (struct sockaddr_in *) 0xc76bfc3c ia = (struct in_ifaddr *) 0x0 ifa = (struct ifaddr *) 0x0 ifp = (struct ifnet *) 0xc0f91800 odest = {s_addr = 84060352} dest = {s_addr = 84060352} sum = 0 ip_len = 0 error = 84060352 hlen = -1057417216 mtu = 0 __func__ = "ip_fastforward" (kgdb) p *ip $1 = {ip_hl = 5, ip_v = 4, ip_tos = 0 '\0', ip_len = 10240, ip_id = 61249, ip_off = 0, ip_ttl = 63 '?', ip_p = 17 '\021', ip_sum = 31921, ip_src = {s_addr = 67479744}, ip_dst = {s_addr = 84060352}} (kgdb) > > You are not running a kernel with optimization and/or architecture- > dependent optimization flags, right? > ntiko - i have added CPU_GEODE/CPU_SOEKRIS to my config - but same crash on the generic config as well..this is a soekris net4801 box (w/ geode proc - i586). generic 'make buildkernel KERNCONF=D1-0722' command line (ie no other make/compiler options). mbsd05# diff /root/kernels/D1-0722 /root/kernels/GENERIC 21,22d20 < makeoptions DEBUG=-g < 24c22 < #cpu I486_CPU --- > cpu I486_CPU 26,27c24,25 < #cpu I686_CPU < ident D1-0722 --- > cpu I686_CPU > ident GENERIC 31,48d28 < < options KDB < options DDB < options INVARIANTS < options INVARIANT_SUPPORT < < options CPU_SOEKRIS < options CPU_GEODE < < options HZ=1000 < options DEVICE_POLLING < < options IPFIREWALL < options IPFIREWALL_VERBOSE < options IPFIREWALL_VERBOSE_LIMIT < options IPFIREWALL_DEFAULT_TO_ACCEPT < options DUMMYNET < options IPDIVERT mbsd05#