Version: (using KDE 4.0.83) Installed from: SuSE RPMs OS: Linux i have a monitor with a built in webcam that is connected with via USB. The webcam is correctly detected and works, however, upon unplugging my laptop from the monitor, kopete crashes immediately. I shall post again shortly when I have a backtrace.
Confirmed in trunk r831974 - I open kopete settings, which opens the webcam device, then unplug the device. Backtrace follows: Application: Kopete (kopete), signal SIGABRT [Current thread is 0 (LWP 18896)] Thread 3 (Thread 0xb23c3b90 (LWP 18899)): #0 0xb59510e4 in clock_gettime () from /lib/tls/i686/cmov/librt.so.1 #1 0xb7e0f6ec in QTimerInfoList::getTime (this=0x86096f4, t=@0x8609718) at kernel/qeventdispatcher_unix.cpp:341 #2 0xb7e0f91f in QTimerInfoList::updateCurrentTime (this=0x86096f4) at kernel/qeventdispatcher_unix.cpp:299 #3 0xb7e10005 in QTimerInfoList::timerWait (this=0x86096f4, tm=@0xb23c312c) at kernel/qeventdispatcher_unix.cpp:422 #4 0xb7e0d768 in timerSourcePrepare (source=0x86096c0, timeout=0xb23c3188) at kernel/qeventdispatcher_glib.cpp:142 #5 0xb58d63e0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #6 0xb58d6b09 in ?? () from /usr/lib/libglib-2.0.so.0 #7 0xb58d73ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #8 0xb7e0c7ac in QEventDispatcherGlib::processEvents (this=0x857e620, flags=@0xb23c3264) at kernel/qeventdispatcher_glib.cpp:327 #9 0xb7dd3aca in QEventLoop::processEvents (this=0x8345048, flags=@0xb23c32a4) at kernel/qeventloop.cpp:149 #10 0xb7dd3d09 in QEventLoop::exec (this=0x8345048, flags=@0xb23c32fc) at kernel/qeventloop.cpp:200 #11 0xb314472a in QCA::SyncThread::run () from /home/kdedev/kde/lib/libqca.so.2 #12 0xb7cc9431 in QThreadPrivate::start (arg=0x86092f0) at thread/qthread_unix.cpp:190 #13 0xb7c374fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #14 0xb5a32e5e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 2 (Thread 0xb2bc4b90 (LWP 18900)): #0 0xb7ef7410 in __kernel_vsyscall () #1 0xb7c3baa5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb7cc9f90 in QWaitConditionPrivate::wait (this=0x8792f10, time=4294967295) at thread/qwaitcondition_unix.cpp:88 #3 0xb7cc9a8f in QWaitCondition::wait (this=0x878bbe8, mutex=0x878bbe4, time=4294967295) at thread/qwaitcondition_unix.cpp:265 #4 0xb68b5f8c in QHostInfoAgent::run (this=0x878bbd8) at kernel/qhostinfo.cpp:247 #5 0xb7cc9431 in QThreadPrivate::start (arg=0x878bbd8) at thread/qthread_unix.cpp:190 #6 0xb7c374fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xb5a32e5e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread 0xb550e720 (LWP 18896)): [KCrash Handler] #6 0xb7ef7410 in __kernel_vsyscall () #7 0xb5987085 in raise () from /lib/tls/i686/cmov/libc.so.6 #8 0xb5988a01 in abort () from /lib/tls/i686/cmov/libc.so.6 #9 0xb7cbd1d8 in qt_message_output (msgType=QtFatalMsg, buf=0xbfac8830 "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 0xb7cbd25d in qFatal (msg=0xb7e3ae48 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2260 #11 0xb7cbd2b4 in qt_assert_x (where=0xb045bc3d "QVector<T>::operator[]", what=0xb045bc2a "index out of range", file=0xb045bbe4 "/home/kdedev/qt-copy/include/QtCore/../../src/corelib/tools/qvector.h", line=331) at global/qglobal.cpp:1836 #12 0xb0457441 in QVector<Kopete::AV::VideoDevice>::operator[] (this=0x9d89610, i=0) at /home/kdedev/qt-copy/include/QtCore/../../src/corelib/tools/qvector.h:331 #13 0xb045540d in Kopete::AV::VideoDevicePool::width (this=0x9d89608) at /home/kdedev/kde/src/KDE/kdenetwork/kopete/libkopete/avdevice/videodevicepool.cpp:149 #14 0xb0455500 in Kopete::AV::VideoDevicePool::getImage (this=0x9d89608, qimage=0x9d105a8) at /home/kdedev/kde/src/KDE/kdenetwork/kopete/libkopete/avdevice/videodevicepool.cpp:442 #15 0xb0464580 in AVDeviceConfig::slotUpdateImage (this=0x9d10588) at /home/kdedev/kde/src/KDE/kdenetwork/kopete/kopete/config/avdevice/avdeviceconfig.cpp:235 #16 0xb0464195 in AVDeviceConfig::qt_metacall (this=0x9d10588, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfacaa0c) at /home/kdedev/kde/build/KDE/kdenetwork/kopete/kopete/config/avdevice/moc_avdeviceconfig.cpp:107 #17 0xb7def051 in QMetaObject::activate (sender=0x9d105c0, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3010 #18 0xb7def5db in QMetaObject::activate (sender=0x9d105c0, m=0xb7ef1ac4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3080 #19 0xb7e397bd in QTimer::timeout (this=0x9d105c0) at .moc/debug-shared/moc_qtimer.cpp:126 #20 0xb7dfa4a2 in QTimer::timerEvent (this=0x9d105c0, e=0xbfacaf44) at kernel/qtimer.cpp:263 #21 0xb7decc4e in QObject::event (this=0x9d105c0, e=0xbfacaf44) at kernel/qobject.cpp:1105 #22 0xb5d8af55 in QApplicationPrivate::notify_helper (this=0x80cd188, receiver=0x9d105c0, e=0xbfacaf44) at kernel/qapplication.cpp:3772 #23 0xb5d8b23b in QApplication::notify (this=0xbfacb1d0, receiver=0x9d105c0, e=0xbfacaf44) at kernel/qapplication.cpp:3366 #24 0xb77d173d in KApplication::notify (this=0xbfacb1d0, receiver=0x9d105c0, event=0xbfacaf44) at /home/kdedev/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311 #25 0xb7dd724d in QCoreApplication::notifyInternal (this=0xbfacb1d0, receiver=0x9d105c0, event=0xbfacaf44) at kernel/qcoreapplication.cpp:587 #26 0xb7ddb7dd in QCoreApplication::sendEvent (receiver=0x9d105c0, event=0xbfacaf44) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #27 0xb7e0ff01 in QTimerInfoList::activateTimers (this=0x80d0994) at kernel/qeventdispatcher_unix.cpp:563 #28 0xb7e0d614 in timerSourceDispatch (source=0x80d0960) at kernel/qeventdispatcher_glib.cpp:166 #29 0xb58d3bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #30 0xb58d6e5e in ?? () from /usr/lib/libglib-2.0.so.0 #31 0xb58d73ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #32 0xb7e0c7ac in QEventDispatcherGlib::processEvents (this=0x80d8088, flags=@0xbfacb0b4) at kernel/qeventdispatcher_glib.cpp:327 #33 0xb5e46db0 in QGuiEventDispatcherGlib::processEvents (this=0x80d8088, flags=@0xbfacb0e4) at kernel/qguieventdispatcher_glib.cpp:204 #34 0xb7dd3aca in QEventLoop::processEvents (this=0xbfacb16c, flags=@0xbfacb124) at kernel/qeventloop.cpp:149 #35 0xb7dd3d09 in QEventLoop::exec (this=0xbfacb16c, flags=@0xbfacb174) at kernel/qeventloop.cpp:200 #36 0xb7dd7b84 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845 #37 0xb5d8ac6e in QApplication::exec () at kernel/qapplication.cpp:3304 #38 0x0808ce99 in main (argc=1, argv=0xbfacb5b4) at /home/kdedev/kde/src/KDE/kdenetwork/kopete/kopete/main.cpp:102
are you using the gspca driver?
mattr: No, I'm using uvcvideo. New backtrace as of svn r901580: Application: Kopete (kopete), signal SIGABRT 0x00007f674249eb50 in __nanosleep_nocancel () from /lib/libc.so.6 Thread 1 (Thread 0x7f67482656f0 (LWP 25907)): [KCrash Handler] #5 0x00007f6742433095 in raise () from /lib/libc.so.6 #6 0x00007f6742434af0 in abort () from /lib/libc.so.6 #7 0x00007f674416c75a in qt_message_output (msgType=QtFatalMsg, buf=0x7fff502a7300 "ASSERT: \"i >= 0 && i < height()\" in file image/qimage.cpp, line 1750") at global/qglobal.cpp:2102 #8 0x00007f674416c87b in qFatal (msg=0x7f67442e84d8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2303 #9 0x00007f674416cce9 in qt_assert (assertion=0x7f67437b16c4 "i >= 0 && i < height()", file=0x7f67437b1599 "image/qimage.cpp", line=1750) at global/qglobal.cpp:1872 #10 0x00007f67431ac7bc in QImage::scanLine (this=0xabb3a0, i=0) at image/qimage.cpp:1750 #11 0x00007f6735108aec in Kopete::AV::VideoDevice::getImage (this=0xd984d0, qimage=0xabb3a0) at /home/zarvox/kde/src/KDE/kdenetwork/kopete/libkopete/avdevice/videodevice.cpp:1281 #12 0x00007f6735117bf6 in Kopete::AV::VideoDevicePool::getImage (this=0xea11a0, qimage=0xabb3a0) at /home/zarvox/kde/src/KDE/kdenetwork/kopete/libkopete/avdevice/videodevicepool.cpp:436 #13 0x00007f673532ca74 in AVDeviceConfig::slotUpdateImage (this=0xabb360) at /home/zarvox/kde/src/KDE/kdenetwork/kopete/kopete/config/avdevice/avdeviceconfig.cpp:235 #14 0x00007f673532c743 in AVDeviceConfig::qt_metacall (this=0xabb360, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7fff502a9830) at /home/zarvox/kde/build/KDE/kdenetwork/kopete/kopete/config/avdevice/moc_avdeviceconfig.cpp:107 #15 0x00007f674429d2bf in QMetaObject::activate (sender=0xabb3d0, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3031 #16 0x00007f674429d845 in QMetaObject::activate (sender=0xabb3d0, m=0x7f67445be7e0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3101 #17 0x00007f67442e6e40 in QTimer::timeout (this=0xabb3d0) at .moc/debug-shared/moc_qtimer.cpp:126 #18 0x00007f67442a86d0 in QTimer::timerEvent (this=0xabb3d0, e=0x7fff502aa0d0) at kernel/qtimer.cpp:257 #19 0x00007f674429ae60 in QObject::event (this=0xabb3d0, e=0x7fff502aa0d0) at kernel/qobject.cpp:1120 #20 0x00007f67430dfc2b in QApplicationPrivate::notify_helper (this=0x6c8d80, receiver=0xabb3d0, e=0x7fff502aa0d0) at kernel/qapplication.cpp:3803 #21 0x00007f67430dff3a in QApplication::notify (this=0x7fff502aa4d0, receiver=0xabb3d0, e=0x7fff502aa0d0) at kernel/qapplication.cpp:3393 #22 0x00007f6744f040ac in KApplication::notify (this=0x7fff502aa4d0, receiver=0xabb3d0, event=0x7fff502aa0d0) at /home/zarvox/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307 #23 0x00007f6744285005 in QCoreApplication::notifyInternal (this=0x7fff502aa4d0, receiver=0xabb3d0, event=0x7fff502aa0d0) at kernel/qcoreapplication.cpp:587 #24 0x00007f674636fdc3 in QCoreApplication::sendEvent (receiver=0xabb3d0, event=0x7fff502aa0d0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209 #25 0x00007f67442bd98d in QTimerInfoList::activateTimers (this=0x6cd930) at kernel/qeventdispatcher_unix.cpp:557 #26 0x00007f67442bafcf in timerSourceDispatch (source=0x6cd8d0) at kernel/qeventdispatcher_glib.cpp:160 #27 0x00007f673ecfc364 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #28 0x00007f673ecff675 in ?? () from /usr/lib/libglib-2.0.so.0 #29 0x00007f673ecffb5b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #30 0x00007f67442ba070 in QEventDispatcherGlib::processEvents (this=0x6c8950, flags=@0x7fff502aa310) at kernel/qeventdispatcher_glib.cpp:319 #31 0x00007f6743198ddf in QGuiEventDispatcherGlib::processEvents (this=0x6c8950, flags=@0x7fff502aa370) at kernel/qguieventdispatcher_glib.cpp:198 #32 0x00007f6744281a2c in QEventLoop::processEvents (this=0x7fff502aa430, flags=@0x7fff502aa3f0) at kernel/qeventloop.cpp:143 #33 0x00007f6744281c28 in QEventLoop::exec (this=0x7fff502aa430, flags=@0x7fff502aa450) at kernel/qeventloop.cpp:194 #34 0x00007f67442859f3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845 #35 0x00007f67430df98c in QApplication::exec () at kernel/qapplication.cpp:3331 #36 0x000000000044d472 in main (argc=1, argv=0x7fff502ab288) at /home/zarvox/kde/src/KDE/kdenetwork/kopete/kopete/main.cpp:102
SVN commit 904382 by skyphyr: BUG: 166402 Have created a dummy video device to stand in when a video device unexpectedly disappears and created QVector derivitive to handle checking each time access is attempted. This should also allow the removal of some other code that performs these checks shifting it all into one class. M +2 -0 CMakeLists.txt AM dummyvideodevice.cpp [License: LGPL (v3+)] AM dummyvideodevice.h [License: LGPL (v3+)] M +13 -13 videodevice.h M +6 -3 videodevicepool.h AM videodevicevector.cpp [License: LGPL (v3+)] AM videodevicevector.h [License: LGPL (v3+)] WebSVN link: http://websvn.kde.org/?view=rev&revision=904382