Bug 227599 - Amarok crashes on scanning of files @ PlaylistManager::getProviderForPlaylist
Summary: Amarok crashes on scanning of files @ PlaylistManager::getProviderForPlaylist
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Playlists/Saved Playlists (show other bugs)
Version: 2.3.1-GIT
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 227899 228132 229099 229380 229435 229955 230349 231053 231845 232125 232371 232474 232614 232924 233545 233564 233791 234605 234696 235077 235755 236179 236924 236946 237102 237852 237999 238223 238266 238442 238481 238914 239034 239937 240172 241127 241146 245659 247638 249465 249469 249491 250826 250895 251711 252441 252958 255092 265341 271936 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-02-19 00:04 UTC by Rasmus Steinke
Modified: 2015-05-11 14:46 UTC (History)
53 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.3.2


Attachments
New crash information added by DrKonqi (16.72 KB, text/plain)
2010-04-09 16:20 UTC, Trevor
Details
New crash information added by DrKonqi (17.12 KB, text/plain)
2010-04-09 17:47 UTC, Trevor
Details
New crash information added by DrKonqi (8.57 KB, text/plain)
2010-05-16 18:49 UTC, Alexander Hansen
Details
New crash information added by DrKonqi (22.72 KB, text/plain)
2010-06-13 15:54 UTC, Nora Gabnai
Details
New crash information added by DrKonqi (19.17 KB, text/plain)
2010-10-01 15:04 UTC, breathe_easily
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rasmus Steinke 2010-02-19 00:04:26 UTC
Application: amarok (2.2-GIT)
KDE Platform Version: 4.4.00 (KDE 4.4.0)
Qt Version: 4.6.1
Operating System: Linux 2.6.32-ARCH x86_64
Distribution: "(none)"

-- Information about the crash:
when specifying multiple folders to scan amarok crashes 100% reproducable on my system.
I tried to scan all the selected folders one by one, which worked perfectly. As soon as i combine them in Settings -> Collection, i cant finish the scan. Amarok will crash - but amarokcollectionscanner will finish nevertheless.

The crash can be reproduced every time.

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

Thread 16 (Thread 0x7f4abf2e8710 (LWP 2675)):
#0  0x00007f4ad30a63e9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ac45c5a71 in metronom_sync_loop () from /usr/lib/libxine.so.1
#2  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#3  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7f4abeae7710 (LWP 2676)):
#0  0x00007fff0fd4a8f4 in clock_gettime ()
#1  0x00007f4acdd0de5f in clock_gettime () from /lib/librt.so.1
#2  0x00007f4ad6310a8f in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f4ad63158cd in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f4ad63158f5 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f4ad631384d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f4acda8344a in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#7  0x00007f4acda83821 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#8  0x00007f4acda83d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#9  0x00007f4ad6313656 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0x00007f4ad62e8a82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f4ad62e8e5c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f4ad61f3bd9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#13 0x00007f4ac481f356 in Phonon::Xine::XineThread::run() () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#14 0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#16 0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f4abe0dd710 (LWP 2679)):
#0  0x00007f4ad4d34483 in poll () from /lib/libc.so.6
#1  0x00007f4abe0e37ae in ao_alsa_handle_event_thread () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#2  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#3  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f4abd8dc710 (LWP 2680)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ac45d652b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#3  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f4abccd2710 (LWP 2681)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ac45d652b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#3  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f4ab7fff710 (LWP 2682)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ac45d652b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#3  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f4ab77fe710 (LWP 2683)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ac45d652b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#3  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f4ab5c2e710 (LWP 2685)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad001c5a6 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f4ad001c5e9 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#4  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f4aad536710 (LWP 2686)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad61f759b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f4ad1ad4ff6 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f4ad1ad760b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f4ad1ad7624 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f4ad1ad5b5f in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f4ad1ad60c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#9  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f4aacd35710 (LWP 2687)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad61f759b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f4ad1ad4ff6 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f4ad1ad760b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f4ad1ad7624 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f4ad1ad5b5f in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f4ad1ad60c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#9  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f4aa87c1710 (LWP 2688)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad61f759b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f4ab5ea3a69 in XmlParseJob::run() () from /usr/lib/libamarok-sqlcollection.so.1
#3  0x00007f4ad1ad683d in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f4ad1ad6b3e in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f4ad1ad5b2f in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f4ad1ad60c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#9  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f4aa77bf710 (LWP 2691)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad61f759b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f4ad1ad4ff6 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f4ad1ad760b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f4ad1ad7624 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f4ad1ad7624 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f4ad1ad7624 in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007f4ad1ad5b5f in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00007f4ad1ad60c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#9  0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#11 0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4aa6fbe710 (LWP 2694)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad132f376 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f4ad132f3b9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#4  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f4a9903f710 (LWP 2696)):
#0  0x00007f4ad30a607c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4ad61f759b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f4ad5babe26 in ?? () from /usr/lib/libQtGui.so.4
#3  0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#5  0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4a9883e710 (LWP 2697)):
#0  0x00007fff0fd4a8f4 in clock_gettime ()
#1  0x00007f4acdd0de5f in clock_gettime () from /lib/librt.so.1
#2  0x00007f4ad6310a8f in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f4ad63158cd in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f4ad63158f5 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f4ad631384d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f4ad63138f5 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f4acda8344a in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#8  0x00007f4acda83821 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#9  0x00007f4acda83d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0x00007f4ad6313656 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f4ad62e8a82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f4ad62e8e5c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f4ad61f3bd9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f4ad62c93e8 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f4ad61f65d5 in ?? () from /usr/lib/libQtCore.so.4
#16 0x00007f4ad30a181a in start_thread () from /lib/libpthread.so.0
#17 0x00007f4ad4d3cc7d in clone () from /lib/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4ad7cee7a0 (LWP 2674)):
[KCrash Handler]
#5  0x00007f4ad6f5f35f in PlaylistManager::getProviderForPlaylist(KSharedPtr<Meta::Playlist>) () from /usr/lib/libamaroklib.so.1
#6  0x00007f4ad6f225d2 in PlaylistBrowserNS::UserModel::data(QModelIndex const&, int) const () from /usr/lib/libamaroklib.so.1
#7  0x00007f4ad62df207 in QAbstractItemModel::itemData(QModelIndex const&) const () from /usr/lib/libQtCore.so.4
#8  0x00007f4ad6f1a987 in QtGroupingProxy::belongsTo(QModelIndex const&) () from /usr/lib/libamaroklib.so.1
#9  0x00007f4ad6f18a25 in QtGroupingProxy::buildTree() () from /usr/lib/libamaroklib.so.1
#10 0x00007f4ad6c05729 in QtGroupingProxy::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#11 0x00007f4ad6c05a95 in PlaylistsByProviderProxy::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#12 0x00007f4ad62fcebf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x00007f4ad6f29228 in PlaylistBrowserNS::UserModel::slotUpdate() () from /usr/lib/libamaroklib.so.1
#14 0x00007f4ad6f29308 in PlaylistBrowserNS::UserModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#15 0x00007f4ad62fcebf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0x00007f4ad6f63a08 in PlaylistManager::slotUpdated() () from /usr/lib/libamaroklib.so.1
#17 0x00007f4ad6f63d18 in PlaylistManager::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#18 0x00007f4ad62f9df9 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#19 0x00007f4ad56a879c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f4ad56aed8b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007f4ad702487a in App::notify(QObject*, QEvent*) () from /usr/lib/libamaroklib.so.1
#22 0x00007f4ad62ea15c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x00007f4ad62ec8d7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#24 0x00007f4ad6313ac3 in ?? () from /usr/lib/libQtCore.so.4
#25 0x00007f4acda8026e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0x00007f4acda83c28 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#27 0x00007f4acda83d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0x00007f4ad6313603 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#29 0x00007f4ad5756c0e in ?? () from /usr/lib/libQtGui.so.4
#30 0x00007f4ad62e8a82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#31 0x00007f4ad62e8e5c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0x00007f4ad62ecb9b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#33 0x00000000004086d2 in main ()

