Date: Sat, 16 Dec 2017 07:10:56 -0600 From: Lucas Young <youngluc@gmail.com> To: freebsd-multimedia@freebsd.org Subject: webcamd-4.12.0.1 segfault when using WinTV-HV-950Q Message-ID: <63966a1d-1244-4ea0-0bf8-15b485f63cd4@gmail.com>
next in thread | raw e-mail | index | archive | help
I am trying to get my WinTV-HV-950Q working on FreeBSD. I am running into, apparently, the same problem as described in the following link which is from this list about two years ago. [Hauppauge WinTV HVR 950Q](https://lists.freebsd.org/pipermail/freebsd-multimedia/2015-June/016273.html) This one sounds similar as well. [FreeBSD-10.3 and WinTV HVR-950Q](https://lists.freebsd.org/pipermail/freebsd-multimedia/2016-December/017525.html) Unfortunately, it does not appear that the solution to either of those previous issues was posted to the list so hoping that there is someone who is willing to rehash this for me. In short, webcamd is crashing with a segfault the first time that it is run. If it is run again, it usually starts but then consumes 100% of one CPU core. I have included the particulars from my system below. Note that I have already compiled webcamd from ports with the DEBUG turned on. I am not proficient in C or in using gdb so I need some help to know what to check next. # uname -mrs FreeBSD 11.1-RELEASE-p4 amd64 # pkg info -x webcamd webcamd-4.12.0.1 # md5 /boot/modules/dvb-fe-xc5000-1.6.114.fw MD5 (/boot/modules/dvb-fe-xc5000-1.6.114.fw) = b1ac8f759020523ebaaeff3fdf4789ed # usbconfig ugen4.1: <AMD OHCI root HUB> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen0.1: <0x1022 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen5.1: <AMD EHCI root HUB> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA) ugen2.1: <AMD OHCI root HUB> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen3.1: <AMD EHCI root HUB> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA) ugen1.1: <0x1022 XHCI root HUB> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen0.2: <Hauppauge WinTV HVR-950> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) ugen3.2: <Chicony Electronics Co.,Ltd. HP Truevision HD> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) # usbconfig -d 0.2 dump_device_desc ugen0.2: <Hauppauge WinTV HVR-950> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) p wr=ON (500mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x2040 idProduct = 0x7200 bcdDevice = 0x0005 iManufacturer = 0x0001 <retrieving string failed> iProduct = 0x0002 <retrieving string failed> iSerialNumber = 0x000a <retrieving string failed> bNumConfigurations = 0x0001 # cat /boot/loader.conf kern.geom.label.disk_ident.enable="0" kern.geom.label.gptid.enable="0" vfs.zfs.min_auto_ashift=12 zfs_load="YES" cuse_load="YES" # sysrc -a autofs_enable: YES dbus_enable: NO dumpdev: AUTO hald_enable: NO jackd_enable: NO mountd_enable: YES mountd_flags: -r moused_enable: NO mythbackend_enable: YES nfs_server_enable: YES ntpd_enable: YES powerd_enable: YES rpc_lockd_enable: YES rpc_statd_enable: YES rpcbind_enable: YES sshd_enable: YES webcamd_0_flags: -N Hauppauge-WinTV-HVR-950 -S unknown webcamd_1_flags: -N Chicony-Electronics-Co--Ltd--HP-Truevision-HD -S 0x0001 webcamd_enable: YES zfs_enable: YES When the host boots I find that the cuse module is loaded, there is a coredump in /, and dmesg indicates that it "exited on signal 11" during the boot. # kldstat Id Refs Address Size Name 1 17 0xffffffff80200000 1f67a88 kernel 2 1 0xffffffff82169000 316708 zfs.ko 3 2 0xffffffff82480000 cb78 opensolaris.ko 4 1 0xffffffff8248d000 e690 cuse.ko 5 1 0xffffffff82a31000 10913 snd_uaudio.ko # dmesg ... uaudio0 on uhub3 uaudio0: <WinTV HVR-950 Audio> on usbus0 uaudio0: No playback. uaudio0: Record: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer. uaudio0: No MIDI sequencer. pcm2: <USB audio> on uaudio0 uaudio0: No HID volume keys found. pid 99972 (webcamd), uid 0: exited on signal 11 (core dumped) ... # gdb $(which webcamd) /webcamd.core 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 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 "amd64-marcel-freebsd"... Core was generated by '/usr/local/sbin/webcamd -i 0 -d ugen0.2 -B -U webcamd -G webcamd'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libhal.so...done. Loaded symbols for /usr/local/lib/libhal.so Reading symbols from /usr/local/lib/libdbus-1.so...done. Loaded symbols for /usr/local/lib/libdbus-1.so Reading symbols from /usr/lib/libusb.so.3...done. Loaded symbols for /usr/lib/libusb.so.3 Reading symbols from /lib/libthr.so.3...done. Loaded symbols for /lib/libthr.so.3 Reading symbols from /lib/libutil.so.9...done. Loaded symbols for /lib/libutil.so.9 Reading symbols from /usr/lib/libcuse.so.1...done. Loaded symbols for /usr/lib/libcuse.so.1 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/lib/libexecinfo.so.1...done. Loaded symbols for /usr/lib/libexecinfo.so.1 Reading symbols from /lib/libelf.so.2...done. Loaded symbols for /lib/libelf.so.2 Reading symbols from /lib/libgcc_s.so.1...done. Loaded symbols for /lib/libgcc_s.so.1 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0000000000414e32 in timer_exec (arg=0x0) at kernel/linux_timer.c:142 142 TAILQ_REMOVE(&timer_head, t, entry); (gdb) bt #0 0x0000000000414e32 in timer_exec (arg=0x0) at kernel/linux_timer.c:142 #1 0x00000008014c7bc5 in pthread_create () from /lib/libthr.so.3 #2 0x0000000000000000 in ?? () Current language: auto; currently minimal (gdb) p &timer_head $1 = (struct timer_head *) 0xccee78 (gdb) p t $2 = (struct timer_list *) 0x802843130 Can someone point me in the direction of what to check next? -- Luke
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?63966a1d-1244-4ea0-0bf8-15b485f63cd4>