Bug 46831

Summary: vr NIC crashes machine on ifconfig (maybe miibus)
Product: Base System Reporter: Volker Stolz <vs>
Component: alphaAssignee: freebsd-alpha (Nobody) <alpha>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.7-STABLE   
Hardware: Any   
OS: Any   

Description Volker Stolz 2003-01-07 16:30:04 UTC
The following NIC crashes the system on invoking "ifconfig vr0" after producing
two lines of output (after MAC):

vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0x10000-0x100ff mem 0x81050000-0x810500ff irq 9 at device 12.0 on pci0
vr0: interrupting at ISA irq 9
vr0: Ethernet address: 00:05:5d:5f:55:d3
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  no media present
...
fatal kernel trap:

    trap entry = 0x2 (memory management fault)
    a0         = 0x10
    a1         = 0x1
    a2         = 0x0
    pc         = 0xfffffc00006aaa18
    ra         = 0xfffffc000036f384
    curproc    = 0xfffffe0003992980
        pid = 336, comm = ifconfig

panic: trap

(kgdb) where
#0  0xfffffc00003a9b00 in dumpsys () at /usr/src/sys/kern/kern_shutdown.c:486
#1  0xfffffc00003a9648 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316
#2  0xfffffc00003a9ef0 in panic (fmt=0xfffffc00005b4c9c "trap") at /usr/src/sys/kern/kern_shutdown.c:595
#3  0xfffffc000055663c in trap (a0=16, a1=1, a2=18446741874755137120, entry=0, framep=0xfffffe000470bb10)
    at /usr/src/sys/alpha/alpha/trap.c:551
#4  0xfffffc00005482dc in XentMM ()
#5  0xfffffc000036f384 in mii_pollstat (mii=0xfffffe000045f380) at /usr/src/sys/dev/mii/mii.c:328
warning: Hit heuristic-fence-post without finding
warning: enclosing function for address 0x4
(kgdb) up 5
warning: Hit heuristic-fence-post without finding
warning: enclosing function for address 0x4
#5  0xfffffc000036f384 in mii_pollstat (mii=0xfffffe000045f380) at /usr/src/sys/dev/mii/mii.c:328
328                     (void) (*child->mii_service)(child, mii, MII_POLLSTAT);
(kgdb) list
323             mii->mii_media_status = 0;
324             mii->mii_media_active = IFM_NONE;
325     
326             for (child = LIST_FIRST(&mii->mii_phys); child != NULL;
327                  child = LIST_NEXT(child, mii_list))
328                     (void) (*child->mii_service)(child, mii, MII_POLLSTAT);
329     }
(kgdb) print child
$3 = (struct mii_softc *) 0xfffffe000045f380
(kgdb) print child->mii_service
$4 = 0xfffffc00006aa9c0

I'll extract more information if somebody wants to walk through it
(or I put up the files somewhere).

How-To-Repeat: 100% reproducible on this machine, no trouble in 4.6-STABLE.
ifconfig vr0
Comment 1 Volker Stolz 2003-01-08 08:32:03 UTC
Ouch, looks like I hit an incarnation of kern/32570
(miibus compiled into kernel for if_de but the module is
additionally loaded on boot as a dependency for if_vr.ko)

After compiling both de & vr into the kernel, the problem
goes away.
-- 
"Gemischte Materialien // Früher: Restmüll"
Aufschrift auf einem Container, Informatik-Parkplatz
http://lambda.foldr.org/~vs/ * PGP * S/MIME
Comment 2 Oliver Braun freebsd_committer freebsd_triage 2003-01-18 09:12:38 UTC
State Changed
From-To: open->closed

Closed at originators request.