(unknown charset) Panic while running with USB debugging on

From: (unknown charset) Michael McGoldrick <michael_at_mcgoldrick.org>
Date: Fri, 2 May 2003 19:42:28 +0100
Not really sure if the two are related. However, I haven't had the same panic
while running WITHOUT USB debugging on and the panic was in USB...
Background: I recently bought a USB Bluetooth adaptor and have been trying to
get it working under FreeBSD using Maksim's latest BT snapshot. Briefly, I
enabled USB_DEBUG and sysctled hw.usb.ugen.debug to 100 (OK, I should find out
what a realistic value for this is...) then twitched my USB mouse, resulting
in the following panic. Unfortunately, I know nothing about the USB stack, so
this is mostly flailing in the dark.

uriel# gdb -k /usr/obj/usr/src/sys/URIEL/kernel.debug vmcore.9 
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 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-undermydesk-freebsd"...
panic: ohci_add_done: addr 0x005b15c0 not found

panic messages:
---
panic: ohci_add_done: addr 0x005b15c0 not found


syncing disks, buffers remaining... 1407 1407 1407 1407 1407 1407 1407 1407
1407
 1407 1407 1407 1407 1407 1407 1407 1407 1407 1407 1407 
giving up on 1246 buffers
Uptime: 19m15s
Dumping 127 MB
ata1: resetting devices ..
done
 16[CTRL-C to abort]  32[CTRL-C to abort]  48 64 80 96 112
---
Reading symbols from
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/linu
x/linux.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/linux/
linux.ko.debug
Reading symbols from
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/acpi
/acpi.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/acpi/a
cpi.ko.debug
Reading symbols from
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/linp
rocfs/linprocfs.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/linpro
cfs/linprocfs.ko.debug
Reading symbols from
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/ipfw
/ipfw.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/ipfw/i
pfw.ko.debug
Reading symbols from /boot/kernel/logo_saver.ko...done.
Loaded symbols for /boot/kernel/logo_saver.ko
Reading symbols from /boot/kernel/ng_ubt.ko...done.
Loaded symbols for /boot/kernel/ng_ubt.ko
Reading symbols from /boot/kernel/netgraph.ko...done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/ng_bluetooth.ko...done.
Loaded symbols for /boot/kernel/ng_bluetooth.ko
Reading symbols from /boot/kernel/ng_hci.ko...done.
Loaded symbols for /boot/kernel/ng_hci.ko
Reading symbols from /boot/kernel/ng_l2cap.ko...done.
Loaded symbols for /boot/kernel/ng_l2cap.ko
---Type <return> to continue, or q <return> to quit---
Reading symbols from /boot/kernel/ng_btsocket.ko...done.
Loaded symbols for /boot/kernel/ng_btsocket.ko
Reading symbols from /boot/kernel/ng_socket.ko...done.
Loaded symbols for /boot/kernel/ng_socket.ko
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:238
238             dumping++;
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:238
#1  0xc023aada in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:370
#2  0xc023ae2b in panic () at /usr/src/sys/kern/kern_shutdown.c:543
#3  0xc01cfd97 in ohci_add_done (sc=0xc2322000, done=5969344)
    at /usr/src/sys/dev/usb/ohci.c:1305
#4  0xc01cfb09 in ohci_intr1 (sc=0xc2322000)
    at /usr/src/sys/dev/usb/ohci.c:1200
#5  0xc01cf91e in ohci_intr (p=0xc2322000) at /usr/src/sys/dev/usb/ohci.c:1130
#6  0xc0227522 in ithread_loop (arg=0xc2335800)
    at /usr/src/sys/kern/kern_intr.c:537
#7  0xc0226510 in fork_exit (callout=0xc2322000, arg=0x0, frame=0x0)
    at /usr/src/sys/kern/kern_fork.c:793
(kgdb) up 3
#3  0xc01cfd97 in ohci_add_done (sc=0xc2322000, done=5969344)
    at /usr/src/sys/dev/usb/ohci.c:1305