Reported using DrKonqi
Comment 1 Rasmus Steinke 2010-02-19 01:01:21 UTC
More useful backtrace:

Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fe3e961f7a0 (LWP 19126))]

Thread 16 (Thread 0x7fe3cd883710 (LWP 19149)):
#0  0x00007fe3e4b443e9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3d2b60a71 in metronom_sync_loop () from /usr/lib/libxine.so.1
#2  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#3  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fe3cd082710 (LWP 19150)):
#0  0x00007fff7758d8f4 in clock_gettime ()
#1  0x00007fe3df7ade5f in clock_gettime () from /lib/librt.so.1
#2  0x00007fe3e7daea8f in qt_gettime () at kernel/qcore_unix.cpp:109
#3  0x00007fe3e7db38cd in QTimerInfoList::updateCurrentTime (this=0x1) at kernel/qeventdispatcher_unix.cpp:340
#4  0x00007fe3e7db38f5 in QTimerInfoList::timerWait (this=0x1, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#5  0x00007fe3e7db184d in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7fe3cd081bec) at kernel/qeventdispatcher_glib.cpp:136
#6  0x00007fe3df52344a in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#7  0x00007fe3df523821 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#8  0x00007fe3df523d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#9  0x00007fe3e7db1656 in QEventDispatcherGlib::processEvents (this=0x2104a10, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#10 0x00007fe3e7d86a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#11 0x00007fe3e7d86e5c in QEventLoop::exec (this=0x7fe3cd081d80, flags=) at kernel/qeventloop.cpp:201
#12 0x00007fe3e7c91bd9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#13 0x00007fe3d2dba356 in Phonon::Xine::XineThread::run() () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#14 0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x20f7df0) at thread/qthread_unix.cpp:248
#15 0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#16 0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fe3cc678710 (LWP 19153)):
#0  0x00007fe3e67d2483 in poll () from /lib/libc.so.6
#1  0x00007fe3cc67e7ae in ao_alsa_handle_event_thread () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#2  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#3  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fe3cbe77710 (LWP 19154)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3d2b7152b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#3  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fe3cb26d710 (LWP 19155)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3d2b7152b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#3  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fe3caa6c710 (LWP 19156)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3d2b7152b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#3  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fe3ca26b710 (LWP 19157)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3d2b7152b in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#3  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fe3c8626710 (LWP 19161)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e1aba5a6 in WTF::TCMalloc_PageHeap::scavengerThread (this=0x7fe3e2a41060) at ../JavaScriptCore/wtf/FastMalloc.cpp:2299
#2  0x00007fe3e1aba5e9 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fe3e2a4f12c) at ../JavaScriptCore/wtf/FastMalloc.cpp:1433
#3  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#4  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fe3c3016710 (LWP 19162)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e7c9559b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3033e98, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3033e98, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe3c8897b69 in XmlParseJob::run (this=<value optimized out>) at /home/carnager/pkgs/amarok-git/src/amarok/src/collection/sqlcollection/ScanManager.cpp:692
#4  0x00007fe3e357483d in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fe3e3574b3e in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#6  0x00007fe3e3573b2f in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007fe3e35740c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#8  0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x313a160) at thread/qthread_unix.cpp:248
#9  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#10 0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fe3c2815710 (LWP 19163)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e7c9559b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3139c90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3139c90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe3e3572ff6 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fe3e357560b in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fe3e3573b5f in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fe3e35740c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x313b900) at thread/qthread_unix.cpp:248
#8  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#9  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fe3be2a1710 (LWP 19167)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e7c9559b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3139c90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3139c90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe3e3572ff6 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fe3e357560b in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fe3e3575624 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fe3e3575624 in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007fe3e3573b5f in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00007fe3e35740c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#9  0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x28455a0) at thread/qthread_unix.cpp:248
#10 0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#11 0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fe3bd29f710 (LWP 19170)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e7c9559b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3139c90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3139c90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe3e3572ff6 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007fe3e357560b in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007fe3e3575624 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007fe3e3573b5f in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007fe3e35740c8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#8  0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x2919e60) at thread/qthread_unix.cpp:248
#9  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#10 0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fe3bca9e710 (LWP 19173)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e2dcd376 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fe3e30a9d80) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#2  0x00007fe3e2dcd3b9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fe3e30b7e4c) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#3  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#4  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fe3aaaff710 (LWP 19175)):
#0  0x00007fe3e4b4407c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe3e7c9559b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7fe3b4137a38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7fe3b4137a38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fe3e7649e26 in QFileInfoGatherer::run (this=<value optimized out>) at dialogs/qfileinfogatherer.cpp:203
#4  0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x7fe3b4137a28) at thread/qthread_unix.cpp:248
#5  0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#6  0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe3aa2fe710 (LWP 19176)):
#0  0x00007fff7758d8f4 in clock_gettime ()
#1  0x00007fe3df7ade5f in clock_gettime () from /lib/librt.so.1
#2  0x00007fe3e7daea8f in qt_gettime () at kernel/qcore_unix.cpp:109
#3  0x00007fe3e7db38cd in QTimerInfoList::updateCurrentTime (this=0x1) at kernel/qeventdispatcher_unix.cpp:340
#4  0x00007fe3e7db38f5 in QTimerInfoList::timerWait (this=0x1, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#5  0x00007fe3e7db184d in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7fe3aa2fdc0c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x00007fe3e7db18f5 in timerSourcePrepare (source=0x1, timeout=0x7fe3aa2fdaf0) at kernel/qeventdispatcher_glib.cpp:169
#7  0x00007fe3df52344a in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#8  0x00007fe3df523821 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#9  0x00007fe3df523d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0x00007fe3e7db1656 in QEventDispatcherGlib::processEvents (this=0x316a450, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#11 0x00007fe3e7d86a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#12 0x00007fe3e7d86e5c in QEventLoop::exec (this=0x7fe3aa2fdda0, flags=) at kernel/qeventloop.cpp:201
#13 0x00007fe3e7c91bd9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#14 0x00007fe3e7d673e8 in QInotifyFileSystemWatcherEngine::run (this=0x32d6550) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x00007fe3e7c945d5 in QThreadPrivate::start (arg=0x32d6550) at thread/qthread_unix.cpp:248
#16 0x00007fe3e4b3f81a in start_thread () from /lib/libpthread.so.0
#17 0x00007fe3e67dac7d in clone () from /lib/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe3e961f7a0 (LWP 19126)):
[KCrash Handler]
#5  0x00007fe3e88a4d33 in KSharedPtr<Meta::Playlist>::operator== (this=0x3200320022003d, o=...) at /usr/include/ksharedptr.h:93
#6  0x00007fe3e8948854 in QList<KSharedPtr<Meta::Playlist> >::contains (this=<value optimized out>, t=...) at /usr/include/QtCore/qlist.h:760
#7  0x00007fe3e8946166 in PlaylistManager::getProviderForPlaylist (this=<value optimized out>, playlist=) at /home/carnager/pkgs/amarok-git/src/amarok/src/playlistmanager/PlaylistManager.cpp:326
#8  0x00007fe3e891baba in PlaylistBrowserNS::UserModel::data (this=<value optimized out>, index=..., role=<value optimized out>)
    at /home/carnager/pkgs/amarok-git/src/amarok/src/browsers/playlistbrowser/UserPlaylistModel.cpp:235
