Re: 5.3-BETA5 panics when inserting dc0 carbus card (only with ACPI enabled) enabled)

From: Adrian Steinmann <ast_at_marabu.ch>
Date: Wed, 22 Sep 2004 18:20:14 +0200
I can confirm that this has been happening on my Thinkpad T20

    hw.vpd.machine.type.0: 2647
    hw.vpd.machine.model.0: 41G
    hw.vpd.build_id.0: IYET60WW
    hw.vpd.serial.box.0: 55596R6
    hw.vpd.serial.planar.0: K106R122M6U

as well for the Netgear FA511 10/100BaseTX PC-Card:

dc0_at_pci2:0:0:   class=0x020000 card=0x511a1385 chip=0x19851317 rev=0x11 hdr=0x00
    vendor   = 'ADMtek Inc'
    device   = 'AN985 FastNIC CardBus 10/100 Fast Ethernet Adapter'
    class    = network
    subclass = ethernet

since mid June.

When I build a kernel with date 20040613, I'm ok, then for 20040615
I have this probe problem, i.e.:

    cvs -qR -d /usr/cvs co -D20040615UTC sys - bad
    cvs -qR -d /usr/cvs co -D20040613UTC sys - good

(20040614UTC doesn't build correctly for me: "undefined reference
to `tbr_dequeue'")

I can supply kernel config, vmcore, kernel.debug,and pciconf -lv
as well as full dmesg verbose if needed.

Below the analogous output Johan Karlsson <johan_at_freebsd.org> posted
for his Xircom X3201 10/100BaseTX card for 5.3-BETA5:

dc0: <Netgear FA511 10/100BaseTX> port 0-0xff mem 0x88000000-0x880003ff at device 0.0 on cardbus0
cbb alloc res fail
dc0: couldn't map ports/memory
lock order reversal
1st 0xc1e81124 dc0 (network driver) _at_ /usr/src/sys/modules/dc/../../pci/if_dc.c:2339
2nd 0xc071b004 user map (user map) _at_ /usr/src/sys/vm/vm_map.c:2997
KDB: stack backtrace:
kdb_backtrace(0,ffffffff,c07242a8,c0725810,c06f4fec) at kdb_backtrace+0x29
witness_checkorder(c071b004,9,c06ceb04,bb5) at witness_checkorder+0x544
_sx_xlock(c071b004,c06ceb04,bb5) at _sx_xlock+0x50
_vm_map_lock_read(c071afc0,c06ceb04,bb5,2000000,c15d192c) at _vm_map_lock_read+0x37
vm_map_lookup(cc75ab04,0,2,cc75ab08,cc75aaf8) at vm_map_lookup+0x28
vm_fault(c071afc0,0,2,8,c15d2640) at vm_fault+0x65
trap_pfault(cc75abcc,0,30) at trap_pfault+0xd2
trap(c0740018,c1e80010,c0720010,6,c1e80000) at trap+0x321
calltrap() at calltrap+0x5
--- trap 0xc, eip = 0xc0660ec6, esp = 0xcc75ac0c, ebp = 0xcc75ac10 ---
bus_dmamap_destroy(0,0,c15d9a80,c1e80000,cc75ac70) at bus_dmamap_destroy+0x2e
dc_detach(c1e72100,0,c1e72100,cc75ac54,0) at dc_detach+0x12e
dc_attach(c1e72100) at dc_attach+0xe14
device_attach(c1e72100,0,c1870000,0,c15d7880) at device_attach+0x58
device_probe_and_attach(c1e72100,c1870000,c15d9a80,c1e72100,c1e72100,c1870000,c1870004) at device_probe_and_attach+0xb4
cardbus_attach_card(c15d9a80) at cardbus_attach_card+0x167
cbb_insert(c1595000) at cbb_insert+0xd6
cbb_event_thread(c1595000,cc75ad48,c1595000,c0491354,0) at cbb_event_thread+0x129
fork_exit(c0491354,c1595000,cc75ad48) at fork_exit+0xa4
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xcc75ad7c, ebp = 0 ---


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x30
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xc0660ec6
stack pointer           = 0x10:0xcc75ac0c
frame pointer           = 0x10:0xcc75ac10
code segment            = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 38 (cbb0)

# kgdb /usr/obj/usr/src/sys/NIC/kernel.debug vmcore.0
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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 "i386-marcel-freebsd".
doadump () at pcpu.h:159
(kgdb) bt
#0  doadump () at pcpu.h:159
#1  0xc0509510 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397
#2  0xc05097bb in panic (fmt=0xc06a3963 "from debugger")
    at /usr/src/sys/kern/kern_shutdown.c:553
#3  0xc0440d15 in db_panic (addr=-1067053370, have_addr=0, count=-1,
    modif=0xcc75aa38 "") at /usr/src/sys/ddb/db_command.c:435
#4  0xc0440cac in db_command (last_cmdp=0xc0714de4, cmd_table=0x0,
    aux_cmd_tablep=0xc06db6f8, aux_cmd_tablep_end=0xc06db6fc)
    at /usr/src/sys/ddb/db_command.c:349
#5  0xc0440d74 in db_command_loop () at /usr/src/sys/ddb/db_command.c:455
#6  0xc04428d9 in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:221
#7  0xc051f136 in kdb_trap (type=12, code=0, tf=0xcc75abcc)
    at /usr/src/sys/kern/subr_kdb.c:418
#8  0xc0673251 in trap_fatal (frame=0xcc75abcc, eva=48)
    at /usr/src/sys/i386/i386/trap.c:804
#9  0xc0672fd7 in trap_pfault (frame=0xcc75abcc, usermode=0, eva=48)
    at /usr/src/sys/i386/i386/trap.c:727
#10 0xc0672c3d in trap (frame=
      {tf_fs = -1066139624, tf_es = -1041760240, tf_ds = -1066270704, tf_edi = 6, tf_esi = -1041760256, tf_ebp = -864703472, tf_isp = -864703496, tf_ebx = 0, tf_edx = 0, tf_ecx = -1066105992, tf_eax = 16, tf_trapno = 12, tf_err = 2, tf_eip = -1067053370, tf_cs = 8, tf_eflags = 66118, tf_esp = 0, tf_ss = -864703448})
    at /usr/src/sys/i386/i386/trap.c:417
---Type <return> to continue, or q <return> to quit---
#11 0xc0663d4a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
#12 0xc0740018 in w_locklistdata ()
#13 0xc1e80010 in ?? ()
#14 0xc0720010 in lockbuilder_pool ()
#15 0x00000006 in ?? ()
#16 0xc1e80000 in ?? ()
#17 0xcc75ac10 in ?? ()
#18 0xcc75abf8 in ?? ()
#19 0x00000000 in ?? ()
#20 0x00000000 in ?? ()
#21 0xc0748378 in w_locklistdata ()
#22 0x00000010 in ?? ()
#23 0x0000000c in ?? ()
#24 0x00000002 in ?? ()
#25 0xc0660ec6 in bus_dmamap_destroy (dmat=0x0, map=0x0)
    at /usr/src/sys/i386/i386/busdma_machdep.c:416
#26 0xc080a3aa in ?? ()
#27 0x00000000 in ?? ()
#28 0x00000000 in ?? ()
#29 0xc15d9a80 in ?? ()
#30 0xc1e80000 in ?? ()
#31 0xcc75ac70 in ?? ()
#32 0xc080a26c in ?? ()
---Type <return> to continue, or q <return> to quit---
#33 0xc1e72100 in ?? ()
#34 0x00000000 in ?? ()
#35 0xc1e72100 in ?? ()
#36 0xcc75ac54 in ?? ()
#37 0x00000000 in ?? ()
#38 0x00000000 in ?? ()
#39 0xc06deb54 in device_attach_method_default ()
#40 0x00000010 in ?? ()
#41 0xcc75ac68 in ?? ()
#42 0xc051f3c4 in kobj_lookup_method (cls=0xc1e72100, cep=0x0, desc=0x0)
    at /usr/src/sys/kern/subr_kobj.c:234
Previous frame inner to this frame (corrupt stack?)
(kgdb) list *0xc0660ec6
0xc0660ec6 is in bus_dmamap_destroy (/usr/src/sys/i386/i386/busdma_machdep.c:418).
413             if (map != NULL && map != &nobounce_dmamap) {
414                     if (STAILQ_FIRST(&map->bpages) != NULL)
415                             return (EBUSY);
416                     free(map, M_DEVBUF);
417             }
418             dmat->map_count--;
419             return (0);
420     }
421
422
(kgdb) quit
Received on Wed Sep 22 2004 - 14:24:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:13 UTC