1305                    panic("ohci_add_done: addr 0x%08lx not found\n",
(u_long
)done);
(kgdb) print sc
$1 = (struct ohci_softc *) 0xc2322000
(kgdb) print *sc
$2 = {sc_bus = {bdev = 0xc2335780, methods = 0xc04156a0, pipe_size = 80, 
    root_hub = 0xc2335880, devices = {0x0, 0xc2335880, 0xc24d7b80, 0xc2347100, 
      0x0 <repeats 124 times>}, needs_explore = 0 '\0', use_polling = 0 '\0', 
    usbctl = 0xc233a640, stats = {uds_requests = {95, 0, 2, 1410}}, 
    intr_context = 1, no_intrs = 1454, usbrev = 2}, iot = 1, ioh = 3458580480, 
  sc_size = 0, ih = 0xc2345780, io_res = 0xc23458c0, irq_res = 0xc2345840, 
  sc_hccadma = 0xc2354500 " {k", sc_hcca = 0xc2354500, sc_eds = {0xc2323f80, 
    0xc2323f60, 0xc2323f40, 0xc2323f20, 0xc2323f00, 0xc2323ee0, 0xc2323ec0, 
    0xc2323ea0, 0xc2323e80, 0xc2323e60, 0xc2323e40, 0xc2323e20, 0xc2323e00, 
    0xc2323de0, 0xc2323dc0, 0xc2323da0, 0xc2323d80, 0xc2323d60, 0xc2323d40, 
    0xc2323d20, 0xc2323d00, 0xc2323ce0, 0xc2323cc0, 0xc2323ca0, 0xc2323c80, 
    0xc2323c60, 0xc2323c40, 0xc2323c20, 0xc2323c00, 0xc2323be0, 0xc2323bc0, 
    0xc2323ba0, 0xc2323b80, 0xc2323b60, 0xc2323b40, 0xc2323b20, 0xc2323b00, 
    0xc2323ae0, 0xc2323ac0, 0xc2323aa0, 0xc2323a80, 0xc2323a60, 0xc2323a40, 
    0xc2323a20, 0xc2323a00, 0xc23239e0, 0xc23239c0, 0xc23239a0, 0xc2323980, 
    0xc2323960, 0xc2323940, 0xc2323920, 0xc2323900, 0xc23238e0, 0xc23238c0, 
    0xc23238a0, 0xc2323880, 0xc2323860, 0xc2323840, 0xc2323820, 0xc2323800, 
    0xc23237e0, 0xc23237c0}, sc_bws = {1 <repeats 28 times>, 2, 2, 2, 2}, 
  sc_eintrs = 91, sc_isoc_head = 0xc2323fa0, sc_ctrl_head = 0xc2323fe0, 
  sc_bulk_head = 0xc2323fc0, sc_hash_tds = {{
      lh_first = 0x0} <repeats 98 times>, {lh_first = 0xc103d620}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xc103d650}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xc103d680}, {
---Type <return> to continue, or q <return> to quit---
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xc103d6b0}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xc103d6e0}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xc103d710}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0xc103d740}, {
      lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0x0}, {lh_first = 0x0}, {
      lh_first = 0x0}, {lh_first = 0xc103d7a0}, {lh_first = 0x0}, {
      lh_first = 0x0}, {lh_first = 0xc103d7d0}, {lh_first = 0x0}, {
      lh_first = 0x0}}, sc_hash_itds = {{lh_first = 0x0} <repeats 128 times>}, 
  sc_noport = 2, sc_addr = 1 '\001', sc_conf = 1 '\001', 
  sc_freeeds = 0xc23236e0, sc_freetds = 0xc103d770, sc_freeitds = 0x0, 
  sc_free_xfers = {stqh_first = 0xc2817780, stqh_last = 0xc28177c4}, 
  sc_intrxfer = 0xc2335980, sc_sidone = 0x0, sc_sdone = 0x0, 
  sc_vendor = "AcerLabs\0\0\0\0\0\0\0", sc_id_vendor = 0, sc_control = 0, 
  sc_intre = 0, sc_overrun_cnt = 0, sc_overrun_ntc = {tv_sec = 0, 
    tv_usec = 0}, sc_tmo_rhsc = {c_links = {sle = {sle_next = 0xc04532b0}, 
      tqe = {tqe_next = 0xc04532b0, tqe_prev = 0xc4a39c50}}, c_time = 34470, 
    c_arg = 0xc2322000, c_func = 0, c_flags = 2}, sc_child = 0x0, 
  sc_dying = 0 '\0'}
(kgdb) print *done
---Can't read userspace from dump, or kernel process---

(kgdb) up 1
#4  0xc01cfb09 in ohci_intr1 (sc=0xc2322000)
    at /usr/src/sys/dev/usb/ohci.c:1200
1200                    ohci_add_done(sc, done &~ OHCI_DONE_INTRS);
(kgdb) print done
$3 = 5969728
(kgdb) print *done
---Can't read userspace from dump, or kernel process---

(kgdb) down 1
#3  0xc01cfd97 in ohci_add_done (sc=0xc2322000, done=5969344)
    at /usr/src/sys/dev/usb/ohci.c:1305
1305                    panic("ohci_add_done: addr 0x%08lx not found\n",
(u_long
)done);
(kgdb) l
1300                            done = le32toh(sitd->itd.itd_nextitd);
1301                            sidone = sitd;
1302                            DPRINTFN(5,("add ITD %p\n", sitd));
1303                            continue;
1304                    }
1305                    panic("ohci_add_done: addr 0x%08lx not found\n",
(u_long
)done);
1306            }
1307
1308            /* sdone & sidone now hold the done lists. */
1309            /* Put them on the already processed lists. */

Dmesg attached. (I think the errors at the bottom are down to a dodgy ACPI
timecounter.)
Apologies for the verbosity of this message.
Sources as of: May  1 18:02:41 BST 2003
from cvsup2


-- 
Michael McGoldrick: mmcgoldrick_at_linuxdriven.net 

Received on Fri May 02 2003 - 09:13:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:06 UTC