Re: Panic on CardBus card eject (ubsa(4))



Henrik Brix Andersen wrote:
Hi,

I got a new CardBus 3G modem today, a Huawei E620, which is supported
by the ubsa(4) driver. However, ejecting the card produces the
following panic:

Script started on Mon Jul 30 17:48:49 2007
lothlorien# kgdb kernel /var/crash/vmcore.3
[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".

Unread portion of the kernel message buffer:
ucom0: detached
(null): at uhub5 port 1 (addr 2) disconnected


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x400
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0634c08
stack pointer = 0x28:0xe3f4fb48
frame pointer = 0x28:0xe3f4fb68
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 = 37 (cbb0 event thread)
trap number = 12
panic: page fault
cpuid = 1
Uptime: 28m23s
Physical memory: 1006 MB
Dumping 83 MB: 68 52 36 20 4

#0 doadump () at pcpu.h:195
195 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0 doadump () at pcpu.h:195
#1 0xc060e59a in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2 0xc060e86d in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#3 0xc07e8f5e in trap_fatal (frame=0xe3f4fb08, eva=Variable "eva" is not available.
) at /usr/src/sys/i386/i386/trap.c:870
#4 0xc07e91ae in trap_pfault (frame=0xe3f4fb08, usermode=0, eva=1024) at /usr/src/sys/i386/i386/trap.c:784
#5 0xc07e9a98 in trap (frame=0xe3f4fb08) at /usr/src/sys/i386/i386/trap.c:462
#6 0xc07d1d3b in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7 0xc0634c08 in kobj_delete (obj=0xc4547e00, mtype=0xc0894320) at /usr/src/sys/kern/subr_kobj.c:332
#8 0xc062f122 in device_delete_child (dev=0xc4559180, child=0xc4547e00) at /usr/src/sys/kern/subr_bus.c:1617
#9 0xc059ea7c in usb_disconnect_port (up=0xc4559430, parent=0xc4559180) at /usr/src/sys/dev/usb/usb_subr.c:1382
#10 0xc0594d84 in uhub_detach (self=0xc4559180) at /usr/src/sys/dev/usb/uhub.c:575
#11 0xc062eedc in device_detach (dev=0xc4559180) at device_if.h:212
#12 0xc062f0bf in device_delete_child (dev=0xc4194080, child=0xc4559180) at /usr/src/sys/kern/subr_bus.c:1611
#13 0xc062f0aa in device_delete_child (dev=0xc454da80, child=0xc4194080) at /usr/src/sys/kern/subr_bus.c:1606
#14 0xc058be62 in ohci_pci_detach (self=0xc454da80) at /usr/src/sys/dev/usb/ohci_pci.c:371
#15 0xc062eedc in device_detach (dev=0xc454da80) at device_if.h:212
#16 0xc04eb32b in cardbus_detach_card (cbdev=0xc3c4b600) at /usr/src/sys/dev/cardbus/cardbus.c:235
#17 0xc0537f95 in cbb_event_thread (arg=0xc3b79000) at card_if.h:95
#18 0xc05effd1 in fork_exit (callout=0xc0537df0 <cbb_event_thread>, arg=0xc3b79000, frame=0xe3f4fd38)
at /usr/src/sys/kern/kern_fork.c:797
#19 0xc07d1db0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:205
(kgdb) up 7
#7 0xc0634c08 in kobj_delete (obj=0xc4547e00, mtype=0xc0894320) at /usr/src/sys/kern/subr_kobj.c:332
332 kobj_class_t cls = obj->ops->cls;
(kgdb) print obj->ops
$1 = 0x0
(kgdb) quit
lothlorien# exit
Script done on Mon Jul 30 17:49:36 2007

Anybody seen this before?

This is with -current from yesterday:

$ uname -a
FreeBSD lothlorien.brixandersen.dk 7.0-CURRENT FreeBSD 7.0-CURRENT #59: Sun Jul 29 13:32:00 CEST 2007 root@xxxxxxxxxxxxxxxxxxxxxxxxxx:/usr/obj/usr/src/sys/LOTHLORIEN i386

Regards,
Brix

I have the same problem with the same card : http://monkey.org/freebsd/archive/freebsd-current/200706/msg00423.html
Unfortunately there is no fix for this in the standard freebsd usb stack, but with HPS's new usb stack this problem does not exist.

_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • [PATCH 9/21] KGDB: This adds basic support to the MIPS architecture
    ... This patch also adds support for the rs232 early kgdb access for MIPS ... * To enable debugger support, ... * or error conditions to be properly intercepted and reported to gdb. ... a breakpoint needs to be generated to begin communication. ...
    (Linux-Kernel)
  • Fatal trap in rt_msg2
    ... I could boot and get a working system using the old kernel.. ... Here is my gdb session: ... page fault while in kernel mode ...
    (freebsd-net)
  • kgdb cleanups
    ... -platforms with the kgdb option may behave in a similar fashion. ... the thread info command and gdb now seems to ask when needed. ... -#define COMMA, ...
    (Linux-Kernel)
  • Re: double panic, and whats apic_cmd? (kqemu crash...)
    ... I also have KDB_TRACE and KDB_UNATTENDED in the kernel config. ... GDB is free software, covered by the GNU General Public License, and you are ... Fatal trap 12: page fault while in kernel mode ...
    (freebsd-hackers)
  • Re: double panic, and whats apic_cmd? (kqemu crash...)
    ... I also have KDB_TRACE and KDB_UNATTENDED in the kernel config. ... GDB is free software, covered by the GNU General Public License, and you are ... Fatal trap 12: page fault while in kernel mode ...
    (freebsd-hackers)