>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     [email protected]:/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:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to