Bug 161536 - Kopete configuration crashes if webcam in use by another application
Summary: Kopete configuration crashes if webcam in use by another application
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Audio/Video Plugin (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Alan Jones
URL:
Keywords:
: 166926 182636 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-05-02 23:13 UTC by Pekka Vuorela
Modified: 2009-09-28 01:47 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
debug log (14.77 KB, text/plain)
2008-05-02 23:15 UTC, Pekka Vuorela
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pekka Vuorela 2008-05-02 23:13:19 UTC
Version:            (using KDE 4.0.3)
Installed from:    Ubuntu Packages

If webcam is in use by another application when configuring Kopete for the first time, the video settings make Kopete crash.
Comment 1 Pekka Vuorela 2008-05-02 23:15:42 UTC
Created attachment 24606 [details]
debug log
Comment 2 Drew Fisher 2008-07-08 10:14:07 UTC
Confirmed in SVN 829111.  Crash occurs any time another app has opened the webcam and kopete tries to open it too, not just when configuring kopete.  I let kdetv lock the camera, then opened the kopete settings dialog, producing this crash.  Backtrace follows.

Application: Kopete (kopete), signal SIGABRT
[Thread debugging using libthread_db enabled]
[New Thread 0xb5594b40 (LWP 3596)]
[New Thread 0xb0a17b90 (LWP 3611)]
[New Thread 0xb2435b90 (LWP 3607)]
[KCrash handler]
#6  0xb7f71410 in __kernel_vsyscall ()
#7  0xb5a0c085 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb5a0da01 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb7d371d8 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbfa65e00 "ASSERT failure in QVector<T>::operator[]: \"index out of range\", file /home/kdedev/qt-copy/include/QtCore/../../src/corelib/tools/qvector.h, line 331") at global/qglobal.cpp:2058
#10 0xb7d3725d in qFatal (
    msg=0xb7eb4e48 "ASSERT failure in %s: \"%s\", file %s, line %d")
    at global/qglobal.cpp:2260
#11 0xb7d372b4 in qt_assert_x (where=0xb01f203d "QVector<T>::operator[]", 
    what=0xb01f202a "index out of range", 
    file=0xb01f1fe4 "/home/kdedev/qt-copy/include/QtCore/../../src/corelib/tools/qvector.h", line=331) at global/qglobal.cpp:1836
#12 0xb01e61cb in QVector<unsigned char>::operator[] (this=0x888ed64, i=0)
    at /home/kdedev/qt-copy/include/QtCore/../../src/corelib/tools/qvector.h:331
#13 0xb01dba51 in Kopete::AV::VideoDevice::getImage (this=0x888eaa8, 
    qimage=0x8877f20)
    at /home/kdedev/kde/src/KDE/kdenetwork/kopete/libkopete/avdevice/videodevice.cpp:1226
#14 0xb01ed438 in Kopete::AV::VideoDevicePool::getImage (this=0x887f078, 
    qimage=0x8877f20)
    at /home/kdedev/kde/src/KDE/kdenetwork/kopete/libkopete/avdevice/videodevicepool.cpp:435
#15 0xb01fc580 in AVDeviceConfig::slotUpdateImage (this=0x8877f00)
    at /home/kdedev/kde/src/KDE/kdenetwork/kopete/kopete/config/avdevice/avdeviceconfig.cpp:235
#16 0xb01fc195 in AVDeviceConfig::qt_metacall (this=0x8877f00, 
    _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfa6812c)
    at /home/kdedev/kde/build/KDE/kdenetwork/kopete/kopete/config/avdevice/moc_avdeviceconfig.cpp:107
#17 0xb7e69051 in QMetaObject::activate (sender=0x8877f38, 
    from_signal_index=4, to_signal_index=4, argv=0x0)
    at kernel/qobject.cpp:3010
#18 0xb7e695db in QMetaObject::activate (sender=0x8877f38, m=0xb7f6bac4, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3080
#19 0xb7eb37bd in QTimer::timeout (this=0x8877f38)
    at .moc/debug-shared/moc_qtimer.cpp:126
