From owner-freebsd-bugs@FreeBSD.ORG Fri Jun 18 09:20:10 2010 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26C77106567F for ; Fri, 18 Jun 2010 09:20:07 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id BDCBD8FC26 for ; Fri, 18 Jun 2010 09:20:07 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o5I9K7tY080357 for ; Fri, 18 Jun 2010 09:20:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o5I9K7OM080356; Fri, 18 Jun 2010 09:20:07 GMT (envelope-from gnats) Resent-Date: Fri, 18 Jun 2010 09:20:07 GMT Resent-Message-Id: <201006180920.o5I9K7OM080356@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Vladimir Nikolic Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B2381065673 for ; Fri, 18 Jun 2010 09:16:50 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 394048FC21 for ; Fri, 18 Jun 2010 09:16:50 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o5I9GnSX010077 for ; Fri, 18 Jun 2010 09:16:49 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o5I9Gnhg010076; Fri, 18 Jun 2010 09:16:49 GMT (envelope-from nobody) Message-Id: <201006180916.o5I9Gnhg010076@www.freebsd.org> Date: Fri, 18 Jun 2010 09:16:49 GMT From: Vladimir Nikolic To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/147961: crash when forwarding enabled between two Broadcom cards on gigabit ports X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2010 09:20:10 -0000 >Number: 147961 >Category: misc >Synopsis: crash when forwarding enabled between two Broadcom cards on gigabit ports >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jun 18 09:20:07 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Vladimir Nikolic >Release: 7.3 >Organization: Amis d.o.o. >Environment: FreeBSD api.amis.net 7.3-RELEASE FreeBSD 7.3-RELEASE #0: Thu Mar 25 09:07:15 CET 2010 root@api.amis.net:/usr/obj/usr/src/sys/SMP-AMIS i386 >Description: FreeBSD 7.3 (same was with 7.1) crash when either one of two Broadcom NetXtreme II Gigabit Ethernet Adapter (BCM5708) card (server is HP DL 360 G5) is connected on Cisco switch 1 gbe port. This happens only if forwarding is enabled between cards (gateway_enable="YES") and pf is enabled (with rdr and nat). It happened in 1-10 seconds, traffic rate is not important. We have same servers with same OS but without enabled forwarding between interfaces and there is no crashes. If switch ports are fixed on 100 Mb/s ('speed 100'), server is working without crash, traffic could be very high (90Mb/s). >How-To-Repeat: Enabling autonagotiation na cisco switch port ('no auto 100'). >Fix: Patch attached with submission follows: api:/var/crash# kgdb /boot/kernel/kernel.symbols vmcore.6 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 cpuid = 1; apic id = 01 fault virtual address = 0x17741810 fault code = supervisor read, page not present instruction pointer = 0x20:0xc05e1396 stack pointer = 0x28:0xea7b7af0 frame pointer = 0x28:0xea7b7af0 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 = 13636 (snmpd) trap number = 12 panic: page fault cpuid = 1 Uptime: 4d15h17m39s Physical memory: 1013 MB Dumping 220 MB: 205 189 173 157 141 125 109 93 77 61 45 29 13 Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done. done. Loaded symbols for /boot/kernel/acpi.ko Reading symbols from /boot/kernel/nfsserver.ko...Reading symbols from /boot/kernel/nfsserver.ko.symbols...done. done. Loaded symbols for /boot/kernel/nfsserver.ko Reading symbols from /boot/kernel/ng_socket.ko...Reading symbols from /boot/kernel/ng_socket.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_socket.ko Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from /boot/kernel/netgraph.ko.symbols...done. done. Loaded symbols for /boot/kernel/netgraph.ko Reading symbols from /boot/kernel/ng_mppc.ko...Reading symbols from /boot/kernel/ng_mppc.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_mppc.ko Reading symbols from /boot/kernel/rc4.ko...Reading symbols from /boot/kernel/rc4.ko.symbols...done. done. Loaded symbols for /boot/kernel/rc4.ko Reading symbols from /boot/kernel/smbfs.ko...Reading symbols from /boot/kernel/smbfs.ko.symbols...done. done. Loaded symbols for /boot/kernel/smbfs.ko Reading symbols from /boot/kernel/libiconv.ko...Reading symbols from /boot/kernel/libiconv.ko.symbols...done. done. Loaded symbols for /boot/kernel/libiconv.ko Reading symbols from /boot/kernel/libmchain.ko...Reading symbols from /boot/kernel/libmchain.ko.symbols...done. done. Loaded symbols for /boot/kernel/libmchain.ko Reading symbols from /boot/kernel/ng_tee.ko...Reading symbols from /boot/kernel/ng_tee.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_tee.ko Reading symbols from /boot/kernel/ng_pptpgre.ko...Reading symbols from /boot/kernel/ng_pptpgre.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_pptpgre.ko Reading symbols from /boot/kernel/ng_ksocket.ko...Reading symbols from /boot/kernel/ng_ksocket.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_ksocket.ko Reading symbols from /boot/kernel/ng_iface.ko...Reading symbols from /boot/kernel/ng_iface.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_iface.ko Reading symbols from /boot/kernel/ng_ppp.ko...Reading symbols from /boot/kernel/ng_ppp.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_ppp.ko Reading symbols from /boot/kernel/ng_tcpmss.ko...Reading symbols from /boot/kernel/ng_tcpmss.ko.symbols...done. done. Loaded symbols for /boot/kernel/ng_tcpmss.ko #0 doadump () at pcpu.h:196 196 pcpu.h: No such file or directory. in pcpu.h (kgdb) backtrace #0 doadump () at pcpu.h:196 #1 0xc05f1097 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418 #2 0xc05f1369 in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:574 #3 0xc07bd95c in trap_fatal (frame=0xea7b7ab0, eva=393484304) at /usr/src/sys/i386/i386/trap.c:950 #4 0xc07bdbc0 in trap_pfault (frame=0xea7b7ab0, usermode=0, eva=393484304) at /usr/src/sys/i386/i386/trap.c:863 #5 0xc07be569 in trap (frame=0xea7b7ab0) at /usr/src/sys/i386/i386/trap.c:541 #6 0xc07a1c8b in calltrap () at /usr/src/sys/i386/i386/exception.s:166 #7 0xc05e1396 in _mtx_trylock (m=0x17741800, opts=0, file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:260 #8 0xc076fa50 in vmtotal (oidp=0xc0897160, arg1=0x0, arg2=48, req=0xea7b7ba4) at /usr/src/sys/vm/vm_meter.c:115 #9 0xc05fb0f7 in sysctl_root (oidp=Variable "oidp" is not available. ) at /usr/src/sys/kern/kern_sysctl.c:1419 #10 0xc05fc3f4 in userland_sysctl (td=0xc7a906c0, name=0xea7b7c14, namelen=2, old=0xbfbfe664, oldlenp=0xbfbfe748, inkernel=0, new=0x0, newlen=0, retval=0xea7b7c10, flags=0) at /usr/src/sys/kern/kern_sysctl.c:1522 #11 0xc05fc584 in __sysctl (td=0xc7a906c0, uap=0xea7b7cfc) at /usr/src/sys/kern/kern_sysctl.c:1449 #12 0xc07bdf15 in syscall (frame=0xea7b7d38) at /usr/src/sys/i386/i386/trap.c:1101 #13 0xc07a1cf0 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:262 #14 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) # Kernel config machine i386 cpu I686_CPU makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols ident SMP-AMIS options SMP options SCHED_ULE # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options MD_ROOT # MD is a potential root device options GEOM_PART_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options ADAPTIVE_GIANT # Giant mutex is adaptive. options AUDIT # Security event auditing options QUOTA options ALTQ options ALTQ_CBQ options ALTQ_RED options ALTQ_RIO options ALTQ_HFSC options ALTQ_CDNR options ALTQ_PRIQ options DEVICE_POLLING options HZ=1000 options INCLUDE_CONFIG_FILE options SW_WATCHDOG device apic # I/O APIC device eisa device pci device fdc device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID # Static device numbering device ahc # AHA2940 and onboard AIC7xxx devices device mpt # LSI-Logic MPT-Fusion device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) device ciss # Compaq Smart RAID 5* device mly # Mylex AcceleRAID/eXtremeRAID device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device kbdmux # keyboard multiplexer device vga # VGA video card driver device sc device agp # support several AGP chipsets device pmtimer device sio # 8250, 16[45]50 based serial ports device em # Intel PRO/1000 adapter Gigabit Ethernet Card device igb # Intel PRO/1000 PCIE Server Gigabit Family device miibus # MII bus support device bge # Broadcom BCM570xx Gigabit Ethernet device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet device fxp # Intel EtherExpress PRO/100B (82557, 82558) device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device le # Podpora za VmWare ESX 3.0 device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards - KVM device wb # Winbond W89C840F device loop # Network loopback device random # Entropy device device ether # Ethernet support device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device bpf # Berkeley packet filter device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) device ukbd # Keyboard device ums # Mouse device pf device pflog device pfsync device carp options IPSEC #IP security device crypto options IPSEC_DEBUG #debug for IP security >Release-Note: >Audit-Trail: >Unformatted: