Bug 241507 - Kopete configure dialog hangs waiting for v4l
Summary: Kopete configure dialog hangs waiting for v4l
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Audio/Video Plugin (show other bugs)
Version: 1.0.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 242952 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-12 08:12 UTC by Arthur Pemberton
Modified: 2010-06-27 15:30 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace from hang point (3.18 KB, text/plain)
2010-06-12 08:12 UTC, Arthur Pemberton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arthur Pemberton 2010-06-12 08:12:03 UTC
Created attachment 47925 [details]
Backtrace from hang point

Version:           1.00 (using KDE 4.4.3) 
OS:                Linux

The configure dialogue hangs on launch making Kopete unusable. Backtrace suggests that it is waiting for v4l, which is used by (what I consider to be) a non essential component of the configuration.

Reproducible: Always

Steps to Reproduce:
1. Launch Kopete
2. Go to Configure dialogue

Actual Results:  
Dialogue is drawn blank, and program becomes unresponsive and has to be terminated

Expected Results:  
Configuration dialogue loads

Notes:
 * I have two IVTV video cards
 * I have no webcams connected
 * The same setup worked in Fedora 11 just before I switched to Fedora 13

Packages:
 * kdenetwork-4.4.3-3.fc13.x86_64
 * libv4l-0.7.91-1.fc13.x86_64
 * kernel-2.6.33.5-112.fc13.x86_64
Comment 1 Nicolas L. 2010-06-17 11:02:51 UTC
Backtrace from this bugreport : 

(gdb) bt
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:39
#1  0x0000003332204916 in v4l2_read () from /usr/lib64/libv4l2.so.0
#2  0x000000333540bf7e in Kopete::AV::VideoDevice::getFrame (this=0x2ab9010) at /usr/src/debug/kdenetwork-4.4.3/kopete/libkopete/avdevice/videodevice.cpp:1034
#3  0x0000003335414c99 in Kopete::AV::VideoDevicePool::getFrame (this=0x2a99960)
    at /usr/src/debug/kdenetwork-4.4.3/kopete/libkopete/avdevice/videodevicepool.cpp:413
#4  0x00007fcf5b33bdd8 in AVDeviceConfig::slotUpdateImage (this=0x2a8ef80)
    at /usr/src/debug/kdenetwork-4.4.3/kopete/kopete/config/avdevice/avdeviceconfig.cpp:251
#5  0x00007fcf5b33bccc in AVDeviceConfig::qt_metacall (this=0x2a8ef80, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff5644f6d0)
    at /usr/src/debug/kdenetwork-4.4.3/x86_64-redhat-linux-gnu/kopete/kopete/config/avdevice/moc_avdeviceconfig.cpp:114
#6  0x000000332556a81f in QMetaObject::activate (sender=0x2a8eff0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0)
    at kernel/qobject.cpp:3293
#7  0x0000003325566a2e in QObject::event (this=0x2a8eff0, e=0x7fff5644fe20) at kernel/qobject.cpp:1212
#8  0x0000003327faaa0c in QApplicationPrivate::notify_helper (this=0x23d6060, receiver=0x2a8eff0, e=0x7fff5644fe20) at kernel/qapplication.cpp:4300
#9  0x0000003327fb09db in QApplication::notify (this=<value optimized out>, receiver=0x2a8eff0, e=0x7fff5644fe20) at kernel/qapplication.cpp:4183
#10 0x000000332a406da6 in KApplication::notify (this=0x7fff56450170, receiver=0x2a8eff0, event=0x7fff5644fe20)
    at /usr/src/debug/kdelibs-4.4.3/kdeui/kernel/kapplication.cpp:302
#11 0x0000003325557cdc in QCoreApplication::notifyInternal (this=0x7fff56450170, receiver=0x2a8eff0, event=0x7fff5644fe20) at kernel/qcoreapplication.cpp:704
#12 0x00000033255804a2 in sendEvent (this=0x23d9840) at kernel/qcoreapplication.h:215
#13 QTimerInfoList::activateTimers (this=0x23d9840) at kernel/qeventdispatcher_unix.cpp:603
#14 0x000000332557d914 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#15 0x000000331dc3bd02 in g_main_dispatch (context=0x23d8920) at gmain.c:1960
#16 IA__g_main_context_dispatch (context=0x23d8920) at gmain.c:2513
#17 0x000000331dc3fae8 in g_main_context_iterate (context=0x23d8920, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591
#18 0x000000331dc3fc9c in IA__g_main_context_iteration (context=0x23d8920, may_block=1) at gmain.c:2654
#19 0x000000332557d603 in QEventDispatcherGlib::processEvents (this=0x239c1b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#20 0x00000033280499de in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#21 0x0000003325556722 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#22 0x00000033255569ec in QEventLoop::exec (this=0x7fff564500c0, flags=...) at kernel/qeventloop.cpp:201
#23 0x0000003325558cd9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#24 0x0000000000414462 in main (argc=1, argv=0x7fff56450ff8) at /usr/src/debug/kdenetwork-4.4.3/kopete/kopete/main.cpp:105
Comment 2 Frank Schaefer 2010-06-18 16:23:13 UTC
Please start Kopete from the console and check for error messages when the freezing occurs (please post them).
Comment 3 Arthur Pemberton 2010-06-18 18:36:45 UTC
$ kopete
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
kopete(31377)/kio (KDirWatch) KDirWatchPrivate::removeEntry: doesn't know "/home/pembo13/Documents" 
Calling appendChild() on a null node does nothing.
Calling appendChild() on a null node does nothing.
kopete(31377)/libkopete Kopete::PluginManager::loadPluginInternal: Unable to find a plugin named ' "" '! 
VIDIOC_ENUM_FMT: Invalid argument
VIDIOC_ENUM_FMT: Invalid argument
VIDIOC_ENUM_FMT: Invalid argument
VIDIOC_ENUM_FMT: Invalid argument                                                                                                                              
VIDIOC_ENUM_FMT: Invalid argument                                                                                                                              
VIDIOC_ENUM_FMT: Invalid argument                                                                                                                              
VIDIOC_ENUM_FMT: Invalid argument                                                                                                                              
QObject::connect: Cannot connect (null)::onlineStatusChanged(Kopete::Contact *, const Kopete::OnlineStatus &, const Kopete::OnlineStatus &) to Kopete::Identity::updateOnlineStatus()
Comment 4 Frank Schaefer 2010-06-18 20:02:39 UTC
SVN commit 1139611 by fschaefer:

Fix freezing of the video configuration dialog by switching to non-blocking device access

BUG: 167011
BUG: 241507
CCBUG: 236240


 M  +3 -1      kopete/config/avdevice/avdeviceconfig.cpp  
 M  +13 -21    libkopete/avdevice/videodevice.cpp  
 M  +2 -14     libkopete/avdevice/videodevicepool.cpp  
 M  +2 -1      libkopete/ui/avatarwebcamdialog.cpp  
 M  +10 -6     protocols/qq/ui/qqwebcamdialog.cpp  
 M  +8 -5      protocols/testbed/ui/testbedwebcamdialog.cpp  
 M  +8 -4      protocols/yahoo/yahoowebcam.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1139611
Comment 5 Frank Schaefer 2010-06-27 15:30:34 UTC
*** Bug 242952 has been marked as a duplicate of this bug. ***