Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jan 2004 19:01:16 -0800 (PST)
From:      Jim Small <jim.small@eds.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   sparc64/62053: Using bridging on 5.2 Sparc64 causes immediate panic
Message-ID:  <200401290301.i0T31Go3053484@www.freebsd.org>
Resent-Message-ID: <200401290310.i0T3A8ZR094407@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         62053
>Category:       sparc64
>Synopsis:       Using bridging on 5.2 Sparc64 causes immediate panic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-sparc64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 28 19:10:07 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Jim Small
>Release:        5.2 Release Sparc64
>Organization:
>Environment:
FreeBSD test60 5.2-RELEASE FreeBSD 5.2-RELEASE #0: Wed Jan 28 14:59:57 EST 2004     root@test60:/usr/obj/usr/src/sys/MYKERN  sparc64

>Description:
      I am interested in using FreeBSD 5.2 on an Ultra 60 with a PCI qfe card.  I want to use the bridging and dummynet functionality.

I installed FreeBSD 5.2 and added options BRIDGE to a custom kernel conf file and rebuilt/installed the kernel (necessary to use bridging).

I then reboot and do the following:
test60# sysctl -w net.link.ether.bridge.enable=1
net.link.ether.bridge.enable: 0 -> 1
test60# ifconfig hme1 up
test60# ifconfig -a
hme0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.234.208 netmask 0xffffff00 broadcast 192.168.234.255
        inet6 fe80::a00:20ff:fe9a:e692%hme0 prefixlen 64 scopeid 0x1 
        ether 08:00:20:9a:e6:92
        media: Ethernet autoselect (100baseTX)
        status: active
hme1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::a00:20ff:fe9a:e692%hme1 prefixlen 64 scopeid 0x2 
        ether 08:00:20:9a:e6:92
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
(rest cut...)
test60# sysctl -w net.link.ether.bridge.config=hme0,hme1
net.link.ether.bridge.config:  -> hme0,hme1


Consistently within a few seconds I see the following while watching on Serial Port A:
FreeBSD/sparc64 (test60) (ttya)

login: Jan 28 15:28:58 test60 kernel: hme0: promiscuous mode enabled
Jan 28 15:28:58 test60 kernel: hme1: promiscuous mode enabled
panic: trap: memory address not aligned
cpuid = 0; 

syncing disks, buffers remaining... 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 563 
giving up on 455 buffers

Backtrace:
test60# ./gdb53 -k kernel.debug vmcore.0
GNU gdb 5.3 (FreeBSD)
Copyright 2002 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 "sparc64-portbld-freebsd5.2"...
panic: trap: memory address not aligned
panic messages:
---
panic: trap: memory address not aligned
cpuid = 0; 

syncing disks, buffers remaining... 4103 4103 4096 4096 4091 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 4090 
giving up on 3987 buffers
Uptime: 2m23s
Dumping 2048 MB (4 chunks)
  chunk at 0: 536870912 bytes |\^H/\^H
---
#0  0x00000000c0139b08 in doadump () at ../../../kern/kern_shutdown.c:239
239             savectx(&dumppcb);
(kgdb) where
#0  0x00000000c0139b08 in doadump () at ../../../kern/kern_shutdown.c:239
#1  0x00000000c013a124 in boot (howto=256) at ../../../kern/kern_shutdown.c:370
#2  0x00000000c013a54c in panic (fmt=0xc0341790 "trap: %s") at ../../../kern/kern_shutdown.c:548
#3  0x00000000c02939e0 in trap (tf=0xeeb891a0) at ../../../sparc64/sparc64/trap.c:364
#4  0x00000000c01b8c34 in igmp_input (m=0xfffff80000c19bc0, off=0) at ../../../netinet/igmp.c:224
#5  0x00000000c01b8bbc in igmp_input (m=0xc081c500, off=20) at ../../../netinet/igmp.c:202
#6  0x00000000c01c17c0 in ip_input (m=0xc081c500) at ../../../netinet/ip_input.c:983
#7  0x00000000c01aefbc in netisr_processqueue (ni=0xc039b7b0) at ../../../net/netisr.c:152
#8  0x00000000c01af4a0 in swi_net (dummy=0x0) at ../../../net/netisr.c:255
#9  0x00000000c0128a7c in ithread_loop (arg=0xfffff8000082b200) at ../../../kern/kern_intr.c:544
#10 0x00000000c0127a7c in fork_exit (callout=0xc0128900 <ithread_loop>, arg=0xfffff8000082b200, frame=0xeeb89880)
    at ../../../kern/kern_fork.c:793
(kgdb) up 4
#4  0x00000000c01b8c34 in igmp_input (m=0xfffff80000c19bc0, off=0) at ../../../netinet/igmp.c:224
224                     if (igmp->igmp_code == 0) {
(kgdb) p igmp
$1 = (struct igmp *) 0xc01b8c8c
(kgdb) p *igmp
$2 = {igmp_type = 128 '\200', igmp_code = 160 ' ', igmp_cksum = 40960, igmp_group = {s_addr = 38273038}}
(kgdb) p igmp->igmp_code
$3 = 160 ' '
(kgdb)


>How-To-Repeat:
      Enable bridging in Kernel by adding options BRIDGE to kernel conf and rebuilding.  Reboot.  sysctl -w net.link.ether.bridge.enable=1;  ifconfig hme1 up (2nd NIC up and running);  sysctl -w net.link.ether.bridge.config=hme0,hme1 (bridging between NICs);  Will see panic in a few seconds
>Fix:
      
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401290301.i0T31Go3053484>