Subject: kern/28375: kernel panic upon pppoe reconnect
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Charlie Root <root@hydra.kaervek.net>
List: netbsd-bugs
Date: 11/21/2004 09:53:00
>Number:         28375
>Category:       kern
>Synopsis:       kernel panic upon pppoe reconnect
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 21 09:53:00 +0000 2004
>Originator:     R. Huvendiek
>Release:        NetBSD 2.99.10
>Environment:
System: NetBSD hydra.kaervek.net 2.99.10 NetBSD 2.99.10 (hydra-2x) #22: Sat Nov 20 20:00:16 CET 2004 root@hydra.kaervek.net:/usr/src/sys/arch/i386/compile/hydra-2x i386
Architecture: i386
Machine: i386
>Description:
The kernel crashes right away if I remove my d-link dub-e100 and reconnect it again :(
The d-link is connected via usb and connects to my adsl modem on the other end. When I removed it nothing bad happens. But when I try to plug it in again, netbsd will try a reconnect and crash cold then.
I tried to split the connection between the card and the adsl modem, this does work and will not crash the machine. Only splitting between the pc and the ethernet card does.

I know C and gdb, but to now virually nothing about the netbsd kernel code. So if someone can push me into the right direction I'll happily help and try/debug if you want.

This is the call stack I get

(gdb) target kcore crash/netbsd.5.core
panic: trap
#0  0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xc0512000 in ?? ()
#2  0xc02e60ad in cpu_reboot (howto=256, bootstr=0x0)
    at ../../../../arch/i386/i386/machdep.c:751
#3  0xc02693f7 in panic (fmt=0xc03a0d38 "trap")
    at ../../../../kern/subr_prf.c:242
#4  0xc02ee005 in trap (frame=0xc04a49ac)
    at ../../../../arch/i386/i386/trap.c:296
#5  0xc0102e39 in calltrap ()
#6  0xc02b8cdc in pppoe_start (ifp=0xc0a24800)
    at ../../../../net/if_pppoe.c:1413
#7  0xc02ae4e5 in sppp_output (ifp=0xc0a24800, m=0xc0b07a00, dst=0xc0b0aff0, 
    rt=0xc0ac2088) at ../../../../net/if_spppsubr.c:915
#8  0xc011765e in ip_output (m0=0xc0ab7500)
    at ../../../../netinet/ip_output.c:784
#9  0xc01166c2 in ip_forward (m=0xc0ab7500, srcrt=0)
    at ../../../../netinet/ip_input.c:1927
#10 0xc0114f76 in ip_input (m=0xc0ab7500) at ../../../../netinet/ip_input.c:873
#11 0xc0114cca in ipintr () at ../../../../netinet/ip_input.c:466
#12 0xc0102af9 in Xsoftnet ()


>How-To-Repeat:
Maybe other usb ethernet apators will work, too. Just connect it to your machine and your ethnernet modem. Dial in, unplug the ethnernet and plug it in again.
Unfortunately I can only test with this usb card. 

>Fix:

Unknown