Bug 210477

Summary: Amarok forgets about removed Removable Collection [Meta::MediaDeviceTrack::prepareToPlay, EngineController::setNextTrack, Playlist::Actions::play]
Product: [Applications] amarok Reporter: Lukas <1lukas1>
Component: PlaybackAssignee: 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
Application that crashed: amarok
Version of the application: 2.2.0
KDE Version: 4.3.1 (KDE 4.3.1) "release 169"
Qt Version: 4.5.2
Operating System: Linux 2.6.27.29-0.1-default i686

What I was doing when the application crashed:
i have moved One album from localhost collction to Removalble collection on my HDD. Then started to play music from REMOVABLE coollection. 

In the middle of the song, I disconnected removable collection from amarok (via right click) properly.

Since that song was cached, it continued to play even when media was disconnectd, but oce it tried to jump to next one (which obiviously was unavaliabe), it crashed.

 -- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0xb2a83730 (LWP 1020))]

Thread 14 (Thread 0xb0000b90 (LWP 1022)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644df62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b84 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0xb1465721 in ?? () from /usr/lib/libxine.so.1
#4  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#5  0xb65843ae in clone () from /lib/libc.so.6

Thread 13 (Thread 0xaf635b90 (LWP 1023)):
#0  0xb41923da in clock_gettime () from /lib/librt.so.1
#1  0xb720062b in QTimerInfoList::getTime (this=0x81244b4, t=@0x81244d8) at kernel/qeventdispatcher_unix.cpp:339
#2  0xb7200801 in QTimerInfoList::updateCurrentTime (this=0x81244b4) at kernel/qeventdispatcher_unix.cpp:297
#3  0xb71fe9f3 in timerSourceCheck (source=0x8124480) at kernel/qeventdispatcher_glib.cpp:157
#4  0xb41055d8 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#5  0xb4105f6d in ?? () from /usr/lib/libglib-2.0.so.0
#6  0xb4106241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#7  0xb71fe8f7 in QEventDispatcherGlib::processEvents (this=0x81244e8, flags={i = -1352445368}) at kernel/qeventdispatcher_glib.cpp:329
#8  0xb71d178a in QEventLoop::processEvents (this=0xaf6352c0, flags={i = -1352445304}) at kernel/qeventloop.cpp:149
#9  0xb71d1bd2 in QEventLoop::exec (this=0xaf6352c0, flags={i = -1352445240}) at kernel/qeventloop.cpp:201
#10 0xb70db229 in QThread::exec (this=0x81244f8) at thread/qthread.cpp:487
#11 0xb14e1899 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#12 0xb70de572 in QThreadPrivate::start (arg=0x81244f8) at thread/qthread_unix.cpp:188
#13 0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#14 0xb65843ae in clone () from /lib/libc.so.6

Thread 12 (Thread 0xaedffb90 (LWP 1026)):
#0  0xb6574b54 in read () from /lib/libc.so.6
#1  0xb137d412 in ?? () from /usr/lib/libasound.so.2
#2  0xb137a0dd in snd_ctl_read () from /usr/lib/libasound.so.2
#3  0xb137648f in snd_hctl_handle_events () from /usr/lib/libasound.so.2
#4  0xb1382611 in snd_mixer_handle_events () from /usr/lib/libasound.so.2
#5  0xaf7f4051 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so
#6  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#7  0xb65843ae in clone () from /lib/libc.so.6

Thread 11 (Thread 0xae5feb90 (LWP 1027)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb1477f43 in ?? () from /usr/lib/libxine.so.1
#4  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#5  0xb65843ae in clone () from /lib/libc.so.6

Thread 10 (Thread 0xaddfdb90 (LWP 1028)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb1477f43 in ?? () from /usr/lib/libxine.so.1
#4  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#5  0xb65843ae in clone () from /lib/libc.so.6

Thread 9 (Thread 0xac2adb90 (LWP 1030)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644df62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b84 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0xb14741ae in ?? () from /usr/lib/libxine.so.1
#4  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#5  0xb65843ae in clone () from /lib/libc.so.6

Thread 8 (Thread 0xaba0ab90 (LWP 1031)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb70df582 in QWaitCondition::wait (this=0x8d2ab80, mutex=0x8d18e30, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb5a3a1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb5a3ceec in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb5a38d8b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb5a3cfea in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb5a3b00e in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb5a3b64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0xb70de572 in QThreadPrivate::start (arg=0x8d18800) at thread/qthread_unix.cpp:188
#12 0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#13 0xb65843ae in clone () from /lib/libc.so.6

Thread 7 (Thread 0xab209b90 (LWP 1032)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb70df582 in QWaitCondition::wait (this=0x8d2ab80, mutex=0x8d18e30, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb5a3a1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb5a3ceec in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb5a38d8b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb5a3cfea in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb5a3d009 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#11 0xb5a3d009 in ?? () from /usr/lib/libthreadweaver.so.4
#12 0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#13 0xb5a3d009 in ?? () from /usr/lib/libthreadweaver.so.4
#14 0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#15 0xb5a3b00e in ?? () from /usr/lib/libthreadweaver.so.4
#16 0xb5a3b64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#17 0xb70de572 in QThreadPrivate::start (arg=0x8ddc4b0) at thread/qthread_unix.cpp:188
#18 0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#19 0xb65843ae in clone () from /lib/libc.so.6

Thread 6 (Thread 0xaa8ffb90 (LWP 1033)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb70df582 in QWaitCondition::wait (this=0x8d2ab80, mutex=0x8d18e30, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb5a3a1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb5a3ceec in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb5a38d8b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb5a3cfea in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb5a3b00e in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb5a3b64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0xb70de572 in QThreadPrivate::start (arg=0x8c94eb8) at thread/qthread_unix.cpp:188
#12 0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#13 0xb65843ae in clone () from /lib/libc.so.6

Thread 5 (Thread 0xaa0feb90 (LWP 1034)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb70df582 in QWaitCondition::wait (this=0x8d2ab80, mutex=0x8d18e30, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb5a3a1a8 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb5a3ceec in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb5a38d8b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb5a3cfea in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb5a3a723 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb5a3b00e in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb5a3b64b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0xb70de572 in QThreadPrivate::start (arg=0x8d3b7c0) at thread/qthread_unix.cpp:188
#12 0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#13 0xb65843ae in clone () from /lib/libc.so.6

Thread 4 (Thread 0xa5a35b90 (LWP 1038)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb146947c in ?? () from /usr/lib/libxine.so.1
#4  0xb146f8a1 in ?? () from /usr/lib/libxine.so.1
#5  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#6  0xb65843ae in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa5067b90 (LWP 1039)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb146947c in ?? () from /usr/lib/libxine.so.1
#4  0xb1470a9d in ?? () from /usr/lib/libxine.so.1
#5  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#6  0xb65843ae in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa4866b90 (LWP 1040)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb644dc35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6590b2d in pthread_cond_wait () from /lib/libc.so.6
#3  0xb147b138 in ?? () from /usr/lib/libxine.so.1
#4  0xb644a1b5 in start_thread () from /lib/libpthread.so.0
#5  0xb65843ae in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb2a83730 (LWP 1020)):
[KCrash Handler]
#6  0xb7795233 in Meta::MediaDeviceTrack::prepareToPlay() () from /usr/lib/libamaroklib.so.1
#7  0xb797a094 in EngineController::setNextTrack(KSharedPtr<Meta::Track>) () from /usr/lib/libamaroklib.so.1
#8  0xb76b4c42 in Playlist::Actions::play(unsigned long long, bool) () from /usr/lib/libamaroklib.so.1
#9  0xb76b531e in Playlist::Actions::requestNextTrack() () from /usr/lib/libamaroklib.so.1
#10 0xb797b3d0 in EngineController::slotAboutToFinish() () from /usr/lib/libamaroklib.so.1
#11 0xb797b61a in EngineController::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#12 0xb71e8788 in QMetaObject::activate (sender=0x81bb8b0, from_signal_index=12, to_signal_index=12, argv=0x0) at kernel/qobject.cpp:3113
#13 0xb71e9412 in QMetaObject::activate (sender=0x81bb8b0, m=0xb59cc068, local_signal_index=8, argv=0x0) at kernel/qobject.cpp:3187
#14 0xb599fd47 in Phonon::MediaObject::aboutToFinish() () from /usr/lib/libphonon.so.4
#15 0xb59a0950 in ?? () from /usr/lib/libphonon.so.4
#16 0xb59a1c4f in Phonon::MediaObject::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libphonon.so.4
#17 0xb71e8788 in QMetaObject::activate (sender=0x8125838, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113
#18 0xb71e9412 in QMetaObject::activate (sender=0x8125838, m=0xb1516f60, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#19 0xb14f2077 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#20 0xb14f3400 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#21 0xb14f439e in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#22 0xb71e1eab in QMetaCallEvent::placeMetaCall (this=0x98f0eb40, object=0x8125838) at kernel/qobject.cpp:477
#23 0xb71e3970 in QObject::event (this=0x8125838, e=0x98f0eb40) at kernel/qobject.cpp:1111
#24 0xb68237bc in QApplicationPrivate::notify_helper (this=0x8136060, receiver=0x8125838, e=0x98f0eb40) at kernel/qapplication.cpp:4056
#25 0xb682baae in QApplication::notify (this=0xbfc66c64, receiver=0x8125838, e=0x98f0eb40) at kernel/qapplication.cpp:3603
#26 0xb7d0317d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#27 0xb71d316b in QCoreApplication::notifyInternal (this=0xbfc66c64, receiver=0x8125838, event=0x98f0eb40) at kernel/qcoreapplication.cpp:610
#28 0xb71d3db5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8074ab8) at kernel/qcoreapplication.h:213
#29 0xb71d3fad in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140
#30 0xb71fec8f in postEventSourceDispatch (s=0x8132910) at kernel/qcoreapplication.h:218
#31 0xb41029c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#32 0xb4106083 in ?? () from /usr/lib/libglib-2.0.so.0
#33 0xb4106241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#34 0xb71fe8d8 in QEventDispatcherGlib::processEvents (this=0x8074708, flags={i = -1077516216}) at kernel/qeventdispatcher_glib.cpp:327
#35 0xb68c3ca5 in QGuiEventDispatcherGlib::processEvents (this=0x8074708, flags={i = -1077516168}) at kernel/qguieventdispatcher_glib.cpp:202
#36 0xb71d178a in QEventLoop::processEvents (this=0xbfc668f0, flags={i = -1077516104}) at kernel/qeventloop.cpp:149
#37 0xb71d1bd2 in QEventLoop::exec (this=0xbfc668f0, flags={i = -1077516040}) at kernel/qeventloop.cpp:201
#38 0xb71d4079 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#39 0xb6823637 in QApplication::exec () at kernel/qapplication.cpp:3525
#40 0x08051fed in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-10-14 02:47:45 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
Comment 2 Lukas 2009-10-14 16:26:36 UTC
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
Comment 3 Lukas 2009-10-14 16:29:28 UTC
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
Comment 4 Myriam Schweingruber 2009-11-11 19:23:01 UTC
*** Bug 213566 has been marked as a duplicate of this bug. ***
Comment 5 Myriam Schweingruber 2009-11-21 09:31:31 UTC
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).
Comment 6 Myriam Schweingruber 2009-11-21 09:32:03 UTC
Reproduce*, sorry for the typo
Comment 7 Mikko C. 2009-11-22 11:18:16 UTC
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
Comment 8 Myriam Schweingruber 2009-11-22 12:39:05 UTC
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.
Comment 9 Mikko C. 2009-11-22 13:06:10 UTC
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.
Comment 10 Mikko C. 2009-11-22 21:06:53 UTC
*** Bug 215730 has been marked as a duplicate of this bug. ***
Comment 11 Myriam Schweingruber 2009-11-28 20:07:44 UTC
setting keyword
Comment 12 Nicolas L. 2009-11-30 09:08:53 UTC
it crash with usb key or ipod for me.
Comment 13 Myriam Schweingruber 2009-12-03 11:45:00 UTC
*** Bug 217144 has been marked as a duplicate of this bug. ***
Comment 14 Mikko C. 2009-12-06 13:12:33 UTC
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
Comment 15 Mikko C. 2009-12-18 14:52:44 UTC
*** Bug 219188 has been marked as a duplicate of this bug. ***
Comment 16 Myriam Schweingruber 2009-12-28 09:20:36 UTC
*** Bug 220345 has been marked as a duplicate of this bug. ***
Comment 17 Mikko C. 2009-12-28 16:30:11 UTC
*** Bug 220411 has been marked as a duplicate of this bug. ***
Comment 18 Mark Kretschmann 2010-01-06 18:10:56 UTC
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;