Bug 240145

Summary: Amarok crashed when attempting to move read only files to the local collection [@ Collections::CollectionLocation::slotFinishRemove]
Product: [Applications] amarok Reporter: Vasilis Vasaitis <vvasaitis>
Component: Collections/LocalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED DUPLICATE    
Severity: crash CC: felipe.alvarez, kde, matej, mcmillanje, ralf-engels
Priority: NOR    
Version: 2.3.2   
Target Milestone: 2.4.0   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Amarok 2.3.2 crash backtrace

Description Vasilis Vasaitis 2010-05-30 21:52:56 UTC
Application: amarok (2.3.0.90)
KDE Platform Version: 4.4.3 (KDE 4.4.3)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-3-amd64 x86_64
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
I had told amarok to move some music files to the local collection. To be exact, the files were already part of the local collection, but there is no "Organise Files" context menu option when one is operating on the Files section of the music browser. Halfway through the operation, amarok crashed, and I'm attaching the backtrace in the hope that it will be useful.

 -- Backtrace:
Application: AmaroK (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0xf11e1940 (LWP 20318))]

Thread 14 (Thread 0xead53b70 (LWP 20322)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08452 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xf58a1864 in __pthread_cond_timedwait (cond=0x9c54540, mutex=0x9c54528, abstime=0xead53330) at forward.c:152
#3  0xef565bcf in metronom_sync_loop (this=0x9c544e0) at metronom.c:870
#4  0xf3c04585 in start_thread (arg=0xead53b70) at pthread_create.c:300
#5  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 13 (Thread 0xeb554b70 (LWP 20323)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf5886b27 in *__GI___poll (fds=0x9bee868, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xf36f506b in g_poll () from /lib/libglib-2.0.so.0
#3  0xf36e7dac in ?? () from /lib/libglib-2.0.so.0
#4  0xf36e81b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0xf665b36f in QEventDispatcherGlib::processEvents (this=0x9beb320, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#6  0xf662df49 in QEventLoop::processEvents (this=0xeb554290, flags=) at kernel/qeventloop.cpp:149
#7  0xf662e39a in QEventLoop::exec (this=0xeb554290, flags=...) at kernel/qeventloop.cpp:201
#8  0xf652abd8 in QThread::exec (this=0x9be8138) at thread/qthread.cpp:487
#9  0xef5b294a in Phonon::Xine::XineThread::run (this=0x9be8138) at ../../xine/xinethread.cpp:143
#10 0xf652d93e in QThreadPrivate::start (arg=0x9be8138) at thread/qthread_unix.cpp:248
#11 0xf3c04585 in start_thread (arg=0xeb554b70) at pthread_create.c:300
#12 0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 12 (Thread 0xee2ffb70 (LWP 20326)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf5886b27 in *__GI___poll (fds=0xee2ff28c, nfds=1, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xee4159bf in my_snd_mixer_wait (data=0xee3013d0) at audio_alsa_out.c:150
#3  ao_alsa_handle_event_thread (data=0xee3013d0) at audio_alsa_out.c:166
#4  0xf3c04585 in start_thread (arg=0xee2ffb70) at pthread_create.c:300
#5  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 11 (Thread 0xed8ffb70 (LWP 20327)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xee337d70, mutex=0xee337d58) at forward.c:139
#3  0xef5767f6 in fifo_peek_int (this_gen=0xee315278) at audio_out.c:348
#4  fifo_peek (this_gen=0xee315278) at audio_out.c:388
#5  ao_loop (this_gen=0xee315278) at audio_out.c:1015
#6  0xf3c04585 in start_thread (arg=0xed8ffb70) at pthread_create.c:300
#7  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 10 (Thread 0xeceffb70 (LWP 20328)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xed99f4d8, mutex=0xed99f4c0) at forward.c:139
#3  0xef5767f6 in fifo_peek_int (this_gen=0xed981378) at audio_out.c:348
#4  fifo_peek (this_gen=0xed981378) at audio_out.c:388
#5  ao_loop (this_gen=0xed981378) at audio_out.c:1015
#6  0xf3c04585 in start_thread (arg=0xeceffb70) at pthread_create.c:300
#7  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 9 (Thread 0xec2ffb70 (LWP 20329)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xec505cc0, mutex=0xec505ca8) at forward.c:139
#3  0xef5767f6 in fifo_peek_int (this_gen=0xec5042c8) at audio_out.c:348
#4  fifo_peek (this_gen=0xec5042c8) at audio_out.c:388
#5  ao_loop (this_gen=0xec5042c8) at audio_out.c:1015
#6  0xf3c04585 in start_thread (arg=0xec2ffb70) at pthread_create.c:300
#7  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 8 (Thread 0xea552b70 (LWP 20330)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xec5022d0, mutex=0xec5022b8) at forward.c:139
#3  0xef5767f6 in fifo_peek_int (this_gen=0xec504cb8) at audio_out.c:348
#4  fifo_peek (this_gen=0xec504cb8) at audio_out.c:388
#5  ao_loop (this_gen=0xec504cb8) at audio_out.c:1015
#6  0xf3c04585 in start_thread (arg=0xea552b70) at pthread_create.c:300
#7  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 7 (Thread 0xe96ccb70 (LWP 20335)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xf4d3d60c, mutex=0xf4d3d5f4) at forward.c:139
#3  0xf3f8e187 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0xf3f8e1d1 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0xf3c04585 in start_thread (arg=0xe96ccb70) at pthread_create.c:300
#6  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xe784eb70 (LWP 20336)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xa1c03b0, mutex=0xa1c0398) at forward.c:139
#3  0xf652e867 in QWaitConditionPrivate::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xf5091840 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa1c0280, th=0xa1c0820) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xf509435c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa1c0618, th=0xa1c0820) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xf509024b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa1c0280, th=0xa1c0820) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xf5094452 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xa1c0820) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xa1c0820, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xf5094471 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xa1c0820) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xa1c0820, previous=0xb862f00) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xf50924ee in ThreadWeaver::ThreadRunHelper::run (this=0xe784e304, parent=0xa1c0280, th=0xa1c0820) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0xf5092c0b in ThreadWeaver::Thread::run (this=0xa1c0820) at ../../../threadweaver/Weaver/Thread.cpp:142
#14 0xf652d93e in QThreadPrivate::start (arg=0xa1c0820) at thread/qthread_unix.cpp:248
#15 0xf3c04585 in start_thread (arg=0xe784eb70) at pthread_create.c:300
#16 0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xe704db70 (LWP 20337)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xa1c03b0, mutex=0xa1c0398) at forward.c:139
#3  0xf652e867 in QWaitConditionPrivate::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xf5091840 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa1c0280, th=0xeb918228) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xf509435c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa1c0618, th=0xeb918228) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xf509024b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa1c0280, th=0xeb918228) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xf5094452 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xeb918228) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xeb918228, previous=0xb8cd800) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xf50924ee in ThreadWeaver::ThreadRunHelper::run (this=0xe704d304, parent=0xa1c0280, th=0xeb918228) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xf5092c0b in ThreadWeaver::Thread::run (this=0xeb918228) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0xf652d93e in QThreadPrivate::start (arg=0xeb918228) at thread/qthread_unix.cpp:248
#13 0xf3c04585 in start_thread (arg=0xe704db70) at pthread_create.c:300
#14 0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xe656bb70 (LWP 20338)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xa1c03b0, mutex=0xa1c0398) at forward.c:139
#3  0xf652e867 in QWaitConditionPrivate::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xf5091840 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa1c0280, th=0xa25d2d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xf509435c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa1c0618, th=0xa25d2d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xf509024b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa1c0280, th=0xa25d2d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xf5094452 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xa25d2d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xa25d2d0, previous=0xb5bf940) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xf50924ee in ThreadWeaver::ThreadRunHelper::run (this=0xe656b304, parent=0xa1c0280, th=0xa25d2d0) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xf5092c0b in ThreadWeaver::Thread::run (this=0xa25d2d0) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0xf652d93e in QThreadPrivate::start (arg=0xa25d2d0) at thread/qthread_unix.cpp:248
#13 0xf3c04585 in start_thread (arg=0xe656bb70) at pthread_create.c:300
#14 0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xe5d6ab70 (LWP 20339)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xa1c03b0, mutex=0xa1c0398) at forward.c:139
#3  0xf652e867 in QWaitConditionPrivate::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0xa1c0298, mutex=0xa1c0538, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xf5091840 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xa1c0280, th=0xe670ae00) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xf509435c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa1c0618, th=0xe670ae00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xf509024b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xa1c0280, th=0xe670ae00) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xf5094452 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xe670ae00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xe670ae00, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xf5094471 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xe670ae00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xe670ae00, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xf5094471 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa1c0618, th=0xe670ae00) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0xf50914a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xa1c0280, th=0xe670ae00, previous=0xb56db10) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0xf50924ee in ThreadWeaver::ThreadRunHelper::run (this=0xe5d6a304, parent=0xa1c0280, th=0xe670ae00) at ../../../threadweaver/Weaver/Thread.cpp:87
#15 0xf5092c0b in ThreadWeaver::Thread::run (this=0xe670ae00) at ../../../threadweaver/Weaver/Thread.cpp:142
#16 0xf652d93e in QThreadPrivate::start (arg=0xe670ae00) at thread/qthread_unix.cpp:248
#17 0xf3c04585 in start_thread (arg=0xe5d6ab70) at pthread_create.c:300
#18 0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xd8cfcb70 (LWP 20365)):
#0  0xf7759425 in __kernel_vsyscall ()
#1  0xf3c08125 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xf58a180d in __pthread_cond_wait (cond=0xf4fe5e0c, mutex=0xf4fe5df4) at forward.c:139
#3  0xf4f08597 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0xf4fe0d20) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#4  0xf4f085e1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0xf4fe0d20) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#5  0xf3c04585 in start_thread (arg=0xd8cfcb70) at pthread_create.c:300
#6  0xf589429e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xf11e1940 (LWP 20318)):
[KCrash Handler]
#6  QBasicAtomicInt::deref (this=0xc199ce0) at /usr/include/qt4/QtCore/qatomic_i386.h:132
#7  QMap<KSharedPtr<Meta::Track>, QString>::operator= (this=0xc199ce0) at /usr/include/qt4/QtCore/qmap.h:409
#8  QMap<KSharedPtr<Meta::Track>, QString>::clear (this=0xc199ce0) at /usr/include/qt4/QtCore/qmap.h:421
#9  Collections::CollectionLocation::slotFinishRemove (this=0xc199ce0) at ../../src/core/collections/CollectionLocation.cpp:409
#10 0xf6e080bc in Collections::CollectionLocation::qt_metacall (this=0xc199ce0, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0xffb9990c) at ./CollectionLocation.moc:135
#11 0xed0b668a in Collections::SqlCollectionLocation::qt_metacall (this=0xc199ce0, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0xffb9990c) at ./SqlCollectionLocation.moc:139
#12 0xf6634b2a in QMetaObject::metacall (object=0xc199ce0, cl=3684696080, idx=22, argv=0xffb9990c) at kernel/qmetaobject.cpp:237
#13 0xf66430f5 in QMetaObject::activate (sender=0xc199ce0, m=0xf7374344, local_signal_index=3, argv=0x0) at kernel/qobject.cpp:3293
#14 0xf6e05157 in Collections::CollectionLocation::finishRemove (this=0xc199ce0) at ./CollectionLocation.moc:195
#15 0xf6e06797 in Collections::CollectionLocation::slotRemoveOperationFinished (this=0xc199ce0) at ../../src/core/collections/CollectionLocation.cpp:331
#16 0xed0b618a in Collections::SqlCollectionLocation::removeUrlsFromCollection (this=0xc199ce0, sources=...) at ../../../../../src/core-impl/collections/sqlcollection/SqlCollectionLocation.cpp:397
#17 0xf6e066d1 in Collections::CollectionLocation::slotStartRemove (this=0xc199ce0) at ../../src/core/collections/CollectionLocation.cpp:398
#18 0xf6e08125 in Collections::CollectionLocation::qt_metacall (this=0xc199ce0, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0xffb99b3c) at ./CollectionLocation.moc:134
#19 0xed0b668a in Collections::SqlCollectionLocation::qt_metacall (this=0xc199ce0, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0xffb99b3c) at ./SqlCollectionLocation.moc:139
#20 0xf6634b2a in QMetaObject::metacall (object=0xc199ce0, cl=3684696080, idx=21, argv=0xffb99b3c) at kernel/qmetaobject.cpp:237
#21 0xf66430f5 in QMetaObject::activate (sender=0xc199ce0, m=0xf7374344, local_signal_index=2, argv=0x0) at kernel/qobject.cpp:3293
#22 0xf6e05197 in Collections::CollectionLocation::startRemove (this=0xc199ce0) at ./CollectionLocation.moc:189
#23 0xf6e06737 in Collections::CollectionLocation::slotShowRemoveDialogDone (this=0xc199ce0) at ../../src/core/collections/CollectionLocation.cpp:350
#24 0xf6e08254 in Collections::CollectionLocation::showRemoveDialog (this=0xc199ce0, tracks=...) at ../../src/core/collections/CollectionLocation.cpp:312
#25 0xf6e068a3 in Collections::CollectionLocation::startRemoveWorkflow (this=0xc199ce0, tracks=...) at ../../src/core/collections/CollectionLocation.cpp:516
#26 0xf6e06e2f in Collections::CollectionLocation::prepareRemove (this=0xc199ce0, tracks=...) at ../../src/core/collections/CollectionLocation.cpp:195
#27 0xf6e0728d in Collections::CollectionLocation::removeSourceTracks (this=0xc199ce0, tracks=...) at ../../src/core/collections/CollectionLocation.cpp:536
#28 0xf6e075ea in Collections::CollectionLocation::slotFinishCopy (this=0xc199ce0) at ../../src/core/collections/CollectionLocation.cpp:378
#29 0xf6e08112 in Collections::CollectionLocation::qt_metacall (this=0xc199ce0, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xffb99ebc) at ./CollectionLocation.moc:133
#30 0xed0b668a in Collections::SqlCollectionLocation::qt_metacall (this=0xc199ce0, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xffb99ebc) at ./SqlCollectionLocation.moc:139
#31 0xf6634b2a in QMetaObject::metacall (object=0xc199ce0, cl=3684696080, idx=20, argv=0xffb99ebc) at kernel/qmetaobject.cpp:237
#32 0xf66430f5 in QMetaObject::activate (sender=0xc199d88, m=0xf7374344, local_signal_index=1, argv=0x0) at kernel/qobject.cpp:3293
#33 0xf6e051d7 in Collections::CollectionLocation::finishCopy (this=0xc199d88) at ./CollectionLocation.moc:183
#34 0xf6e051fd in Collections::CollectionLocation::slotCopyOperationFinished (this=0xc199d88) at ../../src/core/collections/CollectionLocation.cpp:324
#35 0xed0b3567 in Collections::SqlCollectionLocation::slotTransferJobFinished (this=0xc199d88, job=0xb861f48) at ../../../../../src/core-impl/collections/sqlcollection/SqlCollectionLocation.cpp:339
#36 0xed0b66df in Collections::SqlCollectionLocation::qt_metacall (this=0xc199d88, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xffb9a188) at ./SqlCollectionLocation.moc:148
#37 0xf6634b2a in QMetaObject::metacall (object=0xc199d88, cl=3684696080, idx=30, argv=0xffb9a188) at kernel/qmetaobject.cpp:237
#38 0xf66430f5 in QMetaObject::activate (sender=0xb861f48, m=0xf6996ec8, local_signal_index=3, argv=0xffb9a188) at kernel/qobject.cpp:3293
#39 0xf6829df3 in KJob::result (this=0xb861f48, _t1=0xb861f48) at ./kjob.moc:194
#40 0xf682a158 in KJob::emitResult (this=0xb861f48) at ../../kdecore/jobs/kjob.cpp:312
#41 0xf6828fdc in KCompositeJob::slotResult (this=0xb861f48, job=0xc04b160) at ../../kdecore/jobs/kcompositejob.cpp:104
#42 0xf6828e3d in KCompositeJob::qt_metacall (this=0xb861f48, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xffb9a368) at ./kcompositejob.moc:74
#43 0xed0b26ea in Collections::TransferJob::qt_metacall (this=0xb861f48, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xffb9a368) at ./SqlCollectionLocation.moc:69
#44 0xf6634b2a in QMetaObject::metacall (object=0xb861f48, cl=3684696080, idx=26, argv=0xffb9a368) at kernel/qmetaobject.cpp:237
#45 0xf66430f5 in QMetaObject::activate (sender=0xc04b160, m=0xf6996ec8, local_signal_index=3, argv=0xffb9a368) at kernel/qobject.cpp:3293
#46 0xf6829df3 in KJob::result (this=0xc04b160, _t1=0xc04b160) at ./kjob.moc:194
#47 0xf682a158 in KJob::emitResult (this=0xc04b160) at ../../kdecore/jobs/kjob.cpp:312
#48 0xf39c6f8b in KIO::FileCopyJob::slotResult (this=0xc04b160, job=0xb3d08b0) at ../../kio/kio/job.cpp:2254
#49 0xf39c2ef2 in KIO::FileCopyJob::qt_metacall (this=0xc04b160, _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0xffb9a4f8) at ./jobclasses.moc:721
#50 0xf6634b2a in QMetaObject::metacall (object=0xc04b160, cl=3684696080, idx=32, argv=0xffb9a4f8) at kernel/qmetaobject.cpp:237
#51 0xf66430f5 in QMetaObject::activate (sender=0xb3d08b0, m=0xf6996ec8, local_signal_index=3, argv=0xffb9a4f8) at kernel/qobject.cpp:3293
#52 0xf6829df3 in KJob::result (this=0xb3d08b0, _t1=0xb3d08b0) at ./kjob.moc:194
#53 0xf682a158 in KJob::emitResult (this=0xb3d08b0) at ../../kdecore/jobs/kjob.cpp:312
#54 0xf39bfcf0 in KIO::SimpleJob::slotFinished (this=0xb3d08b0) at ../../kio/kio/job.cpp:517
#55 0xf39bd6b3 in KIO::SimpleJob::slotError (this=0xb3d08b0, err=112, errorText=...) at ../../kio/kio/job.cpp:529
#56 0xf39bd7fe in KIO::SimpleJob::qt_metacall (this=0xb3d08b0, _c=QMetaObject::InvokeMetaMethod, _id=31, _a=0xffb9a724) at ./jobclasses.moc:170
#57 0xf6634b2a in QMetaObject::metacall (object=0xb3d08b0, cl=3684696080, idx=31, argv=0xffb9a724) at kernel/qmetaobject.cpp:237
#58 0xf66430f5 in QMetaObject::activate (sender=0xbac8d90, m=0xf3b6ed04, local_signal_index=2, argv=0xffb9a724) at kernel/qobject.cpp:3293
#59 0xf3a8b409 in KIO::SlaveInterface::error (this=0xbac8d90, _t1=112, _t2=...) at ./slaveinterface.moc:159
#60 0xf3a8e725 in KIO::SlaveInterface::dispatch (this=0xbac8d90, _cmd=102, rawdata=...) at ../../kio/kio/slaveinterface.cpp:208
#61 0xf3a8b833 in KIO::SlaveInterface::dispatch (this=0xbac8d90) at ../../kio/kio/slaveinterface.cpp:91
#62 0xf3a7ed08 in KIO::Slave::gotInput (this=0xbac8d90) at ../../kio/kio/slave.cpp:324
#63 0xf3a7ef13 in KIO::Slave::qt_metacall (this=0xbac8d90, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xffb9aa0c) at ./slave.moc:82
#64 0xf6634b2a in QMetaObject::metacall (object=0xbac8d90, cl=3684696080, idx=30, argv=0xffb9aa0c) at kernel/qmetaobject.cpp:237
#65 0xf66430f5 in QMetaObject::activate (sender=0xb69d390, m=0xf3b6b5e0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3293
#66 0xf3987ca7 in KIO::Connection::readyRead (this=0xb69d390) at ./connection.moc:92
#67 0xf398a04e in KIO::ConnectionPrivate::dequeue (this=0xb3cd390) at ../../kio/kio/connection.cpp:82
#68 0xf398a17e in KIO::Connection::qt_metacall (this=0xb69d390, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xb45e358) at ./connection.moc:79
#69 0xf6634b2a in QMetaObject::metacall (object=0xb69d390, cl=3684696080, idx=5, argv=0xb45e358) at kernel/qmetaobject.cpp:237
#70 0xf663f056 in QMetaCallEvent::placeMetaCall (this=0xc0803c8, object=0xb69d390) at kernel/qobject.cpp:561
#71 0xf664011e in QObject::event (this=0xb69d390, e=0xc0803c8) at kernel/qobject.cpp:1248
#72 0xf5b76bec in QApplicationPrivate::notify_helper (this=0x9a979e8, receiver=0xb69d390, e=0xc0803c8) at kernel/qapplication.cpp:4300
#73 0xf5b7d75e in QApplication::notify (this=0xffb9b3a8, receiver=0xb69d390, e=0xc0803c8) at kernel/qapplication.cpp:3704
#74 0xf6f83ed6 in App::notify (this=0xffb9b3a8, receiver=0xb69d390, event=0xc0803c8) at ../../src/App.cpp:914
#75 0xf662f92b in QCoreApplication::notifyInternal (this=0xffb9b3a8, receiver=0xb69d390, event=0xc0803c8) at kernel/qcoreapplication.cpp:704
#76 0xf6632303 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x999cab8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#77 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x999cab8) at kernel/qcoreapplication.cpp:1345
#78 0xf663246d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#79 0xf665b83f in QCoreApplication::sendPostedEvents (s=0x9a99b10) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#80 postEventSourceDispatch (s=0x9a99b10) at kernel/qeventdispatcher_glib.cpp:276
#81 0xf36e42f5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#82 0xf36e7fd8 in ?? () from /lib/libglib-2.0.so.0
#83 0xf36e81b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#84 0xf665b335 in QEventDispatcherGlib::processEvents (this=0x999c820, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#85 0xf5c35255 in QGuiEventDispatcherGlib::processEvents (this=0x999c820, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#86 0xf662df49 in QEventLoop::processEvents (this=0xffb9b314, flags=) at kernel/qeventloop.cpp:149
#87 0xf662e39a in QEventLoop::exec (this=0xffb9b314, flags=...) at kernel/qeventloop.cpp:201
#88 0xf663252f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#89 0xf5b76c87 in QApplication::exec () at kernel/qapplication.cpp:3579
#90 0x0804ff91 in main (argc=1, argv=0xffb9bc04) at ../../src/main.cpp:237

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2010-07-23 10:02:02 UTC
Confirmed by duplicate.
Comment 2 Myriam Schweingruber 2010-10-22 15:10:06 UTC
*** Bug 254906 has been marked as a duplicate of this bug. ***
Comment 3 Myriam Schweingruber 2010-10-22 15:10:44 UTC
Is this still valid with Amarok 2.3.2?
Comment 4 PC LX 2010-10-22 16:20:30 UTC
Don't know about 2.3.2 but 2.3.1 still has the bug.
Comment 5 Myriam Schweingruber 2010-10-22 16:25:48 UTC
That is the reason why I ask, this report is about 2.3.1, the latest stable is 2.3.2 It would be really helpful if somebody could test this with 2.3.2
Comment 6 Vasilis Vasaitis 2010-10-22 16:53:13 UTC
I haven't upgraded to 2.3.2 yet, but if I find time over the weekend I'll perform the upgrade and give it a go! This might not be the most reproducible crash though...
Comment 7 PC LX 2010-10-24 13:19:49 UTC
I have tested Amarok version 2.3.2, inside a VirtualBox VM, with a Mandriva 2010.1 guest.

First copied, to the VM, the files and directories that were giving problems with Amarok version 2.3.1. Then tried to organize those files, using the same options. It worked. There was no crash and the files were renamed as intended.

Wanting to test it a bit more, I "chmod -R a-w *" the music collection and retried the "Organize Files" operation. Now it crashed, just like I described before, in https://bugs.kde.org/show_bug.cgi?id=254906

So, Amarok version 2.3.2 seems to have the same bug as version 2.3.1, and a easy way to trigger it is to make the files read only. Hope this helps.


Will had backtrace of crash as attachment next.
Comment 8 PC LX 2010-10-24 13:26:55 UTC
Created attachment 52822 [details]
Amarok 2.3.2 crash backtrace
Comment 9 Myriam Schweingruber 2010-10-24 15:09:03 UTC
(In reply to comment #7)
> I have tested Amarok version 2.3.2, inside a VirtualBox VM, with a Mandriva
> 2010.1 guest.
> 
> First copied, to the VM, the files and directories that were giving problems
> with Amarok version 2.3.1. Then tried to organize those files, using the same
> options. It worked. There was no crash and the files were renamed as intended.
> 
> Wanting to test it a bit more, I "chmod -R a-w *" the music collection and
> retried the "Organize Files" operation. Now it crashed, just like I described
> before, in https://bugs.kde.org/show_bug.cgi?id=254906
> 
> So, Amarok version 2.3.2 seems to have the same bug as version 2.3.1, and a
> easy way to trigger it is to make the files read only. Hope this helps.

Sorry, but how on earth do you expect Amarok to be able to perform an "Organize Files" action if those files are not writable? Organize Files moves files from their first location, making those read only makes that action impossible. Collection files should never bee read only anyway.

I agree that it shouldn't crash, though, and give an error message instead. Please file a different report for that.
Comment 10 Myriam Schweingruber 2010-10-24 15:09:38 UTC
Oops, forget the last line, since I changed the bug title. Sorry for the noise.
Comment 11 PC LX 2010-10-24 15:18:54 UTC
First, it should not crash. Second, on the original collection all the files and directories have write permissions, and it still crashes. Third, the crash backtrace is very similar in both cases, so the cause of the crash is most likely the same. Opening a new report would most likely be counter-productive.
Comment 12 Myriam Schweingruber 2010-10-24 16:27:20 UTC
That is not what you said in your description, you only triggered the crash by changing the permission to read-only, and normally user files should never be read-only in the first place.
Also you didn't read my last comment :)
Comment 13 Vasilis Vasaitis 2010-10-25 15:38:11 UTC
Myriam: A file does not need to be writable in order to move it to a different location, as the operation does not change the file contents. What has to be writable is the source and destination directory, but not the file itself.

By the way, thanks for doing all this triaging work!

Pedro: Instead of your "chmod -R" command, out of curiosity and if it's not too much trouble, can you try if it's the files being read-only, or the directories being read-only, that's causing the crash? You can achieve that with these commands, respectively:

find collection_dir/ -type f -exec chmod a-w \{} +
find collection_dir/ -type d -exec chmod a-w \{} +

Cheers,
Vasilis
Comment 14 PC LX 2010-10-26 00:36:33 UTC
I did the following:

$ chmod -R u+rwX ~/Music
$ find ~/Music/ -type f -exec chmod a-w '{}' ';'
Tried "Organize Files" and Amarok didn't crash.

$ chmod -R u+rwX ~/Music
$ find ~/Music/ -type d -exec chmod a-w '{}' ';'
$ chmod u+rwX ~/Music
Tried "Organize Files" and Amarok crashed.

The last chmod was needed because Amarok (correctly) warned that the collection directory was read only and refused to do any "Organize FIles".
Comment 15 Myriam Schweingruber 2010-10-27 13:32:27 UTC
*** Bug 255385 has been marked as a duplicate of this bug. ***
Comment 16 Dario Andres 2010-11-27 22:52:46 UTC
*** Bug 258068 has been marked as a duplicate of this bug. ***
Comment 17 Myriam Schweingruber 2010-12-13 15:37:58 UTC

*** This bug has been marked as a duplicate of bug 236030 ***