From owner-freebsd-current@FreeBSD.ORG Mon Feb 16 18:16:18 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 318C416A4CE for ; Mon, 16 Feb 2004 18:16:18 -0800 (PST) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.188]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD6A443D1F for ; Mon, 16 Feb 2004 18:16:17 -0800 (PST) (envelope-from max@love2party.net) Received: from [212.227.126.207] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1AsumX-0004zg-00 for current@freebsd.org; Tue, 17 Feb 2004 03:16:17 +0100 Received: from [217.227.154.196] (helo=vampire.homelinux.org) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1AsumW-0001yt-00 for current@freebsd.org; Tue, 17 Feb 2004 03:16:16 +0100 Received: (qmail 48149 invoked from network); 17 Feb 2004 02:20:32 -0000 Received: from unknown (HELO fbsd52.laiers.local) (192.168.4.88) by 192.168.4.1 with SMTP; 17 Feb 2004 02:20:32 -0000 From: Max Laier To: Jiri Mikulas Date: Tue, 17 Feb 2004 03:16:10 +0100 User-Agent: KMail/1.5.4 References: In-Reply-To: MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_qlXMAXKQL1HLSBe" Message-Id: <200402170316.10258.max@love2party.net> X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:e28873fbe4dbe612ce62ab869898ff08 cc: current@freebsd.org cc: Stefan Ehmann Subject: Re: PANIC: trap.c X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Feb 2004 02:16:18 -0000 --Boundary-00=_qlXMAXKQL1HLSBe Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 16 February 2004 03:54, Robert Watson wrote: > On Mon, 16 Feb 2004, Jiri Mikulas wrote: > > Hello, just only for info I got this panic on: FreeBSD 5.2-CURRENT > > #1: Mon Feb 16 00:53:39 CET 2004 > > > > I built few kernels from saturday morning to sunday evening and with > > all of them i got this panic .. (my last functional kernel is from > > FreeBSD 5.2-CURRENT #0: Mon Feb 9 19:53:47 CET 2004) Jiri > > It looks like 'ifp' in ip_output.c is NULL here (the offset of > if_hwassist is 0x98). Are you running with DUMMYNET? I'm wondering if > the recent commit to clean up MT_TAG pseudo-mbufs has a loose end > somewhere. Try backing ouf the following commit locally: > > mlaier 2004/02/13 11:14:16 PST > > FreeBSD src repository > > Modified files: > sys/net bridge.c if_ethersubr.c > sys/netinet in_proto.c ip_divert.c ip_dummynet.c > ip_dummynet.h ip_fastfwd.c ip_fw.h > ip_fw2.c ip_input.c ip_output.c ip_var.h > tcp_debug.c tcp_input.c > sys/sys mbuf.h > Added files: > sys/netinet ip_divert.h > Log: > This set of changes eliminates the use of MT_TAG "pseudo mbufs", > replacing > them mostly with packet tags (one case is handled by using an mbuf > flag since the linkage between "caller" and "callee" is direct and > there's no need to incur the overhead of a packet tag). > > This is (mostly) work from: sam > > Silence from: -arch > Approved by: bms(mentor), sam, rwatson > > Revision Changes Path > 1.74 +5 -9 src/sys/net/bridge.c > 1.156 +2 -15 src/sys/net/if_ethersubr.c > 1.68 +1 -0 src/sys/netinet/in_proto.c > 1.82 +48 -21 src/sys/netinet/ip_divert.c > 1.1 +83 -0 src/sys/netinet/ip_divert.h (new) > 1.77 +125 -91 src/sys/netinet/ip_dummynet.c > 1.28 +17 -20 src/sys/netinet/ip_dummynet.h > 1.6 +18 -67 src/sys/netinet/ip_fastfwd.c > 1.81 +0 -1 src/sys/netinet/ip_fw.h > 1.54 +25 -5 src/sys/netinet/ip_fw2.c > 1.261 +56 -118 src/sys/netinet/ip_input.c > 1.207 +60 -53 src/sys/netinet/ip_output.c > 1.82 +16 -9 src/sys/netinet/ip_var.h > 1.22 +1 -0 src/sys/netinet/tcp_debug.c > 1.225 +2 -6 src/sys/netinet/tcp_input.c > 1.136 +1 -18 src/sys/sys/mbuf.h Okay, that was it: We forgot to remove the tag for certain codepathes (ip_input -> ip_forward -> ip_output) which was previously done by moving m to m->m_next (the actual data after the MT_TAG). Please try the attached patch to ip_input.c (forget the previous one) and report back if it works for you. Thanks in advance. -- Best regards, | mlaier@freebsd.org Max Laier | ICQ #67774661 http://pf4freebsd.love2party.net/ | mlaier@EFnet --Boundary-00=_qlXMAXKQL1HLSBe Content-Type: text/x-diff; charset="iso-8859-1"; name="ip_input.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ip_input.c.diff" Index: ip_input.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_input.c,v retrieving revision 1.262 diff -u -r1.262 ip_input.c --- ip_input.c 13 Feb 2004 19:20:43 -0000 1.262 +++ ip_input.c 17 Feb 2004 02:03:45 -0000 @@ -504,6 +504,10 @@ } pass: + mtag = m_tag_find(m, PACKET_TAG_DUMMYNET, NULL); + if (mtag) + m_tag_delete(m, mtag); + /* * Process options and, if not destined for us, * ship it on. ip_dooptions returns 1 when an --Boundary-00=_qlXMAXKQL1HLSBe--