Hello! I recompiled recent RELENG_7 and I get the following panic after trying to kldload if_nve (interesting stack frames are 12, 13, 14 I guess). Previous version of RELENG_7 (compiled in the middle of December) worked fine. Last few days I was trying to re-cvsup and always get the same panic. I get FreeBSD sources via cvsup (cvsup5.freebsd.org). Any suggestions? Thanks in advance! nve0: <NVIDIA nForce 430 MCP13 Networking Adapter> port 0xc800-0xc807 mem 0xfe02b000-0xfe02bfff irq 22 at device 20.0 on pci0 nve0: Ethernet address 00:18:f3:f4:73:1c miibus0: <MII bus> on nve0 e1000phy0: <Marvell 88E1116 Gigabit PHY> PHY 1 on miibus0 Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x0 fault code = supervisor read data, page not present instruction pointer = 0x8:0xffffffff803259cd stack pointer = 0x10:0xffffff80210ed3e0 frame pointer = 0x10:0xffffff80210ed3f0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 845 (kldload) panic: from debugger cpuid = 0 KDB: stack backtrace: Uptime: 33s (kgdb) bt #0 doadump () at pcpu.h:195 #1 0xffffffff8028b1d8 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418 #2 0xffffffff8028b63c in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:574 #3 0xffffffff80183567 in db_panic (addr=Variable "addr" is not available. ) at /usr/src/sys/ddb/db_command.c:446 #4 0xffffffff80183bcf in db_command (last_cmdp=0xffffffff806414e8, cmd_table=0x0, dopager=1) at /usr/src/sys/ddb/db_command.c:413 #5 0xffffffff80183de0 in db_command_loop () at /usr/src/sys/ddb/db_command.c:466 #6 0xffffffff801859c9 in db_trap (type=Variable "type" is not available. ) at /usr/src/sys/ddb/db_main.c:228 #7 0xffffffff802bb235 in kdb_trap (type=12, code=0, tf=0xffffff80210ed330) at /usr/src/sys/kern/subr_kdb.c:524 #8 0xffffffff8044a3f0 in trap_fatal (frame=0xffffff80210ed330, eva=Variable "eva" is not available. ) at /usr/src/sys/amd64/amd64/trap.c:772 9 0xffffffff8044a7c4 in trap_pfault (frame=0xffffff80210ed330, usermode=0) at /usr/src/sys/amd64/amd64/trap.c:693 #10 0xffffffff8044b0da in trap (frame=0xffffff80210ed330) at /usr/src/sys/amd64/amd64/trap.c:464 #11 0xffffffff804335fe in calltrap () at /usr/src/sys/amd64/amd64/exception.S:218 #12 0xffffffff803259cd in strcmp (s1=0x0, s2=0xffffffff80496f30 "msk") at /usr/src/sys/libkern/strcmp.c:45 #13 0xffffffff801caa3d in e1000phy_attach (dev=0xffffff0001532900) at /usr/src/sys/dev/mii/e1000phy.c:153 #14 0xffffffff802b54e9 in device_attach (dev=0xffffff0001532900) at device_if.h:178 #15 0xffffffff802b6bca in bus_generic_attach (dev=Variable "dev" is not available. ) at /usr/src/sys/kern/subr_bus.c:2923 #16 0xffffffff801ce1ee in miibus_attach (dev=0xffffff00016a6900) at /usr/src/sys/dev/mii/mii.c:186 #17 0xffffffff802b54e9 in device_attach (dev=0xffffff00016a6900) at device_if.h:178 #18 0xffffffff802b6bca in bus_generic_attach (dev=Variable "dev" is not available. ) at /usr/src/sys/kern/subr_bus.c:2923
W dniu 2010-01-26 10:29, Dmitry Sivachenko pisze:> Hello! > > I recompiled recent RELENG_7 and I get the following panic after > trying to kldload if_nve (interesting stack frames are 12, 13, 14 I guess). > Previous version of RELENG_7 (compiled in the middle of December) > worked fine. Last few days I was trying to re-cvsup and always get the > same panic. I get FreeBSD sources via cvsup (cvsup5.freebsd.org). > > Any suggestions? > >As well as I know nve driver is based on nvidia binaries (and it's buggy), and that's way it was replaced by nfe driver as default for nvidia based NICs as soon as it was ported from OpenBSD. So my suggestion - if you just need NIC working, use nfe not nve. -- Bartosz Stec
On Tuesday 26 January 2010 4:29:05 am Dmitry Sivachenko wrote:> Hello! > > I recompiled recent RELENG_7 and I get the following panic after > trying to kldload if_nve (interesting stack frames are 12, 13, 14 I guess). > Previous version of RELENG_7 (compiled in the middle of December) > worked fine. Last few days I was trying to re-cvsup and always get the > same panic. I get FreeBSD sources via cvsup (cvsup5.freebsd.org). > > Any suggestions? > > Thanks in advance!The bug is perhaps in e1000phy in that it expects all callers to have called if_initname() before the miibus is probed. Try this patch: Index: if_nve.c ==================================================================--- if_nve.c (revision 202705) +++ if_nve.c (working copy) @@ -526,14 +526,6 @@ goto fail; } - /* Probe device for MII interface to PHY */ - DEBUGOUT(NVE_DEBUG_INIT, "nve: do mii_phy_probe\n"); - if (mii_phy_probe(dev, &sc->miibus, nve_ifmedia_upd, nve_ifmedia_sts)) { - device_printf(dev, "MII without any phy!\n"); - error = ENXIO; - goto fail; - } - /* Setup interface parameters */ ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); @@ -549,6 +541,14 @@ ifp->if_capabilities |= IFCAP_VLAN_MTU; ifp->if_capenable |= IFCAP_VLAN_MTU; + /* Probe device for MII interface to PHY */ + DEBUGOUT(NVE_DEBUG_INIT, "nve: do mii_phy_probe\n"); + if (mii_phy_probe(dev, &sc->miibus, nve_ifmedia_upd, nve_ifmedia_sts)) { + device_printf(dev, "MII without any phy!\n"); + error = ENXIO; + goto fail; + } + /* Attach to OS's managers. */ ether_ifattach(ifp, eaddr); -- John Baldwin