Summary: | Amarok forgets about removed Removable Collection [Meta::MediaDeviceTrack::prepareToPlay, EngineController::setNextTrack, Playlist::Actions::play] | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Lukas <1lukas1> |
Component: | Playback | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, brian.king, cw, gregoirepeinturier, kde, kilem86, ravenwyn, robin |
Priority: | NOR | Keywords: | release_blocker |
Version: | 2.3-GIT | ||
Target Milestone: | 2.2.2 | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Lukas
2009-10-13 21:37:07 UTC
If you can reproduce the crash at will (or you experience this regularly), can you install the "amarok-debuginfo" package and post a complete backtrace here? Thanks Application: Amarok (amarok), signal: Segmentation fault [Current thread is 1 (Thread 0xb2bb5730 (LWP 13894))] Thread 16 (Thread 0xafe1db90 (LWP 13895)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657ff62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b84 in pthread_cond_timedwait () from /lib/libc.so.6 #3 0xb12f7721 in ?? () from /usr/lib/libxine.so.1 #4 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #5 0xb66b63ae in clone () from /lib/libc.so.6 Thread 15 (Thread 0xaf452b90 (LWP 13896)): #0 0xb42c43da in clock_gettime () from /lib/librt.so.1 #1 0xb733262b in QTimerInfoList::getTime (this=0x821d96c, t=@0x821d990) at kernel/qeventdispatcher_unix.cpp:339 #2 0xb7332801 in QTimerInfoList::updateCurrentTime (this=0x821d96c) at kernel/qeventdispatcher_unix.cpp:297 #3 0xb73309f3 in timerSourceCheck (source=0x821d938) at kernel/qeventdispatcher_glib.cpp:157 #4 0xb42375d8 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #5 0xb4237f6d in ?? () from /usr/lib/libglib-2.0.so.0 #6 0xb4238241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #7 0xb73308f7 in QEventDispatcherGlib::processEvents (this=0x829c858, flags={i = -1354423736}) at kernel/qeventdispatcher_glib.cpp:329 #8 0xb730378a in QEventLoop::processEvents (this=0xaf4522c0, flags={i = -1354423672}) at kernel/qeventloop.cpp:149 #9 0xb7303bd2 in QEventLoop::exec (this=0xaf4522c0, flags={i = -1354423608}) at kernel/qeventloop.cpp:201 #10 0xb720d229 in QThread::exec (this=0x81daa58) at thread/qthread.cpp:487 #11 0xb0f4e899 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #12 0xb7210572 in QThreadPrivate::start (arg=0x81daa58) at thread/qthread_unix.cpp:188 #13 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #14 0xb66b63ae in clone () from /lib/libc.so.6 Thread 14 (Thread 0xaec1cb90 (LWP 13899)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb66ac697 in poll () from /lib/libc.so.6 #2 0xaf611004 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so #3 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #4 0xb66b63ae in clone () from /lib/libc.so.6 Thread 13 (Thread 0xae41bb90 (LWP 13900)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb1309f43 in ?? () from /usr/lib/libxine.so.1 #4 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #5 0xb66b63ae in clone () from /lib/libc.so.6 Thread 12 (Thread 0xadaffb90 (LWP 13901)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb1309f43 in ?? () from /usr/lib/libxine.so.1 #4 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #5 0xb66b63ae in clone () from /lib/libc.so.6 Thread 11 (Thread 0xac2e4b90 (LWP 13903)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657ff62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b84 in pthread_cond_timedwait () from /lib/libc.so.6 #3 0xb13061ae in ?? () from /usr/lib/libxine.so.1 #4 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #5 0xb66b63ae in clone () from /lib/libc.so.6 Thread 10 (Thread 0xaba38b90 (LWP 13904)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb7211582 in QWaitCondition::wait (this=0x8de6ca0, mutex=0x8cb1048, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #4 0xb5b6c1a8 in ?? () from /usr/lib/libthreadweaver.so.4 #5 0xb5b6eeec in ?? () from /usr/lib/libthreadweaver.so.4 #6 0xb5b6ad8b in ?? () from /usr/lib/libthreadweaver.so.4 #7 0xb5b6efea in ?? () from /usr/lib/libthreadweaver.so.4 #8 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #9 0xb5b6d00e in ?? () from /usr/lib/libthreadweaver.so.4 #10 0xb5b6d64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #11 0xb7210572 in QThreadPrivate::start (arg=0x8214868) at thread/qthread_unix.cpp:188 #12 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #13 0xb66b63ae in clone () from /lib/libc.so.6 Thread 9 (Thread 0xab237b90 (LWP 13905)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb7211582 in QWaitCondition::wait (this=0x8de6ca0, mutex=0x8cb1048, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #4 0xb5b6c1a8 in ?? () from /usr/lib/libthreadweaver.so.4 #5 0xb5b6eeec in ?? () from /usr/lib/libthreadweaver.so.4 #6 0xb5b6ad8b in ?? () from /usr/lib/libthreadweaver.so.4 #7 0xb5b6efea in ?? () from /usr/lib/libthreadweaver.so.4 #8 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #9 0xb5b6d00e in ?? () from /usr/lib/libthreadweaver.so.4 #10 0xb5b6d64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #11 0xb7210572 in QThreadPrivate::start (arg=0x8202050) at thread/qthread_unix.cpp:188 #12 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #13 0xb66b63ae in clone () from /lib/libc.so.6 Thread 8 (Thread 0xa993eb90 (LWP 13908)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb7211582 in QWaitCondition::wait (this=0x8de6ca0, mutex=0x8cb1048, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #4 0xb5b6c1a8 in ?? () from /usr/lib/libthreadweaver.so.4 #5 0xb5b6eeec in ?? () from /usr/lib/libthreadweaver.so.4 #6 0xb5b6ad8b in ?? () from /usr/lib/libthreadweaver.so.4 #7 0xb5b6efea in ?? () from /usr/lib/libthreadweaver.so.4 #8 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #9 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #10 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #11 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #12 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #13 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #14 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #15 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #16 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #17 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #18 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #19 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #20 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #21 0xb5b6d00e in ?? () from /usr/lib/libthreadweaver.so.4 #22 0xb5b6d64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #23 0xb7210572 in QThreadPrivate::start (arg=0x8caf730) at thread/qthread_unix.cpp:188 #24 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #25 0xb66b63ae in clone () from /lib/libc.so.6 Thread 7 (Thread 0xa8e39b90 (LWP 13909)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb7211582 in QWaitCondition::wait (this=0x8de6ca0, mutex=0x8cb1048, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #4 0xb5b6c1a8 in ?? () from /usr/lib/libthreadweaver.so.4 #5 0xb5b6eeec in ?? () from /usr/lib/libthreadweaver.so.4 #6 0xb5b6ad8b in ?? () from /usr/lib/libthreadweaver.so.4 #7 0xb5b6efea in ?? () from /usr/lib/libthreadweaver.so.4 #8 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #9 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #10 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #11 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #12 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #13 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #14 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #15 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #16 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #17 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #18 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #19 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #20 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #21 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #22 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #23 0xb5b6f009 in ?? () from /usr/lib/libthreadweaver.so.4 #24 0xb5b6c723 in ?? () from /usr/lib/libthreadweaver.so.4 #25 0xb5b6d00e in ?? () from /usr/lib/libthreadweaver.so.4 #26 0xb5b6d64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #27 0xb7210572 in QThreadPrivate::start (arg=0x812fd70) at thread/qthread_unix.cpp:188 #28 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #29 0xb66b63ae in clone () from /lib/libc.so.6 Thread 6 (Thread 0xa5b6db90 (LWP 13910)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb12fb47c in ?? () from /usr/lib/libxine.so.1 #4 0xb13018a1 in ?? () from /usr/lib/libxine.so.1 #5 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #6 0xb66b63ae in clone () from /lib/libc.so.6 Thread 5 (Thread 0xa519fb90 (LWP 13911)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb12fb47c in ?? () from /usr/lib/libxine.so.1 #4 0xb1302a9d in ?? () from /usr/lib/libxine.so.1 #5 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #6 0xb66b63ae in clone () from /lib/libc.so.6 Thread 4 (Thread 0xa499eb90 (LWP 13912)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657fc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b2d in pthread_cond_wait () from /lib/libc.so.6 #3 0xb130d138 in ?? () from /usr/lib/libxine.so.1 #4 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #5 0xb66b63ae in clone () from /lib/libc.so.6 Thread 3 (Thread 0x9adffb90 (LWP 13919)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657ff62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b84 in pthread_cond_timedwait () from /lib/libc.so.6 #3 0xb721155c in QWaitCondition::wait (this=0xb0ddf18, mutex=0xb0ddf14, time=30000) at thread/qwaitcondition_unix.cpp:85 #4 0xb7206b96 in QThreadPoolThread::run (this=0x88430d8) at concurrent/qthreadpool.cpp:140 #5 0xb7210572 in QThreadPrivate::start (arg=0x88430d8) at thread/qthread_unix.cpp:188 #6 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #7 0xb66b63ae in clone () from /lib/libc.so.6 Thread 2 (Thread 0x9a5feb90 (LWP 13920)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb657ff62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb66c2b84 in pthread_cond_timedwait () from /lib/libc.so.6 #3 0xb721155c in QWaitCondition::wait (this=0xb0ddf18, mutex=0xb0ddf14, time=30000) at thread/qwaitcondition_unix.cpp:85 #4 0xb7206b96 in QThreadPoolThread::run (this=0xb0cca58) at concurrent/qthreadpool.cpp:140 #5 0xb7210572 in QThreadPrivate::start (arg=0xb0cca58) at thread/qthread_unix.cpp:188 #6 0xb657c1b5 in start_thread () from /lib/libpthread.so.0 #7 0xb66b63ae in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb2bb5730 (LWP 13894)): [KCrash Handler] #6 0xb78c723c in Meta::MediaDeviceTrack::prepareToPlay (this=0xb133418) at /usr/src/debug/amarok-2.2.0/src/collection/mediadevicecollection/MediaDeviceMeta.cpp:351 #7 0xb7aac094 in EngineController::setNextTrack (this=0x81f0880, track={d = 0xbfb89058}) at /usr/src/debug/amarok-2.2.0/src/EngineController.cpp:646 #8 0xb77e6c42 in Playlist::Actions::play (this=0x81ac640, trackid=5924618162006417227, now=false) at /usr/src/debug/amarok-2.2.0/src/playlist/PlaylistActions.cpp:214 #9 0xb77e731e in Playlist::Actions::requestNextTrack (this=0x81ac640) at /usr/src/debug/amarok-2.2.0/src/playlist/PlaylistActions.cpp:134 #10 0xb7aad3d0 in EngineController::slotAboutToFinish (this=0x81f0880) at /usr/src/debug/amarok-2.2.0/src/EngineController.cpp:874 #11 0xb7aad61a in EngineController::qt_metacall (this=0x81f0880, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0xbfb89248) at /usr/src/debug/amarok-2.2.0/build/src/EngineController.moc:145 #12 0xb731a788 in QMetaObject::activate (sender=0x81e3be0, from_signal_index=12, to_signal_index=12, argv=0x0) at kernel/qobject.cpp:3113 #13 0xb731b412 in QMetaObject::activate (sender=0x81e3be0, m=0xb5afe068, local_signal_index=8, argv=0x0) at kernel/qobject.cpp:3187 #14 0xb5ad1d47 in Phonon::MediaObject::aboutToFinish() () from /usr/lib/libphonon.so.4 #15 0xb5ad2950 in ?? () from /usr/lib/libphonon.so.4 #16 0xb5ad3c4f in Phonon::MediaObject::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libphonon.so.4 #17 0xb731a788 in QMetaObject::activate (sender=0x81f1708, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113 #18 0xb731b412 in QMetaObject::activate (sender=0x81f1708, m=0xb0f83f60, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187 #19 0xb0f5f077 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #20 0xb0f60400 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #21 0xb0f6139e in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #22 0xb7313eab in QMetaCallEvent::placeMetaCall (this=0xadb17b00, object=0x81f1708) at kernel/qobject.cpp:477 #23 0xb7315970 in QObject::event (this=0x81f1708, e=0xadb17b00) at kernel/qobject.cpp:1111 #24 0xb69557bc in QApplicationPrivate::notify_helper (this=0x81294f8, receiver=0x81f1708, e=0xadb17b00) at kernel/qapplication.cpp:4056 #25 0xb695daae in QApplication::notify (this=0xbfb89e44, receiver=0x81f1708, e=0xadb17b00) at kernel/qapplication.cpp:3603 #26 0xb7e3517d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #27 0xb730516b in QCoreApplication::notifyInternal (this=0xbfb89e44, receiver=0x81f1708, event=0xadb17b00) at kernel/qcoreapplication.cpp:610 #28 0xb7305db5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8074ab8) at kernel/qcoreapplication.h:213 #29 0xb7305fad in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140 #30 0xb7330c8f in postEventSourceDispatch (s=0x8129da0) at kernel/qcoreapplication.h:218 #31 0xb42349c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #32 0xb4238083 in ?? () from /usr/lib/libglib-2.0.so.0 #33 0xb4238241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #34 0xb73308d8 in QEventDispatcherGlib::processEvents (this=0x8074708, flags={i = -1078420952}) at kernel/qeventdispatcher_glib.cpp:327 #35 0xb69f5ca5 in QGuiEventDispatcherGlib::processEvents (this=0x8074708, flags={i = -1078420904}) at kernel/qguieventdispatcher_glib.cpp:202 #36 0xb730378a in QEventLoop::processEvents (this=0xbfb89ad0, flags={i = -1078420840}) at kernel/qeventloop.cpp:149 #37 0xb7303bd2 in QEventLoop::exec (this=0xbfb89ad0, flags={i = -1078420776}) at kernel/qeventloop.cpp:201 #38 0xb7306079 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #39 0xb6955637 in QApplication::exec () at kernel/qapplication.cpp:3525 #40 0x08051fed in main (argc=1, argv=0xbfb8a624) at /usr/src/debug/amarok-2.2.0/src/main.cpp:225 If it looks better. I have amarok, amarok-debuginfo, amarok-debugsource, vesion 2.2.0-31.2 installed from http://download.opensuse.org/repositories/KDE%3a/KDE4%3a/Playground/openSUSE_11.1_KDE4_Factory_Desktop/ repo, if that helps *** Bug 213566 has been marked as a duplicate of this bug. *** This is fixed in current Amarok 2.2-git. Feel free to reopen this report if you can reporude this with a valid backtrace with the latest developer version or the next Amarok 2.2.2 (to be released in approx. 6-7 weeks). Reproduce*, sorry for the typo re-opening as it is not fixed with 2.2 git. Just reproduced it with my MTP device: - append an album from MTP collection to playlist - disconnect the device - as soon as amarok tries to play the album it crashes Thread 1 (Thread 0x7f0e71fc9770 (LWP 30368)): [KCrash Handler] #5 0x00007f0e70f55430 in Meta::MediaDeviceTrack::prepareToPlay (this=0x4d9cad0) at /home/mikko/amarok/src/collection/mediadevicecollection/MediaDeviceMeta.cpp:353 #6 0x00007f0e711827cd in EngineController::setNextTrack (this=0x20c2a10, track=...) at /home/mikko/amarok/src/EngineController.cpp:652 #7 0x00007f0e70e278f9 in Playlist::Actions::play (this=0x24cf6e0, trackid=2158491985978629680, now=false) at /home/mikko/amarok/src/playlist/PlaylistActions.cpp:216 #8 0x00007f0e70e273bb in Playlist::Actions::requestNextTrack (this=0x24cf6e0) at /home/mikko/amarok/src/playlist/PlaylistActions.cpp:136 #9 0x00007f0e7118430d in EngineController::slotAboutToFinish (this=0x20c2a10) at /home/mikko/amarok/src/EngineController.cpp:880 #10 0x00007f0e71186cf7 in EngineController::qt_metacall (this=0x20c2a10, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0x7fffad3370a0) at /home/mikko/amarok/build/src/EngineController.moc:149 #11 0x00007f0e7043c425 in QMetaObject::activate (sender=0x20c2e70, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x4cc03d8) at kernel/qobject.cpp:3274 #12 0x00007f0e6b97e6e0 in Phonon::MediaObjectPrivate::_k_aboutToFinish() () from /usr/lib64/libphonon.so.4 #13 0x00007f0e6b97f19e in Phonon::MediaObject::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libphonon.so.4 #14 0x00007f0e7043c425 in QMetaObject::activate (sender=0x20c87f0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x4cc03d8) at kernel/qobject.cpp:3274 #15 0x00007f0e60b5c7ed in Phonon::Xine::MediaObject::needNextUrl() () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #16 0x00007f0e60b5f572 in Phonon::Xine::MediaObject::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #17 0x00007f0e704388d1 in QObject::event (this=0x20c87f0, e=0x326cef0) at kernel/qobject.cpp:1240 #18 0x00007f0e6f83c69c in QApplicationPrivate::notify_helper (this=0x1f68550, receiver=0x20c87f0, e=0x326cef0) at kernel/qapplication.cpp:4242 #19 0x00007f0e6f844e4a in QApplication::notify (this=0x7fffad337eb0, receiver=<value optimized out>, e=0x326cef0) at kernel/qapplication.cpp:4125 #20 0x00007f0e71999d50 in KApplication::notify (this=0x7fffad337eb0, receiver=0x20c87f0, event=0x326cef0) at /var/tmp/paludis/kde-base-kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:302 #21 0x00007f0e7042764b in QCoreApplication::notifyInternal (this=0x7fffad337eb0, receiver=0x20c87f0, event=0x326cef0) at kernel/qcoreapplication.cpp:704 #22 0x00007f0e70428493 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1e38c70) at kernel/qcoreapplication.h:215 #23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1e38c70) at kernel/qcoreapplication.cpp:1345 #24 0x00007f0e6f8e4054 in QCoreApplication::sendPostedEvents (this=<value optimized out>, flags=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #25 QEventDispatcherX11::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_x11.cpp:75 #26 0x00007f0e70425e52 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #27 0x00007f0e7042621d in QEventLoop::exec (this=0x7fffad337e50, flags=) at kernel/qeventloop.cpp:201 #28 0x00007f0e7042875b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #29 0x000000000040aab4 in main (argc=2, argv=0x7fffad339d18) at /home/mikko/amarok/src/main.cpp:229 I seriously begin to suspect libmtp to be the culprit, since it sometimes works, sometimes not, and it is always related to MTP. See also bug 203418, bug 204251, bug 205951, bug 206550 and bug 209188. If I understand correctly, the original report is not about MTP but a generic removable device. And since the crash is in src/collection/mediadevicecollection/MediaDeviceMeta.cpp it looks like generic MediaDevice stuff, not MTP specific. Some of the bugs you mentioned for sure aren't libMTP's fault, for example 206550 (happens with UMS too, copy to devices isn't threaded yet). I think most of those bugs are caused by MtpHandler instead. *** Bug 215730 has been marked as a duplicate of this bug. *** setting keyword it crash with usb key or ipod for me. *** Bug 217144 has been marked as a duplicate of this bug. *** updated backtrace from today's git master + removable usb pen: Thread 1 (Thread 0x7f711c525770 (LWP 2500)): [KCrash Handler] #5 0x00007f711b4a22e8 in Meta::MediaDeviceTrack::prepareToPlay (this=0x303dd60) at /home/mikko/amarok/src/collection/mediadevicecollection/MediaDeviceMeta.cpp:354 #6 0x00007f711b6d6911 in EngineController::setNextTrack (this=0x21e7c60, track=...) at /home/mikko/amarok/src/EngineController.cpp:652 #7 0x00007f711b360d19 in Playlist::Actions::play (this=0x260b430, trackid=5068873452120923192, now=false) at /home/mikko/amarok/src/playlist/PlaylistActions.cpp:216 #8 0x00007f711b3607db in Playlist::Actions::requestNextTrack (this=0x260b430) at /home/mikko/amarok/src/playlist/PlaylistActions.cpp:136 #9 0x00007f711b6d8451 in EngineController::slotAboutToFinish (this=0x21e7c60) at /home/mikko/amarok/src/EngineController.cpp:880 #10 0x00007f711b6dae53 in EngineController::qt_metacall (this=0x21e7c60, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0x7fffe6aa14c0) at /home/mikko/amarok/build/src/EngineController.moc:149 #11 0x00007f711a977745 in QMetaObject::activate (sender=0x21e9e40, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x3b35d28) at kernel/qobject.cpp:3286 #12 0x00007f7115eb5720 in Phonon::MediaObjectPrivate::_k_aboutToFinish() () from /usr/lib64/libphonon.so.4 #13 0x00007f7115eb61de in Phonon::MediaObject::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libphonon.so.4 #14 0x00007f711a977745 in QMetaObject::activate (sender=0x22a53c0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x3b35d28) at kernel/qobject.cpp:3286 #15 0x00007f710bc3eacd in Phonon::Xine::MediaObject::needNextUrl() () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #16 0x00007f710bc41852 in Phonon::Xine::MediaObject::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #17 0x00007f711a973bf1 in QObject::event (this=0x22a53c0, e=0x35c2870) at kernel/qobject.cpp:1252 #18 0x00007f7119d7773c in QApplicationPrivate::notify_helper (this=0x2116a20, receiver=0x22a53c0, e=0x35c2870) at kernel/qapplication.cpp:4242 #19 0x00007f7119d7feea in QApplication::notify (this=0x7fffe6aa22d0, receiver=<value optimized out>, e=0x35c2870) at kernel/qapplication.cpp:4125 #20 0x00007f711bef8110 in KApplication::notify (this=0x7fffe6aa22d0, receiver=0x22a53c0, event=0x35c2870) at /var/tmp/paludis/kde-base-kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:302 #21 0x00007f711a96296b in QCoreApplication::notifyInternal (this=0x7fffe6aa22d0, receiver=0x22a53c0, event=0x35c2870) at kernel/qcoreapplication.cpp:704 #22 0x00007f711a9637b3 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1fdfc70) at kernel/qcoreapplication.h:215 #23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1fdfc70) at kernel/qcoreapplication.cpp:1345 #24 0x00007f7119e1f1f4 in QCoreApplication::sendPostedEvents (this=<value optimized out>, flags=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #25 QEventDispatcherX11::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_x11.cpp:75 #26 0x00007f711a961172 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #27 0x00007f711a96153d in QEventLoop::exec (this=0x7fffe6aa2270, flags=) at kernel/qeventloop.cpp:201 #28 0x00007f711a963a7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #29 0x000000000040ae1b in main (argc=2, argv=0x7fffe6aa41e8) at /home/mikko/amarok/src/main.cpp:235 *** Bug 219188 has been marked as a duplicate of this bug. *** *** Bug 220345 has been marked as a duplicate of this bug. *** *** Bug 220411 has been marked as a duplicate of this bug. *** Fixed by Alejandro: commit ef6bb726b1823b0ee86ddfd6475f0bdba9b5b80c Author: Alejandro Wainzinger <aikawarazuni@gmail.com> AuthorDate: Wed Jan 6 08:57:01 2010 -0800 Commit: Alejandro Wainzinger <aikawarazuni@gmail.com> CommitDate: Wed Jan 6 08:59:51 2010 -0800 Fix crash with dangling pointer on trying to play a media device track whose collection no longer exists. ~lart xevix BUG:210477 diff --git a/src/collection/mediadevicecollection/MediaDeviceMeta.h b/src/collection/mediadevicecollection/MediaDeviceMeta.h index fa5efed..4541f7e 100644 --- a/src/collection/mediadevicecollection/MediaDeviceMeta.h +++ b/src/collection/mediadevicecollection/MediaDeviceMeta.h @@ -22,6 +22,7 @@ #include "mediadevicecollection_export.h" #include <QList> +#include <QPointer> #include <QMultiMap> class MediaDeviceCollection; @@ -145,7 +146,7 @@ class MEDIADEVICECOLLECTION_EXPORT MediaDeviceTrack : public Meta::Track void setPlayableUrl( const KUrl &url) { m_playableUrl = url; } private: - MediaDeviceCollection *m_collection; + QPointer<MediaDeviceCollection> m_collection; MediaDeviceArtistPtr m_artist; MediaDeviceAlbumPtr m_album; |