#9  0x00007fe3e7d7d207 in QAbstractItemModel::itemData (this=0x3165050, index=<value optimized out>) at kernel/qabstractitemmodel.cpp:1644
#10 0x00007fe3e891159c in QtGroupingProxy::belongsTo (this=<value optimized out>, idx=<value optimized out>)
    at /home/carnager/pkgs/amarok-git/src/amarok/src/browsers/playlistbrowser/QtGroupingProxy.cpp:66
#11 0x00007fe3e8910db8 in QtGroupingProxy::buildTree (this=<value optimized out>) at /home/carnager/pkgs/amarok-git/src/amarok/src/browsers/playlistbrowser/QtGroupingProxy.cpp:150
#12 0x00007fe3e86baf49 in QtGroupingProxy::qt_metacall (this=0x32d6a30, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff774b3ee0)
    at /home/carnager/pkgs/amarok-git/src/build/src/moc_QtGroupingProxy.cpp:94
#13 0x00007fe3e86be435 in PlaylistsByProviderProxy::qt_metacall (this=0x3200320022003d, _c=2001417808, _id=579, _a=0x0)
    at /home/carnager/pkgs/amarok-git/src/build/src/moc_PlaylistsByProviderProxy.cpp:75
#14 0x00007fe3e7d9aebf in QMetaObject::activate (sender=0x3165050, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3275
#15 0x00007fe3e891c7d8 in PlaylistBrowserNS::UserModel::slotUpdate (this=0x3165050) at /home/carnager/pkgs/amarok-git/src/amarok/src/browsers/playlistbrowser/UserPlaylistModel.cpp:93
#16 0x00007fe3e891c8a8 in PlaylistBrowserNS::UserModel::qt_metacall (this=0x3165050, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff774b4040)
    at /home/carnager/pkgs/amarok-git/src/build/src/UserPlaylistModel.moc:96
#17 0x00007fe3e7d9aebf in QMetaObject::activate (sender=0x2a83230, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3275
#18 0x00007fe3e8947148 in PlaylistManager::slotUpdated (this=0x2a83230) at /home/carnager/pkgs/amarok-git/src/amarok/src/playlistmanager/PlaylistManager.cpp:136
#19 0x00007fe3e89477c8 in PlaylistManager::qt_metacall (this=0x2a83230, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fe3b43b4690)
    at /home/carnager/pkgs/amarok-git/src/build/src/PlaylistManager.moc:90
