Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Mar 2011 10:05:09 -0400
From:      "J.R. Oldroyd" <fbsd@opal.com>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: webcamd quirkyness
Message-ID:  <20110331100509.02bec024@shibato.opal.com>
In-Reply-To: <201103311534.12919.hselasky@c2i.net>
References:  <20110330173032.65721bb9@shibato.opal.com> <201103310926.14184.hselasky@c2i.net> <20110331092512.562a8119@shibato.opal.com> <201103311534.12919.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/n9l_LrXh1ugnN94KYRKkhoq
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Thu, 31 Mar 2011 15:34:12 +0200, Hans Petter Selasky <hselasky@c2i.net> =
wrote:
>
> > ^C
> >=20
> > # ./webcamd -d 3.3 -i 0 -m uvc_driver.trace=3D0xffffffff -B
> > .. same trace as above, until:
> > lirc_dev: IR Remote Control driver registered, major 13
> > Attached ugen3.3[0] to cuse unit -1
> > #
>=20
> Try to compile webcamd without debugging. Then run it from gdb. Press CTR=
L+C=20
> to break back into gdb when it hangs.
>=20
> Dump backtrace from all threads.
>=20
> --HPS

With/without -i 0 makes no difference.

Using gdb, I should point out that with -B it prints the "cuse -1"
message then it does go into the background and sit there.  I can
still gdb it, though:

# /usr/local/sbin/webcamd -d 3.3 -B
Attached ugen3.3[0] to cuse unit -1
# ps ax | grep webcamd
 4581  ??  Ss     0:00.17 /usr/local/sbin/webcamd -d 3.3 -B
 4833   0  R+     0:00.00 grep webcamd
# gdb /usr/local/sbin/webcamd 4581
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 condition=
s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols f=
ound)...
Attaching to program: /usr/local/sbin/webcamd, process 4581
Reading symbols from /usr/local/lib/libhal.so.1...(no debugging symbols fou=
nd)...done.
Loaded symbols for /usr/local/lib/libhal.so.1
Reading symbols from /usr/local/lib/libdbus-1.so.3...(no debugging symbols =
found)...done.
Loaded symbols for /usr/local/lib/libdbus-1.so.3
Reading symbols from /usr/lib/libusb.so.2...(no debugging symbols found)...=
done.
Loaded symbols for /usr/lib/libusb.so.2
Reading symbols from /usr/local/lib/libcuse4bsd.so.1...(no debugging symbol=
s found)...done.
Loaded symbols for /usr/local/lib/libcuse4bsd.so.1
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
[New Thread 80120a740 (LWP 100074)]
[New Thread 8012041c0 (LWP 100140)]
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libutil.so.8...(no debugging symbols found)...don=
e.
Loaded symbols for /lib/libutil.so.8
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...=
done.
Loaded symbols for /libexec/ld-elf.so.1
[Switching to Thread 80120a740 (LWP 100074)]
0x0000000800f1f06c in poll () from /lib/libc.so.7
(gdb) thr ap all bt

Thread 2 (Thread 8012041c0 (LWP 100140)):
#0  0x0000000800f631ac in nanosleep () from /lib/libc.so.7
#1  0x0000000800f63125 in usleep () from /lib/libc.so.7
#2  0x0000000800c6a2e8 in usleep () from /lib/libthr.so.3
#3  0x00000000004075db in usb_unlink_bsd ()
#4  0x00000000004076e4 in usb_unlink_urb_sub ()
#5  0x0000000000407716 in usb_kill_urb ()
#6  0x00000000004ec12d in uvc_v4l2_release ()
#7  0x000000000040bcfd in v4l2_release ()
#8  0x000000000040641c in linux_close ()
#9  0x00000000004f1571 in main ()

Thread 1 (Thread 80120a740 (LWP 100074)):
#0  0x0000000800f1f06c in poll () from /lib/libc.so.7
#1  0x0000000800c6a83e in poll () from /lib/libthr.so.3
#2  0x0000000800a5763d in libusb20_dev_wait_process () from /usr/lib/libusb=
.so.2
#3  0x0000000000408476 in usb_exec ()
#4  0x0000000800c684f1 in pthread_getprio () from /lib/libthr.so.3
#5  0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffff3fb000: Bad address.
(gdb)


Repeating in the version with debugging:

(gdb) thr ap all bt

Thread 2 (Thread 8012041c0 (LWP 100171)):
#0  0x00000008010491ac in nanosleep () from /lib/libc.so.7
#1  0x0000000801049125 in usleep () from /lib/libc.so.7
#2  0x0000000800d502e8 in usleep () from /lib/libthr.so.3
#3  0x00000000004096d1 in usb_unlink_bsd (xfer=3D0x8012634d0, urb=3D0x80128=
9e80, drain=3D1 '\001') at /usr/ports/multimedia/webcamd/work/webcamd-0.1.2=
3/kernel/linux_usb.c:635
#4  0x0000000000409835 in usb_unlink_urb_sub (urb=3D0x801289e80, drain=3D1 =
'\001') at /usr/ports/multimedia/webcamd/work/webcamd-0.1.23/kernel/linux_u=
sb.c:680
#5  0x000000000040a9ff in usb_kill_urb (urb=3D0x801289e80) at /usr/ports/mu=
ltimedia/webcamd/work/webcamd-0.1.23/kernel/linux_usb.c:1418
#6  0x000000000057004c in uvc_status_stop (dev=3D0x801244d00) at /usr/ports=
/multimedia/webcamd/work/webcamd-0.1.23/v4l-dvb/linux/drivers/media/video/u=
vc/uvc_status.c:231
#7  0x000000000056ba12 in uvc_v4l2_release (file=3D0x80125a010) at /usr/por=
ts/multimedia/webcamd/work/webcamd-0.1.23/v4l-dvb/linux/drivers/media/video=
/uvc/uvc_v4l2.c:482
#8  0x000000000040f315 in v4l2_release (inode=3D0x80125a008, filp=3D0x80125=
a010) at v4l2-dev.c:340
#9  0x000000000040782d in linux_close (handle=3D0x80125a000) at /usr/ports/=
multimedia/webcamd/work/webcamd-0.1.23/kernel/linux_file.c:88
#10 0x0000000000572dfe in v4b_create (unit=3D0) at webcamd.c:316
#11 0x000000000057343e in main (argc=3D4, argv=3D0x7fffffffea78) at webcamd=
.c:521

Thread 1 (Thread 80120a740 (LWP 100078)):
#0  0x000000080100506c in poll () from /lib/libc.so.7
#1  0x0000000800d5083e in poll () from /lib/libthr.so.3
#2  0x0000000800b3d63d in libusb20_dev_wait_process () from /usr/lib/libusb=
.so.2
#3  0x0000000000408cda in usb_exec (arg=3D0x843140) at /usr/ports/multimedi=
a/webcamd/work/webcamd-0.1.23/kernel/linux_usb.c:184
#4  0x0000000800d4e4f1 in pthread_getprio () from /lib/libthr.so.3
#5  0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffff3fb000: Bad address.
(gdb)=20


--Sig_/n9l_LrXh1ugnN94KYRKkhoq
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAk2UihUACgkQls33urr0k4ngJwCgiw7SS+m5ClwkEy4UcvwSsKXB
//AAnR+FRutILuj4D99e0gsuLDomazl6
=Bl2D
-----END PGP SIGNATURE-----

--Sig_/n9l_LrXh1ugnN94KYRKkhoq--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110331100509.02bec024>