Application that crashed: amarok Version of the application: 2.1-SVN KDE Version: 4.2.90 (KDE 4.2.90 (KDE 4.3 Beta2)) Qt Version: 4.5.1 Operating System: Linux 2.6.30-rc6-git3 x86_64 What I was doing when the application crashed: don't know why, just happend when aborting a incremental scan -- Backtrace: Application: Amarok (amarok), signal: Segmentation fault [Current thread is 0 (LWP 13558)] Thread 18 (Thread 0x410a7950 (LWP 13560)): #0 0x00007f370328dc3d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36f191aaf5 in ?? () from /usr/lib64/libxine.so.1 #2 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #3 0x00007f370286eccd in clone () from /lib/libc.so.6 #4 0x0000000000000000 in ?? () Thread 17 (Thread 0x41f57950 (LWP 13561)): #0 0x00007f3702866bb6 in poll () from /lib/libc.so.6 #1 0x00007f36fae8f5e4 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007f36fae8fc9b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007f37035fc465 in QEventDispatcherGlib::processEvents (this=0x8623b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:326 #4 0x00007f37035d2f85 in QEventLoop::processEvents (this=<value optimized out>, flags=@0x41f56f10) at kernel/qeventloop.cpp:149 #5 0x00007f37035d30f6 in QEventLoop::exec (this=0x41f56f50, flags=@0x41f56f60) at kernel/qeventloop.cpp:196 #6 0x00007f37034f804c in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #7 0x00007f36f1b7187e in Phonon::Xine::XineThread::run () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #8 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x821670) at thread/qthread_unix.cpp:189 #9 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #10 0x00007f370286eccd in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 16 (Thread 0x42758950 (LWP 13564)): #0 0x00007f36f1fb2314 in snd_ctl_poll_descriptors () from /usr/lib/libasound.so.2 #1 0x00007f36f1fb868c in snd_mixer_poll_descriptors () from /usr/lib/libasound.so.2 #2 0x00007f36edebe927 in ?? () from /usr/lib64/xine/plugins/1.26/xineplug_ao_out_alsa.so #3 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #4 0x00007f370286eccd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 15 (Thread 0x42f59950 (LWP 13565)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36f1927e7d in ?? () from /usr/lib64/libxine.so.1 #2 0x00007f36f1928cc8 in ?? () from /usr/lib64/libxine.so.1 #3 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #4 0x00007f370286eccd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 14 (Thread 0x4375a950 (LWP 13567)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36ed6ed035 in os_event_wait_low () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed6eb734 in os_aio_simulated_handle () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f36ed6a7133 in fil_aio_wait () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #4 0x00007f36ed545dbd in io_handler_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #5 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #6 0x00007f370286eccd in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 13 (Thread 0x43f5b950 (LWP 13568)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36ed6ed035 in os_event_wait_low () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed6eb734 in os_aio_simulated_handle () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f36ed6a7133 in fil_aio_wait () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #4 0x00007f36ed545dbd in io_handler_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #5 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #6 0x00007f370286eccd in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 12 (Thread 0x4475c950 (LWP 13569)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36ed6ed035 in os_event_wait_low () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed6eb734 in os_aio_simulated_handle () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f36ed6a7133 in fil_aio_wait () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #4 0x00007f36ed545dbd in io_handler_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #5 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #6 0x00007f370286eccd in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 11 (Thread 0x44f5d950 (LWP 13570)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36ed6ed035 in os_event_wait_low () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed6eb734 in os_aio_simulated_handle () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f36ed6a7133 in fil_aio_wait () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #4 0x00007f36ed545dbd in io_handler_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #5 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #6 0x00007f370286eccd in clone () from /lib/libc.so.6 #7 0x0000000000000000 in ?? () Thread 10 (Thread 0x45f5f950 (LWP 13572)): #0 0x00007f3702868a62 in select () from /lib/libc.so.6 #1 0x00007f36ed6ed46b in os_thread_sleep () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed543caa in srv_lock_timeout_and_monitor_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #4 0x00007f370286eccd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 9 (Thread 0x46760950 (LWP 13573)): #0 0x00007f3702868a62 in select () from /lib/libc.so.6 #1 0x00007f36ed6ed46b in os_thread_sleep () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed54433a in srv_error_monitor_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #4 0x00007f370286eccd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 8 (Thread 0x46f61950 (LWP 13574)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f36ed6ed035 in os_event_wait_low () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #2 0x00007f36ed544f8e in srv_master_thread () from /home/user/kde/lib64/kde4/libamarok_collection-sqlcollection.so #3 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #4 0x00007f370286eccd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 7 (Thread 0x47762950 (LWP 13579)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f37034fb875 in QWaitCondition::wait (this=<value optimized out>, mutex=0x184c1c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f36ffcb12d4 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x1705e20) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f36ffcb5170 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1714620, th=0x1705e20) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f36ffcb37e4 in ThreadWeaver::ThreadRunHelper::run (this=0x47761fa0, parent=0x171f720, th=0x1705e20) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:87 #5 0x00007f36ffcb3905 in ThreadWeaver::Thread::run (this=0x1705e20) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:142 #6 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x1705e20) at thread/qthread_unix.cpp:189 #7 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #8 0x00007f370286eccd in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 6 (Thread 0x47f63950 (LWP 13580)): #0 0x00007f3702868a62 in select () from /lib/libc.so.6 #1 0x00007f37035b5a7e in QProcessManager::run (this=0x68f4a0) at io/qprocess_unix.cpp:305 #2 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x68f4a0) at thread/qthread_unix.cpp:189 #3 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #4 0x00007f370286eccd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 5 (Thread 0x48764950 (LWP 13589)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f37034fb875 in QWaitCondition::wait (this=<value optimized out>, mutex=0x184c1c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f36ffcb12d4 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x1992380) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f36ffcb5170 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1714620, th=0x1992380) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f36ffcb37e4 in ThreadWeaver::ThreadRunHelper::run (this=0x48763fa0, parent=0x171f720, th=0x1992380) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:87 #5 0x00007f36ffcb3905 in ThreadWeaver::Thread::run (this=0x1992380) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:142 #6 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x1992380) at thread/qthread_unix.cpp:189 #7 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #8 0x00007f370286eccd in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 4 (Thread 0x48f65950 (LWP 13590)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f37034fb875 in QWaitCondition::wait (this=<value optimized out>, mutex=0x184c1c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f36ffcb12d4 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x198c960) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f36ffcb5170 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1714620, th=0x198c960) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f36ffcb37e4 in ThreadWeaver::ThreadRunHelper::run (this=0x48f64fa0, parent=0x171f720, th=0x198c960) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:87 #5 0x00007f36ffcb3905 in ThreadWeaver::Thread::run (this=0x198c960) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:142 #6 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x198c960) at thread/qthread_unix.cpp:189 #7 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #8 0x00007f370286eccd in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 3 (Thread 0x49766950 (LWP 13623)): #0 0x00007f370328d9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f37034fb875 in QWaitCondition::wait (this=<value optimized out>, mutex=0x184c1c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f36ffcb12d4 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x3b89120) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f36ffcb5170 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1714620, th=0x3b89120) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f36ffcb37e4 in ThreadWeaver::ThreadRunHelper::run (this=0x49765fa0, parent=0x171f720, th=0x3b89120) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:87 #5 0x00007f36ffcb3905 in ThreadWeaver::Thread::run (this=0x3b89120) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/threadweaver/Weaver/Thread.cpp:142 #6 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x3b89120) at thread/qthread_unix.cpp:189 #7 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #8 0x00007f370286eccd in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () Thread 2 (Thread 0x49f67950 (LWP 13625)): #0 0x00007f370328dc3d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f37034fb857 in QWaitCondition::wait (this=<value optimized out>, mutex=0x1a7eb60, time=30000) at thread/qwaitcondition_unix.cpp:85 #2 0x00007f37034f161e in QThreadPoolThread::run (this=0x1f59b10) at concurrent/qthreadpool.cpp:140 #3 0x00007f37034fabf0 in QThreadPrivate::start (arg=0x1f59b10) at thread/qthread_unix.cpp:189 #4 0x00007f3703289097 in start_thread () from /lib/libpthread.so.0 #5 0x00007f370286eccd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f3705aea7b0 (LWP 13558)): [KCrash Handler] #5 0x00007f36ed4147b1 in ScanManager::isDirInCollection (this=0x0, path=@0x7fff7f878200) at /home/user/kde/src/amarok/src/collection/sqlcollection/ScanManager.cpp:216 #6 0x00007f36ed421913 in SqlCollection::isDirInCollection (this=0x8288e0, path=@0x7fff7f878240) at /home/user/kde/src/amarok/src/collection/sqlcollection/SqlCollection.cpp:179 #7 0x00007f36ed4228fe in SqlCollectionDBusHandler::isDirInCollection (this=0x18224e0, path=@0x39e5220) at /home/user/kde/src/amarok/src/collection/sqlcollection/SqlCollectionDBusHandler.cpp:39 #8 0x00007f36ed44ec5f in SqlCollectionAdaptor::isDirInCollection (this=0x184e9f0, in0=@0x39e5220) at /home/user/kde/build/amarok/src/collection/sqlcollection/SqlCollectionAdaptor.cpp:39 #9 0x00007f36ed44ecc4 in SqlCollectionAdaptor::qt_metacall (this=0x184e9f0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff7f878360) at /home/user/kde/build/amarok/src/collection/sqlcollection/SqlCollectionAdaptor.moc:77 #10 0x00007f37038d84b8 in QDBusConnectionPrivate::deliverCall (this=0x67f250, object=0x184e9f0, msg=@0x3b60310, metaTypes=@0x1a97b10, slotIdx=4) at qdbusintegrator.cpp:891 #11 0x00007f37038d93bf in QDBusConnectionPrivate::activateCall (this=0x67f250, object=0x184e9f0, flags=273, msg=@0x3b60310) at qdbusintegrator.cpp:803 #12 0x00007f37038d9b61 in QDBusConnectionPrivate::activateObject (this=0x67f250, node=@0x3b602e8, msg=@0x3b60310, pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1344 #13 0x00007f37038d9c28 in QDBusActivateObjectEvent::placeMetaCall (this=0x3b602a0) at qdbusintegrator.cpp:1469 #14 0x00007f37035e4871 in QObject::event (this=0x18224e0, e=0x3b602a0) at kernel/qobject.cpp:1115 #15 0x00007f37041182fe in QApplicationPrivate::notify_helper () from /usr/lib64/qt4/libQtGui.so.4 #16 0x00007f370411f6e2 in QApplication::notify () from /usr/lib64/qt4/libQtGui.so.4 #17 0x00007f3705609411 in KApplication::notify (this=0x7fff7f879100, receiver=0x18224e0, event=0x3b602a0) at /var/tmp/portage/kde-base/kdelibs-9999-r1/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:302 #18 0x00007f37035d3cf3 in QCoreApplication::notifyInternal (this=0x7fff7f879100, receiver=0x18224e0, event=0x3b602a0) at kernel/qcoreapplication.cpp:606 #19 0x00007f37035d4f8a in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60f1d0) at kernel/qcoreapplication.h:213 #20 0x00007f37035fbe63 in postEventSourceDispatch (s=<value optimized out>) at kernel/qcoreapplication.h:218 #21 0x00007f36fae8c4b2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #22 0x00007f36fae8f795 in ?? () from /usr/lib/libglib-2.0.so.0 #23 0x00007f36fae8fc9b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #24 0x00007f37035fc44e in QEventDispatcherGlib::processEvents (this=0x68b990, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324 #25 0x00007f37041a08cf in ?? () from /usr/lib64/qt4/libQtGui.so.4 #26 0x00007f37035d2f85 in QEventLoop::processEvents (this=<value optimized out>, flags=@0x7fff7f879050) at kernel/qeventloop.cpp:149 #27 0x00007f37035d30f6 in QEventLoop::exec (this=0x7fff7f879090, flags=@0x7fff7f8790a0) at kernel/qeventloop.cpp:196 #28 0x00007f37035d531b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #29 0x0000000000403799 in main (argc=2, argv=0x7fff7f87a2d8) at /home/user/kde/src/amarok/src/main.cpp:128 Reported using DrKonqi
This backtrace is pretty interesting. This line clearly shows that a 0-pointer of ScanManager is being dereferenced: [KCrash Handler] #5 0x00007f36ed4147b1 in ScanManager::isDirInCollection (this=0x0, path=@0x7fff7f878200) at /home/user/kde/src/amarok/src/collection/sqlcollection/ScanManager.cpp:216 Although the report might be a dupe (I think I've seen a similar before), I would like to keep this one open because of the good backtrace. Will look into the problem.
SVN commit 978819 by markey: Don't crash when starting a collection scan after a previous scan had been aborted. We destroyed the ScanManager instance when aborting the scan, and then never instantiated it again, ending up with a 0-pointer dereference. Now we reinstantiate the ScanManager automatically. This seems the safest way to fix this issue for now. I pondered refactoring the code to keep the ScanManager always alive, but this would require major changes and seemed too risky at this point. BUG: 195242 M +0 -1 ScanManager.h M +15 -9 SqlCollection.cpp M +1 -4 SqlCollection.h WebSVN link: http://websvn.kde.org/?view=rev&revision=978819
SVN commit 979107 by mitchell: Fix bug 195242 moar properly. Don't keep regen-ing new instances of the scan manager, just abort what's there. Which means stop having the parser delete its parent for some odd reason. Also a lot of pointer safety checks added. BUG: 195242 M +21 -13 ScanManager.cpp M +2 -0 ScanManager.h M +18 -15 SqlCollection.cpp M +4 -1 SqlCollection.h WebSVN link: http://websvn.kde.org/?view=rev&revision=979107
*** Bug 195110 has been marked as a duplicate of this bug. ***