#20 0x00007fe3e7d97df9 in QObject::event (this=0x2a83230, e=0x7fe3b43f8620) at kernel/qobject.cpp:1248
#21 0x00007fe3e714679c in QApplicationPrivate::notify_helper (this=0x1fc8f40, receiver=0x2a83230, e=0x7fe3b43f8620) at kernel/qapplication.cpp:4298
#22 0x00007fe3e714cd8b in QApplication::notify (this=0x7fff774b4ae0, receiver=0x2a83230, e=0x7fe3b43f8620) at kernel/qapplication.cpp:4181
#23 0x00007fe3e89cd9aa in App::notify (this=0x3200320022003d, receiver=0x7fff774b3650, event=0x243) at /home/carnager/pkgs/amarok-git/src/amarok/src/App.cpp:927
#24 0x00007fe3e7d8815c in QCoreApplication::notifyInternal (this=0x7fff774b4ae0, receiver=0x2a83230, event=0x7fe3b43f8620) at kernel/qcoreapplication.cpp:704
#25 0x00007fe3e7d8a8d7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1e50260) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#26 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1e50260) at kernel/qcoreapplication.cpp:1345
#27 0x00007fe3e7db1ac3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#28 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#29 0x00007fe3df52026e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007fe3df523c28 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#31 0x00007fe3df523d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007fe3e7db1603 in QEventDispatcherGlib::processEvents (this=0x1e4fb00, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#33 0x00007fe3e71f4c0e in QGuiEventDispatcherGlib::processEvents (this=0x3200320022003d, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fe3e7d86a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#35 0x00007fe3e7d86e5c in QEventLoop::exec (this=0x7fff774b4a80, flags=) at kernel/qeventloop.cpp:201
#36 0x00007fe3e7d8ab9b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#37 0x0000000000405cfc in main (argc=1, argv=0x7fff774b6a68) at /home/carnager/pkgs/amarok-git/src/amarok/src/main.cpp:237
Comment 2 Myriam Schweingruber 2010-02-19 09:11:06 UTC
Strange, the crash appears to be in the SavedPlaylists. I can't reproduce this here, git build of this morning.
Comment 3 Rasmus Steinke 2010-02-19 16:42:42 UTC
yup... very odd indeed, as this happens on a fresh profile too.
Comment 4 Rasmus Steinke 2010-02-20 12:27:34 UTC
interesting fact: i deleted all playlist files. this had 2 side effects:

- scanning was much faster than before.
- no more crash
Comment 5 Myriam Schweingruber 2010-02-21 11:45:52 UTC
*** Bug 227899 has been marked as a duplicate of this bug. ***
Comment 6 Myriam Schweingruber 2010-02-23 15:46:29 UTC
*** Bug 228132 has been marked as a duplicate of this bug. ***
Comment 7 Myriam Schweingruber 2010-03-04 12:06:47 UTC
Confirmed by duplicates.
Comment 8 Myriam Schweingruber 2010-03-04 12:07:17 UTC
*** Bug 229380 has been marked as a duplicate of this bug. ***
Comment 9 Bart Cerneels 2010-03-04 12:26:30 UTC
Try with a current git build. This might be fixed already.
Comment 10 Myriam Schweingruber 2010-03-04 12:54:35 UTC
*** Bug 229099 has been marked as a duplicate of this bug. ***
Comment 11 Bart Cerneels 2010-03-04 15:02:11 UTC
commit edfd7ca38b7059a804db74eba4d94c63f0b18248
Author: Bart Cerneels <bart.cerneels@kde.org>
Date:   Thu Mar 4 12:37:42 2010 +0100

    Reduce chance of PlaylistFileProvider crashes
    
    BUG:227599

