From owner-freebsd-net Tue Oct 22 19:57: 7 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 194C737B401; Tue, 22 Oct 2002 19:57:05 -0700 (PDT) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A75D43E3B; Tue, 22 Oct 2002 19:57:04 -0700 (PDT) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2653.19) id <42S9VFG0>; Tue, 22 Oct 2002 22:57:03 -0400 Message-ID: From: Don Bowman To: Don Bowman , "'freebsd-stable@freebsd.org'" , "'freebsd-net@freebsd.org'" Subject: RE: panic with ipfw / dummynet in 4.7 STABLE Date: Tue, 22 Oct 2002 22:56:53 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org > From: Don Bowman [mailto:don@sandvine.com] > Take a 4.7 image. Using if_em (if it matters). Turn on > bridging (em0, em2), add these ipfw rules: ... Here's the same thing again with -g on. #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487 #1 0xc01b1783 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:316 #2 0xc01b1bdc in poweroff_wait (junk=0xc032b319, howto=-1070420497) at /usr/src/sys/kern/kern_shutdown.c:595 #3 0xc02cb508 in trap_fatal (frame=0xff807c84, eva=48) at /usr/src/sys/i386/i386/trap.c:974 #4 0xc02cb199 in trap_pfault (frame=0xff807c84, usermode=0, eva=48) at /usr/src/sys/i386/i386/trap.c:867 #5 0xc02cad37 in trap (frame={tf_fs = 1714618392, tf_es = -8388592, tf_ds = -935985136, tf_edi = 0, tf_esi = -935921920, tf_ebp = -8356660, tf_isp = -8356688, tf_ebx = -1070251844, tf_edx = 1744882756, tf_ecx = -424745920, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071223279, tf_cs = 8, tf_eflags = 66054, tf_esp = -935921920, tf_ss = -935921920}) at /usr/src/sys/i386/i386/trap.c:466 #6 0xc0266e11 in acquire_lock (lk=0xc03540bc) at machine/globals.h:114 #7 0xc026af24 in softdep_update_inodeblock (ip=0xc836f700, bp=0xd49e0184, waitfor=0) at /usr/src/sys/ufs/ffs/ffs_softdep.c:3813 #8 0xc0265f45 in ffs_update (vp=0xe6aee440, waitfor=0) at /usr/src/sys/ufs/ffs/ffs_inode.c:106 #9 0xc026e357 in ffs_sync (mp=0xc82af600, waitfor=2, cred=0xc2066700, p=0xc0382120) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1025 #10 0xc01e29bf in sync (p=0xc0382120, uap=0x0) at /usr/src/sys/kern/vfs_syscalls.c:576 #11 0xc01b151e in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:235 #12 0xc01b1bdc in poweroff_wait (junk=0xc032b319, howto=-1070420497) at /usr/src/sys/kern/kern_shutdown.c:595 #13 0xc02cb508 in trap_fatal (frame=0xff807e74, eva=1073741831) at /usr/src/sys/i386/i386/trap.c:974 #14 0xc02cb199 in trap_pfault (frame=0xff807e74, usermode=0, eva=1073741831) at /usr/src/sys/i386/i386/trap.c:867 #15 0xc02cad37 in trap (frame={tf_fs = -935985128, tf_es = -8388592, tf_ds = -1071644656, tf_edi = -1039546112, tf_esi = -1039546112, tf_ebp = -8356132, tf_isp = -8356192, tf_ebx = 1073741823, tf_edx = 1073741823, tf_ecx = -935640092, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071626907, tf_cs = 8, tf_eflags = 66054, tf_esp = 24, tf_ss = -1039697888}) at /usr/src/sys/i386/i386/trap.c:466 #16 0xc0204565 in dummynet_io (m=0xc209c900, pipe_nr=1, dir=2, fwa=0xff807f34) at /usr/src/sys/netinet/ip_dummynet.c:1103 #17 0xc020991c in ip_input (m=0xc209c900) at /usr/src/sys/netinet/ip_input.c:459 #18 0xc0209ec7 in ipintr () at /usr/src/sys/netinet/ip_input.c:843 #19 0xc02bca91 in swi_net_next () (kgdb) l 1098 * this is a dummynet rule, so we expect a O_PIPE or O_QUEUE rule 1099 */ 1100 fs = locate_flowset(pipe_nr, fwa->rule); 1101 if (fs == NULL) 1102 goto dropit ; /* this queue/pipe does not exist! */ 1103 pipe = fs->pipe ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1104 if (pipe == NULL) { /* must be a queue, try find a matching pipe */ 1105 for (pipe = all_pipes; pipe && pipe->pipe_nr != fs->parent_nr; 1106 pipe = pipe->next) 1107 ; (kgdb) p fs $1 = (struct dn_flow_set *) 0x3fffffff <<<<<<<< ILLEGAL VALUE (kgdb) p pipe_nr $6 = 1714618368 (kgdb) p/x pipe_nr $7 = 0x66330000 (kgdb) p/x fwa $8 = 0xff807f34 (kgdb) p/x fwa->rule $9 = 0xc83b43c0 (kgdb) p/x *fwa->rule $10 = {next = 0xc83c2900, next_rule = 0x0, act_ofs = 0x0, cmd_len = 0x4, rulenum = 0x154, set = 0x0, _pad = 0x0, pcnt = 0x1, bcnt = 0x20, timestamp = 0x3db60b9b, cmd = {{opcode = 0x29, len = 0x2, arg1 = 0x0}}} (kgdb) --don (don@sandvine.com www.sandvine.com) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message