[mythtv-commits] Ticket #8092: mythtv-setup hangs on ioctl when adding HVR-2250

MythTV mythtv at cvs.mythtv.org
Fri Feb 19 04:30:15 UTC 2010


#8092: mythtv-setup hangs on ioctl when adding HVR-2250
-----------------------------------+----------------------------------------
 Reporter:  kpyle@…                |       Owner:  ijr    
     Type:  defect                 |      Status:  new    
 Priority:  minor                  |   Milestone:  unknown
Component:  MythTV - Mythtv-setup  |     Version:  0.22   
 Severity:  medium                 |     Mlocked:  0      
-----------------------------------+----------------------------------------
 When attempting to add a HVR-2250 via the "new capture card" option in
 mythtv-setup, the program shows a blank screen and becomes unresponsive.
 The HVR-2250 is working outside of mythtv and can tune and capture, as
 confirmed with gnutv from the dvbtools package.

 OS is gentoo 2.6.32.8:

 % emerge --info | head -n 1
 Portage 2.1.7.16 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.10.1-r1,
 2.6.32.8 x86_64)

 % emerge -pv mythtv
 media-tv/mythtv-0.22_p23069  USE="dvb -alsa (-altivec) -autostart -css
 -debug -directv -faad -fftw -ieee1394 -jack -lcd -lirc -mmx -perl
 -pulseaudio -python -tiff -vdpau -xvmc"

 strace shows that mythtv is blocked on an ioctl:
 24746 stat("/dev/dvb/adapter1/frontend0", {st_mode=S_IFCHR|0660,
 st_rdev=makedev
 (212, 67), ...}) = 0
 24746 lstat("/dev/dvb/adapter1/frontend0", {st_mode=S_IFCHR|0660,
 st_rdev=makede
 v(212, 67), ...}) = 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 poll([{fd=9, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
 24746 write(9, "H\0\0\0\26SELECT videodevice FROM cap"..., 76) = 76
 24746 read(9,
 "\f\0\0\1\0\372\1\0\0\1\0\2\0\0\0\0\27\0\0\2\3def\0\0\0\1?\0\f?"...,
 16384) = 169
 24746 poll([{fd=9, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
 24746 write(9, "\5\0\0\0\32\372\1\0\0", 9) = 9
 24746 read(9, "\7\0\0\1\0\0\0\2\0\0\0", 16384) = 11
 24746 poll([{fd=9, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
 24746 poll([{fd=9, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
 24746 write(9,
 "\32\0\0\0\27\372\1\0\0\0\1\0\0\0\0\1\376\0\376\0\5XXXXX\3DVB", 30) = 30
 24746 read(9, "\1\0\0\1\1M\0\0\2\3def\vmythconverg\vcaptur"..., 16384) =
 104
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2294, ...}) =
 0
 24746 poll([{fd=9, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
 24746 write(9, "\5\0\0\0\31\372\1\0\0", 9) = 9
 24746 open("/dev/dvb/adapter0/frontend0", O_RDWR|O_NONBLOCK) = 10
 24746 ioctl(10, 0x80a86f3d <unfinished ...>

 The gdb traceback is:
 #0  0x00007ffff4aeaf17 in ioctl () from /lib/libc.so.6
 #1  0x00007ffff7425da4 in CardUtil::ProbeDVBFrontendName(QString const&)
 ()
    from /usr/lib/libmythtv-0.22.so.0
 #2  0x00007ffff7405151 in DVBConfigurationGroup::probeCard(QString const&)
 ()
    from /usr/lib/libmythtv-0.22.so.0
 #3  0x00007ffff79df96e in
 DVBConfigurationGroup::qt_metacall(QMetaObject::Call,
 int, void**) () from /usr/lib/libmythtv-0.22.so.0
 #4  0x00007ffff53e12c6 in QMetaObject::activate(QObject*, int, int,
 void**) ()
    from /usr/lib64/qt4/libQtCore.so.4
 #5  0x00007ffff6f30402 in Setting::valueChanged(QString const&) ()
    from /usr/lib/libmyth-0.22.so.0
 #6  0x00007ffff6e0e772 in SelectSetting::setValue(QString const&) ()
    from /usr/lib/libmyth-0.22.so.0
 #7  0x00007ffff6e0e2a5 in SelectSetting::addSelection(QString const&,
 QString, b
 ool) () from /usr/lib/libmyth-0.22.so.0
 #8  0x00007ffff6e0e4cd in ComboBoxSetting::addSelection(QString const&,
 QString,
  bool) () from /usr/lib/libmyth-0.22.so.0
 #9  0x00007ffff741294d in DVBCardNum::fillSelections(QString const&) ()
    from /usr/lib/libmythtv-0.22.so.0
 #10 0x00007ffff7413216 in DVBCardNum::Load() ()
    from /usr/lib/libmythtv-0.22.so.0
 #11 0x00007ffff6daba0f in ConfigurationGroup::Load() ()
    from /usr/lib/libmyth-0.22.so.0
 #12 0x00007ffff73f0190 in DVBConfigurationGroup::Load() ()
    from /usr/lib/libmythtv-0.22.so.0
 #13 0x00007ffff6daba0f in ConfigurationGroup::Load() ()
    from /usr/lib/libmyth-0.22.so.0
 #14 0x00007ffff6daba0f in ConfigurationGroup::Load() ()
    from /usr/lib/libmyth-0.22.so.0
 #15 0x00007ffff6daa336 in ConfigurationDialog::exec(bool, bool) ()
    from /usr/lib/libmyth-0.22.so.0
 #16 0x00007ffff740be34 in CaptureCardEditor::edit() ()
    from /usr/lib/libmythtv-0.22.so.0
 #17 0x00007ffff740c518 in CaptureCardEditor::exec() ()
    from /usr/lib/libmythtv-0.22.so.0
 #18 0x000000000043f997 in ?? ()
 #19 0x00007ffff6a42b03 in MythThemedMenu::handleAction(QString const&,
 QString const&) () from /usr/lib/libmythui-0.22.so.0
 #20 0x00007ffff6a432b6 in
 MythThemedMenu::buttonAction(MythUIButtonListItem*, bool) () from
 /usr/lib/libmythui-0.22.so.0
 #21 0x00007ffff6aa8982 in MythThemedMenu::qt_metacall(QMetaObject::Call,
 int, void**) () from /usr/lib/libmythui-0.22.so.0
 #22 0x00007ffff53e12c6 in QMetaObject::activate(QObject*, int, int,
 void**) ()
    from /usr/lib64/qt4/libQtCore.so.4
 #23 0x00007ffff6aa9d92 in
 MythUIButtonList::itemClicked(MythUIButtonListItem*)
     () from /usr/lib/libmythui-0.22.so.0
 #24 0x00007ffff6a5ef9e in MythUIButtonList::keyPressEvent(QKeyEvent*) ()
    from /usr/lib/libmythui-0.22.so.0
 #25 0x00007ffff6a43e2d in MythThemedMenu::keyPressEvent(QKeyEvent*) ()
    from /usr/lib/libmythui-0.22.so.0
 #26 0x00007ffff69de228 in MythMainWindow::eventFilter(QObject*, QEvent*)
 ()
    from /usr/lib/libmythui-0.22.so.0
 #27 0x00007ffff53ce787 in
 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)
 () from /usr/lib64/qt4/libQtCore.so.4
 #28 0x00007ffff5ba98dc in QApplicationPrivate::notify_helper(QObject*,
 QEvent*)
     () from /usr/lib64/qt4/libQtGui.so.4
 #29 0x00007ffff5bb2192 in QApplication::notify(QObject*, QEvent*) ()
    from /usr/lib64/qt4/libQtGui.so.4
 #30 0x00007ffff53cf43b in QCoreApplication::notifyInternal(QObject*,
 QEvent*)
     () from /usr/lib64/qt4/libQtCore.so.4
 #31 0x00007ffff5c2b9c4 in ?? () from /usr/lib64/qt4/libQtGui.so.4
 #32 0x00007ffff5c2daa0 in ?? () from /usr/lib64/qt4/libQtGui.so.4
 #33 0x00007ffff5c0a45f in QApplication::x11ProcessEvent(_XEvent*) ()
    from /usr/lib64/qt4/libQtGui.so.4
 #34 0x00007ffff5c2f29c in ?? () from /usr/lib64/qt4/libQtGui.so.4
 #35 0x00007fffef0b7609 in g_main_dispatch (context=0x68b040) at
 gmain.c:1824
 #36 IA__g_main_context_dispatch (context=0x68b040) at gmain.c:2377
 #37 0x00007fffef0bac58 in g_main_context_iterate (context=0x68b040,
 block=1,
     dispatch=1, self=<value optimized out>) at gmain.c:2455
 #38 0x00007fffef0bae0c in IA__g_main_context_iteration (context=0x68b040,
     may_block=1) at gmain.c:2518
 #39 0x00007ffff53f3eff in
 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
 () from /usr/lib64/qt4/libQtCore.so.4
 #40 0x00007ffff5c2eb3f in ?? () from /usr/lib64/qt4/libQtGui.so.4
 #41 0x00007ffff53cde22 in
 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
 /usr/lib64/qt4/libQtCore.so.4
 #42 0x00007ffff53cdfbc in
 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
 /usr/lib64/qt4/libQtCore.so.4
 #43 0x00007ffff53d000c in QCoreApplication::exec() ()
    from /usr/lib64/qt4/libQtCore.so.4
 #44 0x000000000043e056 in ?? ()
 #45 0x00007ffff4a40a26 in __libc_start_main (main=0x43a9f0, argc=3,
     ubp_av=0x7fffffffe228, init=0x440b80, fini=<value optimized out>,
     rtld_fini=<value optimized out>, stack_end=0x7fffffffe218)
     at libc-start.c:220

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/8092>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list