diff --git a/src/meta/M3UPlaylist.cpp b/src/meta/M3UPlaylist.cpp
index 2ff96df..9eceda3 100644
--- a/src/meta/M3UPlaylist.cpp
+++ b/src/meta/M3UPlaylist.cpp
@@ -32,16 +32,14 @@
 namespace Meta {
 
 M3UPlaylist::M3UPlaylist()
-    : PlaylistFile()
-    , m_url( Meta::newPlaylistFilePath( "m3u" ) )
+    : m_url( Meta::newPlaylistFilePath( "m3u" ) )
     , m_tracksLoaded( false )
 {
     m_name = m_url.fileName();
 }
 
 M3UPlaylist::M3UPlaylist( Meta::TrackList tracks )
-    : PlaylistFile()
-    , m_url( Meta::newPlaylistFilePath( "m3u" ) )
+    : m_url( Meta::newPlaylistFilePath( "m3u" ) )
     , m_tracksLoaded( true )
     , m_tracks( tracks )
 {
@@ -49,8 +47,7 @@ M3UPlaylist::M3UPlaylist( Meta::TrackList tracks )
 }
 
 M3UPlaylist::M3UPlaylist( const KUrl &url )
-    : PlaylistFile( url )
-    , m_url( url )
+    : m_url( url )
     , m_tracksLoaded( false )
 {
     //DEBUG_BLOCK
diff --git a/src/meta/PLSPlaylist.cpp b/src/meta/PLSPlaylist.cpp
index e9bf5bf..e9c1913 100644
--- a/src/meta/PLSPlaylist.cpp
+++ b/src/meta/PLSPlaylist.cpp
@@ -34,23 +34,20 @@
 namespace Meta {
 
 PLSPlaylist::PLSPlaylist()
-    : PlaylistFile()
-    , m_url( Meta::newPlaylistFilePath( "pls" ) )
+    : m_url( Meta::newPlaylistFilePath( "pls" ) )
 {
     m_name = m_url.fileName();
 }
 
 PLSPlaylist::PLSPlaylist( TrackList tracks )
-    : PlaylistFile()
-    , m_tracks( tracks )
+    : m_tracks( tracks )
     , m_url( Meta::newPlaylistFilePath( "pls" ) )
 {
     m_name = m_url.fileName();
 }
 
 PLSPlaylist::PLSPlaylist( const KUrl &url )
-    : PlaylistFile( url )
-    , m_url( url )
+    : m_url( url )
 {
     DEBUG_BLOCK
     debug() << "url: " << m_url;
diff --git a/src/meta/PlaylistFile.h b/src/meta/PlaylistFile.h
index b332294..e741596 100644
--- a/src/meta/PlaylistFile.h
+++ b/src/meta/PlaylistFile.h
@@ -19,6 +19,8 @@
 
 #include "Playlist.h"
 
+class PlaylistProvider;
+
 namespace Meta
 {
 
@@ -34,8 +36,7 @@ namespace Meta
     class AMAROK_EXPORT PlaylistFile : public Playlist
     {
         public:
-            PlaylistFile() {}
-            PlaylistFile( const KUrl &url ) { Q_UNUSED( url ); }
+            PlaylistFile() : Playlist(), m_provider( 0 ) {}
             virtual ~PlaylistFile() {}
 
             virtual bool isWritable() { return false; }
@@ -46,6 +47,15 @@ namespace Meta
 
             virtual void setName( const QString &name ) = 0;
             virtual void setGroups( const QStringList &groups ) { Q_UNUSED( groups ); }
+
+            //default implementation prevents crashes related to PlaylistFileProvider
+            virtual void setProvider( PlaylistProvider *provider ) { m_provider = provider; }
+
+            /* Playlist Methods */
+            virtual PlaylistProvider *provider() const { return m_provider; }
+
+        protected:
+            PlaylistProvider *m_provider;
     };
 
 }
diff --git a/src/meta/XSPFPlaylist.cpp b/src/meta/XSPFPlaylist.cpp
index cc29dd6..94d70db 100644
--- a/src/meta/XSPFPlaylist.cpp
+++ b/src/meta/XSPFPlaylist.cpp
@@ -48,8 +48,7 @@ namespace Meta
 {
 
 XSPFPlaylist::XSPFPlaylist()
-    : PlaylistFile()
-    , QDomDocument()
+    : QDomDocument()
     , m_tracksLoaded( false )
 {
     QDomElement root = createElement( "playlist" );
@@ -63,8 +62,7 @@ XSPFPlaylist::XSPFPlaylist()
 }
 
 XSPFPlaylist::XSPFPlaylist( const KUrl &url, bool autoAppend )
-    : PlaylistFile( url )
-    , QDomDocument()
+    : QDomDocument()
     , m_tracksLoaded( false )
     , m_url( url )
     , m_autoAppendAfterLoad( autoAppend )
@@ -93,8 +91,7 @@ XSPFPlaylist::XSPFPlaylist( const KUrl &url, bool autoAppend )
 }
 
 XSPFPlaylist::XSPFPlaylist( Meta::TrackList tracks )
-    : PlaylistFile()
-    , QDomDocument()
+    : QDomDocument()
 {
     DEBUG_BLOCK
 
diff --git a/src/playlistmanager/file/PlaylistFileProvider.cpp b/src/playlistmanager/file/PlaylistFileProvider.cpp
index a3ccc7d..e7f7bb4 100644
--- a/src/playlistmanager/file/PlaylistFileProvider.cpp
+++ b/src/playlistmanager/file/PlaylistFileProvider.cpp
@@ -320,6 +320,7 @@ PlaylistFileProvider::loadPlaylists()
                 );
             continue;
         }
+        playlist->setProvider( this );
 
         if( !groups.isEmpty() && playlist->isWritable() )
             playlist->setGroups( groups.split( ',',  QString::SkipEmptyParts ) );
@@ -327,6 +328,7 @@ PlaylistFileProvider::loadPlaylists()
         m_playlists << Meta::PlaylistPtr::dynamicCast( playlist );
     }
 
+    //also add all files in the $KDEHOME/share/apps/amarok/playlists
     QDir playlistDir = QDir( Amarok::saveLocation( "playlists" ), "",
                              QDir::Name,
                              QDir::Files | QDir::Readable );
@@ -344,6 +346,8 @@ PlaylistFileProvider::loadPlaylists()
                 );
             continue;
         }
+        playlist->setProvider( this );
+
         m_playlists << Meta::PlaylistPtr::dynamicCast( playlist );
     }
Comment 12 Myriam Schweingruber 2010-03-05 09:35:29 UTC
*** Bug 229435 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2010-03-08 16:48:42 UTC
*** Bug 229955 has been marked as a duplicate of this bug. ***
Comment 14 Myriam Schweingruber 2010-03-11 20:01:25 UTC
*** Bug 230349 has been marked as a duplicate of this bug. ***
Comment 15 Myriam Schweingruber 2010-03-17 09:00:35 UTC
*** Bug 231053 has been marked as a duplicate of this bug. ***
Comment 16 Myriam Schweingruber 2010-03-17 09:01:36 UTC
Reopening based on duplicate in comment #15: Apparently this was not fixed for Amarok 2.3
Comment 17 Sven Krohlas 2010-03-23 00:08:21 UTC
*** Bug 231845 has been marked as a duplicate of this bug. ***
Comment 18 Sven Krohlas 2010-03-25 19:02:47 UTC
*** Bug 232125 has been marked as a duplicate of this bug. ***
Comment 19 Dario Andres 2010-03-27 23:46:38 UTC
*** Bug 232371 has been marked as a duplicate of this bug. ***
Comment 20 Dario Andres 2010-03-28 18:42:32 UTC
*** Bug 232474 has been marked as a duplicate of this bug. ***
Comment 21 MHildebrandt 2010-03-29 08:16:06 UTC
Got the exact same behaviour. It crashes when I select /dat/mp3 and /dat/music under Suse 11.2 32 Bit with Amarok 2.3.6 from the Suse build service. This are about 350000 files in more than 50000 folders.

When I select the folder in in /dat/mp3 and /dat/music one by one it will work. When I select parts it works when I don´t select too many. I get a point when it won´t work anymore. At the moment that seems to be at about 150000 files when it crashes with a segmentation fault.

The machine has 4GB RAM and system monitor shows about 1GB used at that time. Amarok memory usage goes constantly up til the point of crashing.

- Martin Hildebrandt
Comment 22 MHildebrandt 2010-03-29 09:48:29 UTC
Addendum: The effect ist the same with the internal or with an external MySQL. It seems to work much faster with external SQL though. I suspect it works in an additional thread on the dualcore machine.

Sounds like a memory leak to me....

Another unfortunate thing I noticed: When changing settings in Amarok after a crash and restarting collectionscanner the scanner seems to work with the old settings. At least that´s what system monitor tells me.
Comment 23 BK 2010-03-29 17:17:33 UTC
Based on the feedback available here, I went back to my Amarok and tried to rescan my collection a little at a time, quitting/restarting every once in a while.

