Subject: Re: weird panic with wm(4) on alpha using i82542 card (possibly caused by bge(4) breakage)
To: NetBSD Networking Technical Discussion List <tech-net@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-net
Date: 11/18/2004 16:38:11
[ On Thursday, November 18, 2004 at 14:40:09 (-0500), Greg A. Woods wrote: ]
> Subject: weird panic with wm(4) on alpha using i82542 card
>
> I just had a weird panic with wm(4) on the Alpha using an i82542 card.
> 
> wm0 at pci1 dev 1 function 0: Intel i82542 1000BASE-X Ethernet, rev. 3
> wm0: interrupting at dec 6600 irq 24
> wm0: Ethernet address 00:d0:b7:82:33:b0
> wm0: 1000baseSX, 1000baseSX-FDX, auto
> 
> I had done all this virtually the same yesterday and it worked fine, but
> this time it went BOOM!

Same panic with a really -current kernel, but I now believe it may have
something to do with the bge(4) driver (which I'm also trying to debug)
having a catastrophic effect on the rest of the kernel whenever I try to
use it.  The wm0 device works fine so long as I never ifconfig bge0.

[console]<@> # ifconfig bge0 down
[console]<@> # ifconfig wm0
wm0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        address: 00:d0:b7:82:33:b0
        media: Ethernet autoselect (none)
        status: no carrier
[console]<@> # ifconfig wm0 inet 205.207.148.230 up
wm0: unable to load rx DMA map 0, error = 35
panic: wm_add_rxbuf
Stopped in pid 49.1 (ifconfig) at       netbsd:cpu_Debugger+0x4:        ret     z
ero,(ra)
db> where
No such command
db> trace
cpu_Debugger() at netbsd:cpu_Debugger+0x4
panic() at netbsd:panic+0x1f8
wm_add_rxbuf() at netbsd:wm_add_rxbuf+0x4dc
wm_init() at netbsd:wm_init+0x490
ether_ioctl() at netbsd:ether_ioctl+0xac
wm_ioctl() at netbsd:wm_ioctl+0x90
ifioctl() at netbsd:ifioctl+0x434
soo_ioctl() at netbsd:soo_ioctl+0xf8
sys_ioctl() at netbsd:sys_ioctl+0x12c
syscall_plain() at netbsd:syscall_plain+0xc4
XentSys() at netbsd:XentSys+0x5c
--- syscall (54) ---
--- user mode ---
db> reboot
syncing disks... done

CPU 0: fatal kernel trap:

CPU 0    trap entry = 0x2 (memory management fault)
CPU 0    a0         = 0x70
CPU 0    a1         = 0x1
CPU 0    a2         = 0x0
CPU 0    pc         = 0xfffffc0000552594
CPU 0    ra         = 0xfffffc00005526f8
CPU 0    pv         = 0xfffffc00005756c0
CPU 0    curlwp    = 0xfffffc03f72e2b40
CPU 0        pid = 49, comm = ifconfig

panic: trap
Stopped in pid 49.1 (ifconfig) at       netbsd:cpu_Debugger+0x4:        ret     z
ero,(ra)
db> reboot
          rebooting...


halted CPU 0

halt code = 5
HALT instruction executed
PC = fffffc0000300118

CPU 0 booting

resetting all I/O buses


at least -current didn't go into a panic loop, though that's probably
only because it has ddb.onpanic=1 where my other kernel didn't.....

-- 
						Greg A. Woods

+1 416 218-0098                  VE3TCP            RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>