Date: Tue, 24 Oct 2000 18:44:56 -0400 From: "Brian F. Feldman" <green@FreeBSD.org> To: hackers@FreeBSD.org Cc: n_hibma@FreeBSD.org Subject: Anyone have uhid working and stable? Message-ID: <200010242244.e9OMiv503269@green.dyndns.org>
next in thread | raw e-mail | index | archive | help
After just buying a device and attempting to use uhid for a while, I got a
nice little crash. I can't figure out what's going on, because the clist
queue seems to be corrupted. Is it valid for a clist to have a non-zero
c_cc and NULL c_cf? I wonder if this is just me, because it seems to have
been provoked with little effort.
Maybe I'm missing something as to where exactly the crash occurs -- the line
of code is wrong, and I don't exactly see where the bcopy is coming from
(other than probably q_to_b or uiomove, but I don't know how they can't show
up on the stack trace).
(kgdb) bt
#0 dumpsys () at ../../kern/kern_shutdown.c:461
#1 0xc016873f in boot (howto=0x100) at ../../kern/kern_shutdown.c:302
#2 0xc0168ae1 in panic (fmt=0xc029198f "page fault") at ../../kern/kern_shutdown.c:550
#3 0xc024ef2a in trap_fatal (frame=0xd02f6cac, eva=0x0) at ../../i386/i386/trap.c:951
#4 0xc024ebdd in trap_pfault (frame=0xd02f6cac, usermode=0x0, eva=0x0) at ../../i386/i386/trap.c:844
#5 0xc024e77f in trap (frame={tf_fs = 0x10, tf_es = 0x10, tf_ds = 0x10, tf_edi = 0xd02f6d3c, tf_esi = 0x0,
tf_ebp = 0xd02f6d1c, tf_isp = 0xd02f6cd8, tf_ebx = 0x4, tf_edx = 0x80, tf_ecx = 0x1, tf_eax = 0xd02f6d3c,
tf_trapno = 0xc, tf_err = 0x0, tf_eip = 0xc024d34a, tf_cs = 0x8, tf_eflags = 0x10212, tf_esp = 0x0,
tf_ss = 0xc14f6bb4}) at ../../i386/i386/trap.c:443
#6 0xc024d34a in generic_bcopy ()
#7 0xc18695e9 in uhid_do_read (sc=0xc14f6b80, uio=0xd02f6edc, flag=0x7f0010)
at /usr/src/sys/modules/uhid/../../dev/usb/uhid.c:504
#8 0xc1869649 in uhidread () at /usr/src/sys/modules/uhid/../../dev/usb/uhid.c:513
#9 0xc01a5e29 in spec_read (ap=0xd02f6e6c) at ../../miscfs/specfs/spec_vnops.c:261
#10 0xc02144f8 in ufsspec_read (ap=0xd02f6e6c) at ../../ufs/ufs/ufs_vnops.c:1802
#11 0xc02149f9 in ufs_vnoperatespec (ap=0xd02f6e6c) at ../../ufs/ufs/ufs_vnops.c:2281
#12 0xc01a2ef4 in vn_read (fp=0xc105d080, uio=0xd02f6edc, cred=0xc11e1280, flags=0x0, p=0xc7e65380) at vnode_if.h:334
#13 0xc017a1f4 in dofileread (p=0xc7e65380, fp=0xc105d080, fd=0x6, buf=0x8baf180, nbyte=0x4,
offset=0xffffffffffffffff, flags=0x0) at ../../sys/file.h:141
#14 0xc017a0db in read (p=0xc7e65380, uap=0xd02f6f80) at ../../kern/sys_generic.c:110
#15 0xc024f1dd in syscall2 (frame={tf_fs = 0x2f, tf_es = 0x2f, tf_ds = 0x2f, tf_edi = 0x0, tf_esi = 0x8bac6e4,
tf_ebp = 0x0, tf_isp = 0xd02f6fd4, tf_ebx = 0x8bac6ec, tf_edx = 0x140, tf_ecx = 0x8, tf_eax = 0x3,
tf_trapno = 0x16, tf_err = 0x2, tf_eip = 0x28846858, tf_cs = 0x1f, tf_eflags = 0x256, tf_esp = 0xbfbff6a4,
tf_ss = 0x2f}) at ../../i386/i386/trap.c:1150
(kgdb) p ((struct uhid_softc *)$foo->softc)->sc_q
$18 = {
c_cc = 0x1c,
c_cbcount = 0x0,
c_cbmax = 0xb,
c_cbreserved = 0xb,
c_cf = 0x0,
c_cl = 0xc1178fb0 "åÚD6\tÄæ\037zk\036óÄIä!\nXÂ\022\212K§\233\207òS\217\203"
}
--
Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! /
green@FreeBSD.org `------------------------------'
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010242244.e9OMiv503269>
