Skip site navigation (1)Skip section navigation (2)
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>