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 hav=
e =

been provoked with little effort.

Maybe I'm missing something as to where exactly the crash occurs -- the l=
ine =

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 s=
how =

up on the stack trace).

(kgdb) bt
#0  dumpsys () at ../../kern/kern_shutdown.c:461
#1  0xc016873f in boot (howto=3D0x100) at ../../kern/kern_shutdown.c:302
#2  0xc0168ae1 in panic (fmt=3D0xc029198f "page fault") at ../../kern/ker=
n_shutdown.c:550
#3  0xc024ef2a in trap_fatal (frame=3D0xd02f6cac, eva=3D0x0) at ../../i38=
6/i386/trap.c:951
#4  0xc024ebdd in trap_pfault (frame=3D0xd02f6cac, usermode=3D0x0, eva=3D=
0x0) at ../../i386/i386/trap.c:844
#5  0xc024e77f in trap (frame=3D{tf_fs =3D 0x10, tf_es =3D 0x10, tf_ds =3D=
 0x10, tf_edi =3D 0xd02f6d3c, tf_esi =3D 0x0, =

      tf_ebp =3D 0xd02f6d1c, tf_isp =3D 0xd02f6cd8, tf_ebx =3D 0x4, tf_ed=
x =3D 0x80, tf_ecx =3D 0x1, tf_eax =3D 0xd02f6d3c, =

      tf_trapno =3D 0xc, tf_err =3D 0x0, tf_eip =3D 0xc024d34a, tf_cs =3D=
 0x8, tf_eflags =3D 0x10212, tf_esp =3D 0x0, =

      tf_ss =3D 0xc14f6bb4}) at ../../i386/i386/trap.c:443
#6  0xc024d34a in generic_bcopy ()
#7  0xc18695e9 in uhid_do_read (sc=3D0xc14f6b80, uio=3D0xd02f6edc, flag=3D=
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=3D0xd02f6e6c) at ../../miscfs/specfs/spec=
_vnops.c:261
#10 0xc02144f8 in ufsspec_read (ap=3D0xd02f6e6c) at ../../ufs/ufs/ufs_vno=
ps.c:1802
#11 0xc02149f9 in ufs_vnoperatespec (ap=3D0xd02f6e6c) at ../../ufs/ufs/uf=
s_vnops.c:2281
#12 0xc01a2ef4 in vn_read (fp=3D0xc105d080, uio=3D0xd02f6edc, cred=3D0xc1=
1e1280, flags=3D0x0, p=3D0xc7e65380) at vnode_if.h:334
#13 0xc017a1f4 in dofileread (p=3D0xc7e65380, fp=3D0xc105d080, fd=3D0x6, =
buf=3D0x8baf180, nbyte=3D0x4, =

    offset=3D0xffffffffffffffff, flags=3D0x0) at ../../sys/file.h:141
#14 0xc017a0db in read (p=3D0xc7e65380, uap=3D0xd02f6f80) at ../../kern/s=
ys_generic.c:110
#15 0xc024f1dd in syscall2 (frame=3D{tf_fs =3D 0x2f, tf_es =3D 0x2f, tf_d=
s =3D 0x2f, tf_edi =3D 0x0, tf_esi =3D 0x8bac6e4, =

      tf_ebp =3D 0x0, tf_isp =3D 0xd02f6fd4, tf_ebx =3D 0x8bac6ec, tf_edx=
 =3D 0x140, tf_ecx =3D 0x8, tf_eax =3D 0x3, =

      tf_trapno =3D 0x16, tf_err =3D 0x2, tf_eip =3D 0x28846858, tf_cs =3D=
 0x1f, tf_eflags =3D 0x256, tf_esp =3D 0xbfbff6a4, =

      tf_ss =3D 0x2f}) at ../../i386/i386/trap.c:1150

(kgdb) p ((struct uhid_softc *)$foo->softc)->sc_q =

$18 =3D {
  c_cc =3D 0x1c, =

  c_cbcount =3D 0x0, =

  c_cbmax =3D 0xb, =

  c_cbreserved =3D 0xb, =

  c_cf =3D 0x0, =

  c_cl =3D 0xc1178fb0 "=E5=DAD6\t=C4=E6\037zk\036=F3=C4I=E4!\nX=C2\022\21=
2K=A7\233\207=F2S\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>