Using sufficiently small increments, I was able to rescan my entire collection without triggering the crash. Scanning larger chunks seemed to trigger crashes, but even scanning in small increments would eventually cause a crash. Quitting and restarting after a couple scans seemed to work, but more likely the problem is still there, in the form of an overflow that only triggers a page fault when the overflow is large enough to cross a page boundary into a non-allocated page.
Comment 24 Sven Krohlas 2010-04-01 10:06:39 UTC
*** Bug 232924 has been marked as a duplicate of this bug. ***
Comment 25 Sven Krohlas 2010-04-01 10:09:27 UTC
*** Bug 232614 has been marked as a duplicate of this bug. ***
Comment 26 Emanuele Cisotti 2010-04-01 15:03:41 UTC
I tried creating a new empty folder as Amarok collection.
Then I moved my collection in it, moving only few albums every time and than Amarok was able to scan the collection properly.
So I verified the same thing that in the comment #23.
Comment 27 Sven Krohlas 2010-04-07 21:14:46 UTC
*** Bug 233564 has been marked as a duplicate of this bug. ***
Comment 28 Sven Krohlas 2010-04-07 21:16:25 UTC
*** Bug 233545 has been marked as a duplicate of this bug. ***
Comment 29 Sven Krohlas 2010-04-09 11:15:14 UTC
*** Bug 233791 has been marked as a duplicate of this bug. ***
Comment 30 Trevor 2010-04-09 16:20:24 UTC
Created attachment 42627 [details]
New crash information added by DrKonqi

I instructed Amarok to scan ~100GB of mp3's into its music library from an NTFS 1TB drive.  During scan it crashes.  This is 100% reproducable.
Comment 31 Trevor 2010-04-09 17:47:36 UTC
Created attachment 42629 [details]
New crash information added by DrKonqi

Happens when I try to rescan my collection. Happens every time.
Comment 32 Greg 2010-04-09 22:09:16 UTC
This bug doesn't have to be a full scan. I'm incrementally moving files to my collection and then updating and it works when I move about 12 Gb of data or less and fails when I incrementally add more than that.

Even using this method Amarok still crashes every now and then when trying to do the update scan. If I close and restart Amarok it will then be able to complete the scan that previously caused the crash.

I see that one user posted a bug in Ubuntu stating that this issue wasn't in Kubuntu 10.04 alpha 1 but was in 10.04 beta 1: https://bugs.launchpad.net/ubuntu/+source/amarok/+bug/545549
Comment 33 Sven Krohlas 2010-04-09 22:28:15 UTC
commit 6aba3ce586116ecab61858c723678cb19feb1fad
Author: Bart Cerneels <bart.cerneels@kde.org>
Date:   Fri Apr 9 21:56:15 2010 +0200

    Possibly fix crash when scanning playlist files.
    
    The provider pointer was not set which might have caused a race condition.
    BUG:42629

diff --git a/src/playlistmanager/file/PlaylistFileProvider.cpp b/src/playlistmanager/file/PlaylistFileProvider.cpp
index 9489804..edd5f2b 100644
--- a/src/playlistmanager/file/PlaylistFileProvider.cpp
+++ b/src/playlistmanager/file/PlaylistFileProvider.cpp
@@ -250,6 +250,7 @@ PlaylistFileProvider::import( const KUrl &path )
     Playlists::PlaylistFilePtr playlist = Playlists::loadPlaylistFile( path );
     if( !playlist )
         return false;
+    playlist->setProvider( this );
     m_playlists << Playlists::PlaylistPtr::dynamicCast( playlist );
     //just in case there wasn't one loaded before.
     m_playlistsLoaded = true;
Comment 34 Mikko C. 2010-04-17 13:46:04 UTC
*** Bug 234605 has been marked as a duplicate of this bug. ***
Comment 35 Jonathan Thomas 2010-04-18 22:07:30 UTC
*** Bug 234696 has been marked as a duplicate of this bug. ***
Comment 36 Sven Krohlas 2010-04-22 17:14:01 UTC
*** Bug 235077 has been marked as a duplicate of this bug. ***
Comment 37 Mikko C. 2010-04-30 11:58:02 UTC
*** Bug 235755 has been marked as a duplicate of this bug. ***
Comment 38 Sven Krohlas 2010-05-03 16:57:03 UTC
*** Bug 236179 has been marked as a duplicate of this bug. ***
Comment 39 Mikko C. 2010-05-09 08:57:52 UTC
*** Bug 236924 has been marked as a duplicate of this bug. ***
Comment 40 Mikko C. 2010-05-09 08:58:11 UTC
*** Bug 236946 has been marked as a duplicate of this bug. ***
Comment 41 Mikko C. 2010-05-10 16:13:06 UTC
*** Bug 237102 has been marked as a duplicate of this bug. ***
Comment 42 Panagiotis Papadopoulos 2010-05-15 20:09:48 UTC
Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f6e718d97a0 (LWP 5415))]

