The following reply was made to PR kern/106534; it has been noted by GNATS.

From: Oleg Bulyzhin <[EMAIL PROTECTED]>
To: Olexandr Davydenko <[EMAIL PROTECTED]>
Cc: [email protected]
Subject: Re: kern/106534: [ipfw] [panic] ipfw + dummynet
Date: Wed, 17 Jan 2007 02:00:39 +0300

 On Mon, Jan 15, 2007 at 12:40:23PM +0000, Olexandr Davydenko wrote:
 > The following reply was made to PR kern/106534; it has been noted by GNATS.
 > 
 > From: Olexandr Davydenko <[EMAIL PROTECTED]>
 > To: [EMAIL PROTECTED]
 > Cc:  
 > Subject: Re: kern/106534: [ipfw] [panic] ipfw + dummynet
 > Date: Mon, 15 Jan 2007 14:20:22 +0200
 > 
 >  Similar problem with ipfw + dummynet and 132 pipes for traffic shaping:
 >  sometimes panic when trafshow run and put interface in promiscuous
 >  mode or in any another time.
 >  
 >  FreeBSD 6.1-RELEASE-p10 #1: Wed Oct  4 12:46:05 EEST 2006
 >  [EMAIL PROTECTED]:/server/OBJ/server/SRC/RELENG_6_1/sys/xxx
 >  
 >  # ifconfig
 >  fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 >          options=48<VLAN_MTU,POLLING>
 >          ether 00:90:27:10:33:b4
 >          media: Ethernet autoselect (100baseTX <full-duplex>)
 >          status: active
 >  fxp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 >          options=48<VLAN_MTU,POLLING>
 >          ether 00:30:48:22:58:79
 >          media: Ethernet 100baseTX <full-duplex>
 >          status: active
 >  fxp2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 >          options=48<VLAN_MTU,POLLING>
 >          ether 00:30:48:22:58:7a
 >          media: Ethernet autoselect (100baseTX <full-duplex>)
 >          status: active
 >  lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
 >          inet 127.0.0.1 netmask 0xff000000 
 >  
 >  kgdb output:
 >  GNU gdb 6.1.1 [FreeBSD]
 >  Copyright 2004 Free Software Foundation, Inc.
 >  GDB is free software, covered by the GNU General Public License, and you are
 >  welcome to change it and/or distribute copies of it under certain 
 > conditions.
 >  Type "show copying" to see the conditions.
 >  There is absolutely no warranty for GDB.  Type "show warranty" for details.
 >  This GDB was configured as "i386-marcel-freebsd".
 >  
 >  Unread portion of the kernel message buffer:
 >  
 >  
 >  Fatal trap 12: page fault while in kernel mode
 >  fault virtual address       = 0xc
 >  fault code          = supervisor read, page not present
 >  instruction pointer = 0x20:0xc0516ffb
 >  stack pointer               = 0x28:0xcbd36b60
 >  frame pointer               = 0x28:0xcbd36b84
 >  code segment                = base 0x0, limit 0xfffff, type 0x1b
 >                      = DPL 0, pres 1, def32 1, gran 1
 >  processor eflags    = interrupt enabled, resume, IOPL = 0
 >  current process             = 12 (swi4: clock sio)
 >  trap number         = 12
 >  panic: page fault
 >  Uptime: 29d17h3m30s
 >  Dumping 254 MB (2 chunks)
 >    chunk 0: 1MB (159 pages) ... ok
 >    chunk 1: 254MB (65024 pages) 239 223 207 191 175 159 143 127 111 95 79 63 
 > 47 31 15
 >  
 >  #0  doadump () at pcpu.h:165
 >      in pcpu.h
 >  (kgdb) bt
 >  #0  doadump () at pcpu.h:165
 >  #1  0xc04e1b65 in boot (howto=260) at 
 > /server/SRC/RELENG_6_1/sys/kern/kern_shutdown.c:402
 >  #2  0xc04e1dfc in panic (fmt=0xc063e3b0 "%s") at 
 > /server/SRC/RELENG_6_1/sys/kern/kern_shutdown.c:558
 >  #3  0xc06254fc in trap_fatal (frame=0xcbd36b20, eva=12) at 
 > /server/SRC/RELENG_6_1/sys/i386/i386/trap.c:836
 >  #4  0xc0625263 in trap_pfault (frame=0xcbd36b20, usermode=0, eva=12)
 >      at /server/SRC/RELENG_6_1/sys/i386/i386/trap.c:744
 >  #5  0xc0624ec1 in trap (frame=
 >        {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1014294700, tf_esi = 
 > 320, tf_ebp = -875336828, tf_isp = -875336884, tf_ebx = -1014294784, tf_edx 
 > = 0, tf_ecx = -1026586592, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = 
 > -1068404741, tf_cs = 32, tf_eflags = 590338, tf_esp = 0, tf_ss = -875336824})
 >      at /server/SRC/RELENG_6_1/sys/i386/i386/trap.c:434
 >  #6  0xc06153ba in calltrap () at 
 > /server/SRC/RELENG_6_1/sys/i386/i386/exception.s:139
 >  #7  0xc0516ffb in m_copym (m=0x0, off0=1500, len=1480, wait=1)
 >      at /server/SRC/RELENG_6_1/sys/kern/uipc_mbuf.c:400
 >  #8  0xc056bff8 in ip_fragment (ip=0xc2cf8820, m_frag=0xcbd36c3c, 
 > mtu=-1014294784, if_hwassist_flags=0, 
 >      sw_csum=1) at /server/SRC/RELENG_6_1/sys/netinet/ip_output.c:975
 >  #9  0xc056bc9e in ip_output (m=0xc33a1c00, opt=0xc1d8e000, ro=0xcbd36c08, 
 > flags=1, imo=0x0, inp=0x0)
 >      at /server/SRC/RELENG_6_1/sys/netinet/ip_output.c:804
 >  #10 0xc055ef71 in dummynet_send (m=0xc33a1c00) at 
 > /server/SRC/RELENG_6_1/sys/netinet/ip_dummynet.c:771
 >  #11 0xc055ef04 in dummynet (unused=0x0) at 
 > /server/SRC/RELENG_6_1/sys/netinet/ip_dummynet.c:753
 >  #12 0xc04edc97 in softclock (dummy=0x0) at 
 > /server/SRC/RELENG_6_1/sys/kern/kern_timeout.c:290
 >  #13 0xc04cc391 in ithread_execute_handlers (p=0xc1d97830, ie=0xc1d95600)
 >      at /server/SRC/RELENG_6_1/sys/kern/kern_intr.c:684
 >  #14 0xc04cc4a8 in ithread_loop (arg=0xc1d83780) at 
 > /server/SRC/RELENG_6_1/sys/kern/kern_intr.c:767
 >  #15 0xc04cb300 in fork_exit (callout=0xc04cc454 <ithread_loop>, 
 > arg=0xc1d83780, frame=0xcbd36d38)
 >      at /server/SRC/RELENG_6_1/sys/kern/kern_fork.c:805
 >  #16 0xc061541c in fork_trampoline () at 
 > /server/SRC/RELENG_6_1/sys/i386/i386/exception.s:208
 >  (kgdb) up 7
 >  #7  0xc0516ffb in m_copym (m=0x0, off0=1500, len=1480, wait=1)
 >      at /server/SRC/RELENG_6_1/sys/kern/uipc_mbuf.c:400
 >  400                 if (off < m->m_len)
 >  (kgdb) list
 >  395         MBUF_CHECKSLEEP(wait);
 >  396         if (off == 0 && m->m_flags & M_PKTHDR)
 >  397                 copyhdr = 1;
 >  398         while (off > 0) {
 >  399                 KASSERT(m != NULL, ("m_copym, offset > size of mbuf 
 > chain"));
 >  400                 if (off < m->m_len)
 >  401                         break;
 >  402                 off -= m->m_len;
 >  403                 m = m->m_next;
 >  404         }
 >  (kgdb) quit
 >  
 >  
 >  
 >  -- 
 >  WBR,
 >      Davidenko Alexandr
 > _______________________________________________
 > [email protected] mailing list
 > http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
 > To unsubscribe, send any mail to "[EMAIL PROTECTED]"
 
 As i can see kernel dies trying to fit packet into interface with negative mtu.
 Would be fine to dump ro->ro_rt->rt_ifp structure. (Do some 'up' commands until
 you are in ip_output, then print  ro->ro_rt->rt_ifp).
 
 -- 
 Oleg.
 
 ================================================================
 === Oleg Bulyzhin -- OBUL-RIPN -- OBUL-RIPE -- [EMAIL PROTECTED] ===
 ================================================================
 
 _______________________________________________
 [email protected] mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
 To unsubscribe, send any mail to "[EMAIL PROTECTED]"
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to