#20 0xb7e744a2 in QTimer::timerEvent (this=0x8877f38, e=0xbfa68664)
    at kernel/qtimer.cpp:263
#21 0xb7e66c4e in QObject::event (this=0x8877f38, e=0xbfa68664)
    at kernel/qobject.cpp:1105
#22 0xb5e0ff55 in QApplicationPrivate::notify_helper (this=0x80ca9b8, 
    receiver=0x8877f38, e=0xbfa68664) at kernel/qapplication.cpp:3772
#23 0xb5e1023b in QApplication::notify (this=0xbfa688f0, receiver=0x8877f38, 
    e=0xbfa68664) at kernel/qapplication.cpp:3366
#24 0xb785348d in KApplication::notify (this=0xbfa688f0, receiver=0x8877f38, 
    event=0xbfa68664)
    at /home/kdedev/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#25 0xb7e5124d in QCoreApplication::notifyInternal (this=0xbfa688f0, 
    receiver=0x8877f38, event=0xbfa68664) at kernel/qcoreapplication.cpp:587
#26 0xb7e557dd in QCoreApplication::sendEvent (receiver=0x8877f38, 
    event=0xbfa68664)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#27 0xb7e89f01 in QTimerInfoList::activateTimers (this=0x80ce1d4)
    at kernel/qeventdispatcher_unix.cpp:563
#28 0xb7e87614 in timerSourceDispatch (source=0x80ce1a0)
    at kernel/qeventdispatcher_glib.cpp:166
#29 0xb5958bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0xb595be5e in ?? () from /usr/lib/libglib-2.0.so.0
#31 0xb595c3ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0xb7e8678c in QEventDispatcherGlib::processEvents (this=0x80d0bf8, 
    flags=@0xbfa687d4) at kernel/qeventdispatcher_glib.cpp:325
#33 0xb5ecbdb0 in QGuiEventDispatcherGlib::processEvents (this=0x80d0bf8, 
    flags=@0xbfa68804) at kernel/qguieventdispatcher_glib.cpp:204
#34 0xb7e4daca in QEventLoop::processEvents (this=0xbfa6888c, 
    flags=@0xbfa68844) at kernel/qeventloop.cpp:149
#35 0xb7e4dd09 in QEventLoop::exec (this=0xbfa6888c, flags=@0xbfa68894)
    at kernel/qeventloop.cpp:200
#36 0xb7e51b84 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#37 0xb5e0fc6e in QApplication::exec () at kernel/qapplication.cpp:3304
#38 0x0808cbd9 in main (argc=1, argv=0xbfa68cd4)
    at /home/kdedev/kde/src/KDE/kdenetwork/kopete/kopete/main.cpp:102
#0  0xb7f71410 in __kernel_vsyscall ()
Comment 3 jetster 2008-11-07 02:49:58 UTC
This bug affects a number of users on Kubuntu 8.10 w/ 4.1.2 and 4.1.3. These users have included the terminal output from Kopete during the crash here:
https://bugs.launchpad.net/ubuntu/+source/kdenetwork/+bug/284153
Comment 4 Matt Rogers 2008-11-18 03:28:28 UTC
*** Bug 166926 has been marked as a duplicate of this bug. ***
Comment 5 Alan Jones 2008-12-29 02:23:19 UTC
SVN commit 902727 by skyphyr:

BUG: 161536
getImage() was attempting to access elements in an empty vector.
Have added a check at the start for the size of the vector to
prevent this.

There is no UI feedback when the camera is already taken like this,
as it seems the camera still responds to some commands causing 
kopete to think it's available. Perhaps the UI should be modified
to show the camera is unavailable? The QImage could be changed at
this point in the code to display a camera unavailable image.


 M  +8 -0      videodevice.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=902727
Comment 6 Dario Andres 2009-09-28 01:47:36 UTC
*** Bug 182636 has been marked as a duplicate of this bug. ***