Thread 10 (Thread 0x7f6e2b742710 (LWP 5420)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e5e14f852 in Thread () from /usr/lib/libvlccore.so.5
#2  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#3  0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f6e29711710 (LWP 5425)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e6fb2e26b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f6e6b7ae05e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#3  0x00007f6e6b7b0373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#4  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#6  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#7  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#8  0x00007f6e6b7af26f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#9  0x00007f6e6b7af2f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#10 0x00007f6e6fb2dba5 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#12 0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f6e20cda710 (LWP 5426)):
#0  0x00007f6e6e6af8d3 in select () from /lib/libc.so.6
#1  0x00007f6e6fbf79cd in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007f6e6fb2dba5 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#4  0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f6e1f385710 (LWP 5437)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e69cb0ad0 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f6e69cb0b09 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#4  0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f6e1dfe6710 (LWP 5438)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e6fb2e26b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f6e2ac0ef86 in XmlParseJob::run() () from /usr/lib/libamarok-sqlcollection.so.1
#3  0x00007f6e6b7af931 in ThreadWeaver::JobRunHelper::runTheJob(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#4  0x00007f6e6b7afa6e in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f6e6b7af23f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#6  0x00007f6e6b7af2f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007f6e6fb2dba5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#9  0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f6e1d7e5710 (LWP 5439)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e6fb2e26b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f6e6b7ae05e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#3  0x00007f6e6b7b0373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#4  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#6  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#7  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#8  0x00007f6e6b7af26f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#9  0x00007f6e6b7af2f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#10 0x00007f6e6fb2dba5 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#12 0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f6e1cfe4710 (LWP 5440)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e6fb2e26b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f6e6b7ae05e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#3  0x00007f6e6b7b0373 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#4  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#5  0x00007f6e6b7b038c in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4
#6  0x00007f6e6b7af26f in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#7  0x00007f6e6b7af2f8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#8  0x00007f6e6fb2dba5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#10 0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f6e1a7ca710 (LWP 5449)):
#0  0x00007f6e6cd504d9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e6fb2e1d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f6e6fb246d0 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f6e6fb2dba5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#5  0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f6e19d96710 (LWP 5452)):
#0  0x00007f6e6cd5016c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6e6b002580 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f6e6b0025b9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f6e6cd4b97a in start_thread () from /lib/libpthread.so.0
#4  0x00007f6e6e6b601d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f6e718d97a0 (LWP 5415)):
[KCrash Handler]
#5  0x00007f6e70acef8e in Playlists::PlaylistFileProvider::playlists() () from /usr/lib/libamaroklib.so.1
#6  0x00007f6e70a1c77d in PlaylistBrowserNS::MetaPlaylistModel::data(QModelIndex const&, int) const () from /usr/lib/libamaroklib.so.1
#7  0x00007f6e6fc0dec0 in QAbstractItemModel::itemData(QModelIndex const&) const () from /usr/lib/libQtCore.so.4
#8  0x00007f6e70a204f3 in QtGroupingProxy::belongsTo(QModelIndex const&) () from /usr/lib/libamaroklib.so.1
#9  0x00007f6e70a2257b in QtGroupingProxy::buildTree() () from /usr/lib/libamaroklib.so.1
#10 0x00007f6e704ff159 in QtGroupingProxy::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#11 0x00007f6e70501370 in PlaylistsByProviderProxy::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#12 0x00007f6e6fc2a62f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x00007f6e70a18bc8 in PlaylistBrowserNS::MetaPlaylistModel::slotUpdate() () from /usr/lib/libamaroklib.so.1
#14 0x00007f6e70501528 in PlaylistBrowserNS::MetaPlaylistModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#15 0x00007f6e6fc2a62f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0x00007f6e70abc868 in PlaylistManager::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libamaroklib.so.1
#17 0x00007f6e6fc27ec9 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#18 0x00007f6e6f010e84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x00007f6e6f014f6a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f6e71409e86 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#21 0x00007f6e6fc1679c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#22 0x00007f6e6fc19e3d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#23 0x00007f6e6fc3ead3 in ?? () from /usr/lib/libQtCore.so.4
#24 0x00007f6e67388b33 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0x00007f6e67389310 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#26 0x00007f6e673895ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0x00007f6e6fc3f00f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#28 0x00007f6e6f0b04be in ?? () from /usr/lib/libQtGui.so.4
#29 0x00007f6e6fc15b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0x00007f6e6fc15dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#31 0x00007f6e6fc1a0eb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#32 0x00000000004080e2 in _start ()

is what I get here with the latest git version from today, on Arch Linux with Qt 4.6.2 and KDE 4.4.3
It crashes while scanning files
Comment 43 Bart Cerneels 2010-05-15 20:17:32 UTC
(In reply to comment #42)
> Thread 1 (Thread 0x7f6e718d97a0 (LWP 5415)):
> [KCrash Handler]
> #5  0x00007f6e70acef8e in Playlists::PlaylistFileProvider::playlists() () from
> /usr/lib/libamaroklib.so.1
>
> is what I get here with the latest git version from today, on Arch Linux with
> Qt 4.6.2 and KDE 4.4.3
> It crashes while scanning files

I need a better stack trace then this. Please compile amarok with -DCMAKE_BUILD_TYPE="debugfull" and if possible install KDE debug symbols. I need in the very least a source line number.
Also try to find out which PLS, M3U or XSPF file it could be crashing on.
Comment 44 Alexander Hansen 2010-05-16 18:49:19 UTC
Created attachment 43643 [details]
New crash information added by DrKonqi

Adding large collection of music.
Crashes right after.
Comment 45 Mikko C. 2010-05-16 18:56:37 UTC
*** Bug 237852 has been marked as a duplicate of this bug. ***
Comment 46 Sven Krohlas 2010-05-18 12:20:29 UTC
*** Bug 237999 has been marked as a duplicate of this bug. ***
Comment 47 Hans-Helge Fischer 2010-05-19 08:57:09 UTC
I have a hint:

my problem was solved with a new version of taglib (1.6.3)
see here: https://bugs.launchpad.net/ubuntu/+source/taglib/+bug/572432
Comment 48 Panagiotis Papadopoulos 2010-05-19 13:59:48 UTC
I have had installed taglib 1.6.3, when amarok crashed.
I now compiled myself taglib from svn and the crashes still are there
Comment 49 Sven Krohlas 2010-05-20 18:00:26 UTC
*** Bug 238223 has been marked as a duplicate of this bug. ***
Comment 50 Sven Krohlas 2010-05-20 18:26:09 UTC
*** Bug 238266 has been marked as a duplicate of this bug. ***
Comment 51 sendittodevnull 2010-05-20 18:33:25 UTC
libtag1c2a -- TagLib1.63 installed from lucid-proposed (see here: https://bugs.launchpad.net/ubuntu/+source/taglib/+bug/572432) 
It still crashes on rescan.
Comment 52 Mikko C. 2010-05-22 10:32:54 UTC
*** Bug 238442 has been marked as a duplicate of this bug. ***
Comment 53 Mikko C. 2010-05-22 11:42:19 UTC
*** Bug 238481 has been marked as a duplicate of this bug. ***
Comment 54 Myriam Schweingruber 2010-05-27 23:24:04 UTC
*** Bug 238914 has been marked as a duplicate of this bug. ***
Comment 55 Myriam Schweingruber 2010-05-27 23:24:27 UTC
*** Bug 239034 has been marked as a duplicate of this bug. ***
Comment 56 Myriam Schweingruber 2010-05-29 03:33:23 UTC
*** Bug 239937 has been marked as a duplicate of this bug. ***
Comment 57 Myriam Schweingruber 2010-05-31 23:14:37 UTC
*** Bug 240172 has been marked as a duplicate of this bug. ***
Comment 58 Myriam Schweingruber 2010-06-08 23:15:33 UTC
*** Bug 241127 has been marked as a duplicate of this bug. ***
Comment 59 Myriam Schweingruber 2010-06-08 23:36:39 UTC
*** Bug 241146 has been marked as a duplicate of this bug. ***
Comment 60 Myriam Schweingruber 2010-06-09 00:03:40 UTC
*** Bug 241127 has been marked as a duplicate of this bug. ***
Comment 61 Woodrow Hill 2010-06-09 16:37:59 UTC
All, I'm crashing on libtag1c2a version 1.6.3, as well. /var/log/dpkg.log reports this is the last install of the package:

2010-06-02 08:11:00 status installed libtag1c2a 1.6.3-0ubuntu1

Per some comments on a possibly related bug report:

https://bugs.launchpad.net/ubuntu/+source/taglib/+bug/572432/comments/26

I've tried also running amarokcollectionscanner against the folders. It finish with no crashes, but does not store any data, so far as I can tell.

Another attempt, ran just after from Amarok proper failed again. I'm going to try runs with and without MySQL storage again, and I'll report results. Please let me know if there's any other tests I can run that can help w/triage, or if I'm missing any solutions.
Comment 62 Nora Gabnai 2010-06-13 15:54:03 UTC
Created attachment 47973 [details]
New crash information added by DrKonqi

Amarok crashes while scanning my collection.
~66 GB, NTFS
Comment 63 Myriam Schweingruber 2010-06-16 12:04:47 UTC
Woodrow, please make sure you have all mysql package installed correctly
Comment 64 Myriam Schweingruber 2010-06-16 12:09:02 UTC
Woodrow, please make sure you have all mysql package installed correctly.

Seems not to be a taglib version problem.
Comment 65 MHildebrandt 2010-07-11 05:31:54 UTC
I have installed 2.3.0-9 as it became available from the Suse repos. Wanted to try again the big collection (500000+ files) scan.
To my great surprise now the _amarokcollectionscanner_ (that worked fine before) crashes on a bundle of files. So far I've located 8 of them. (New scan each time needed, so it takes time.)
Anybody interested in a file that crashes the scanner?
Comment 66 Myriam Schweingruber 2010-07-11 14:12:10 UTC
Yes, please, you can send one to my address (just click on my name in the comment header).
Comment 67 Myriam Schweingruber 2010-07-19 22:31:46 UTC
@all those using the git version, can you reproduce this? It should be fixed after tagging of 2.3.1.
Please do not answer this thread if you don't use a version later than 2.3.1
Comment 68 Myriam Schweingruber 2010-07-24 17:50:20 UTC
*** Bug 245659 has been marked as a duplicate of this bug. ***
Comment 69 MHildebrandt 2010-07-28 17:22:01 UTC
Please see my last comment on: https://bugs.kde.org/show_bug.cgi?id=235480

Looks like (at least for me) the problem is related to a large number of M3U files in the scanned directories.
Comment 70 Myriam Schweingruber 2010-07-28 19:14:02 UTC
MHildebrandt, please see my comment #67: this is most likely already fixed in Amarok 2.3.1-git, as a fix was committed after tagging 2.3.1. I am waiting for confirmation from somebody using the git version, as I can't reproduce this here with your files.
Comment 71 Tatu Lahtela 2010-08-13 13:05:41 UTC
The collection scanner no longer crashes with 2.3-GIT (compiled 13 Aug 10). Older released versions always crashed.
Comment 72 Myriam Schweingruber 2010-08-13 16:32:58 UTC
Thank you for the feedback. Closing as solved, feel free to reopen this report if you can reproduce it with the upcoming 2.3.2, current Amarok 2.3.1-git or later.
Comment 73 Myriam Schweingruber 2010-08-13 16:40:05 UTC
*** Bug 247638 has been marked as a duplicate of this bug. ***
Comment 74 Myriam Schweingruber 2010-08-29 23:49:20 UTC
*** Bug 249465 has been marked as a duplicate of this bug. ***
Comment 75 Myriam Schweingruber 2010-08-30 01:03:19 UTC
*** Bug 249469 has been marked as a duplicate of this bug. ***
Comment 76 Myriam Schweingruber 2010-08-30 10:16:04 UTC
*** Bug 249491 has been marked as a duplicate of this bug. ***
Comment 77 Mikko C. 2010-09-11 09:46:40 UTC
*** Bug 250826 has been marked as a duplicate of this bug. ***
Comment 78 Mikko C. 2010-09-12 14:43:44 UTC
*** Bug 250895 has been marked as a duplicate of this bug. ***
Comment 79 Myriam Schweingruber 2010-09-19 10:45:01 UTC
*** Bug 251711 has been marked as a duplicate of this bug. ***
Comment 80 Myriam Schweingruber 2010-09-26 20:42:08 UTC
*** Bug 252441 has been marked as a duplicate of this bug. ***
Comment 81 breathe_easily 2010-10-01 15:04:59 UTC
Created attachment 52146 [details]
New crash information added by DrKonqi

Download and installed Amarok via Ubunut's software center. Crashes everytime I scan a 80GB folder from an NTFS drive (which is mounted).
Comment 82 Myriam Schweingruber 2010-10-02 00:48:53 UTC
*** Bug 252958 has been marked as a duplicate of this bug. ***
Comment 83 Mikko C. 2010-10-24 11:38:07 UTC
*** Bug 255092 has been marked as a duplicate of this bug. ***
Comment 84 Myriam Schweingruber 2011-02-04 19:02:59 UTC
*** Bug 265341 has been marked as a duplicate of this bug. ***
Comment 85 Myriam Schweingruber 2011-04-29 00:31:13 UTC
*** Bug 271936 has been marked as a duplicate of this bug. ***