Bug 285720

Summary: Amarok crashes on start with following message: ASSERT failure in QVector<T>::at: "index out of range"
Product: [Applications] amarok Reporter: Bernd Buschinski <b.buschinski>
Component: PlaylistAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: normal CC: 4ernov, ahartmetz, alexanders83, alvarus, bart.cerneels, bugs.kde, claude.xavier, emilsedgh, matej, mikko.cal, oldium.pro, polentino911, Tanktalus, wilderkde
Priority: NOR Keywords: release_blocker
Version: 2.5-git   
Target Milestone: 2.6   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In: 2.6
Sentry Crash Report:
Attachments: backtrace with debug useflag enabled
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Bernd Buschinski 2011-11-04 01:42:37 UTC
Version:           2.5-git (using KDE 4.7.3) 
OS:                Linux

I updated amarok to current git master a175a7c501728928c786c23f241941c30a184809
and it crashes on start. It worked fine a week ago (with kde-4.7.2 & Qt-4.8-rc1)
current KDE 4.7.3 & Qt 4.8-rc1.

Reproducible: Always

Steps to Reproduce:
start it

Actual Results:  
it crashes

Expected Results:  
it should not crash

Application: Amarok (amarok), signal: Aborted
[Current thread is 1 (Thread 0x7f259b8217a0 (LWP 22189))]

Thread 8 (Thread 0x7f2575818700 (LWP 22191)):
#0  0x00007f2597f9f773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f25916474b8 in g_main_context_iterate.isra.21 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f259164793b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f25989437d6 in QEventDispatcherGlib::processEvents (this=0x1a81fc0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f259890fb12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f259890fd7f in QEventLoop::exec (this=0x7f2575817ce0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f2598804690 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f25988ed893 in QInotifyFileSystemWatcherEngine::run (this=0x1bcb940) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f259880750d in QThreadPrivate::start (arg=0x1bcb940) at thread/qthread_unix.cpp:298
#9  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#10 0x00007f2596106f9c in start_thread (arg=0x7f2575818700) at pthread_create.c:301
#11 0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7f256ffff700 (LWP 22193)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2598807a9b in wait (time=18446744073709551615, this=0x1c9e3f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1c46fc0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f259548bbbc in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1be4ef0, th=0x1be8e90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f259548e66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1cddc50, th=0x1be8e90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f259548e684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1cddc50, th=0x1be8e90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f259548d327 in ThreadWeaver::ThreadRunHelper::run (this=0x7f256fffed40, parent=0x1be4ef0, th=0x1be8e90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f259548d3bb in ThreadWeaver::Thread::run (this=0x1be8e90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f259880750d in QThreadPrivate::start (arg=0x1be8e90) at thread/qthread_unix.cpp:298
#9  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#10 0x00007f2596106f9c in start_thread (arg=0x7f256ffff700) at pthread_create.c:301
#11 0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f256effd700 (LWP 22195)):
#0  0x00007f2597f9f773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f25916474b8 in g_main_context_iterate.isra.21 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f259164793b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f25989437d6 in QEventDispatcherGlib::processEvents (this=0x1c99db0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f259890fb12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f259890fd7f in QEventLoop::exec (this=0x7f256effcd20, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f2598804690 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f259880750d in QThreadPrivate::start (arg=0x1c16870) at thread/qthread_unix.cpp:298
#8  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#9  0x00007f2596106f9c in start_thread (arg=0x7f256effd700) at pthread_create.c:301
#10 0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f256f7fe700 (LWP 22202)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2598807a9b in wait (time=18446744073709551615, this=0x1c9e3f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1c46fc0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f259548bbbc in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1be4ef0, th=0x51394d0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f259548e66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1cddc50, th=0x51394d0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f259548e684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1cddc50, th=0x51394d0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f259548d327 in ThreadWeaver::ThreadRunHelper::run (this=0x7f256f7fdd40, parent=0x1be4ef0, th=0x51394d0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f259548d3bb in ThreadWeaver::Thread::run (this=0x51394d0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f259880750d in QThreadPrivate::start (arg=0x51394d0) at thread/qthread_unix.cpp:298
#9  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#10 0x00007f2596106f9c in start_thread (arg=0x7f256f7fe700) at pthread_create.c:301
#11 0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f256e7fc700 (LWP 22203)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2598807a9b in wait (time=18446744073709551615, this=0x1c9e3f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1c46fc0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f259548bbbc in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1be4ef0, th=0x52a5fd0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f259548e66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1cddc50, th=0x52a5fd0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f259548d327 in ThreadWeaver::ThreadRunHelper::run (this=0x7f256e7fbd40, parent=0x1be4ef0, th=0x52a5fd0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#6  0x00007f259548d3bb in ThreadWeaver::Thread::run (this=0x52a5fd0) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#7  0x00007f259880750d in QThreadPrivate::start (arg=0x52a5fd0) at thread/qthread_unix.cpp:298
#8  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#9  0x00007f2596106f9c in start_thread (arg=0x7f256e7fc700) at pthread_create.c:301
#10 0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f256d8b5700 (LWP 22204)):
#0  0x00007f2597fa1d03 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f25988ebc20 in QProcessManager::run (this=0x7f2598c7d0a0) at io/qprocess_unix.cpp:244
#2  0x00007f259880750d in QThreadPrivate::start (arg=0x7f2598c7d0a0) at thread/qthread_unix.cpp:298
#3  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#4  0x00007f2596106f9c in start_thread (arg=0x7f256d8b5700) at pthread_create.c:301
#5  0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f256d0b4700 (LWP 22206)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2598807a9b in wait (time=18446744073709551615, this=0x1c9e3f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1c46fc0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f259548bbbc in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1be4ef0, th=0x1eb9d90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f259548e66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1cddc50, th=0x1eb9d90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f259548d327 in ThreadWeaver::ThreadRunHelper::run (this=0x7f256d0b3d40, parent=0x1be4ef0, th=0x1eb9d90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:87
#6  0x00007f259548d3bb in ThreadWeaver::Thread::run (this=0x1eb9d90) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/threadweaver/Weaver/Thread.cpp:142
#7  0x00007f259880750d in QThreadPrivate::start (arg=0x1eb9d90) at thread/qthread_unix.cpp:298
#8  0x00007f258510225a in ?? () from /usr/lib64/libGL.so.1
#9  0x00007f2596106f9c in start_thread (arg=0x7f256d0b4700) at pthread_create.c:301
#10 0x00007f2597fa82ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f259b8217a0 (LWP 22189)):
[KCrash Handler]
#6  0x00007f2597f07c15 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f2597f090e5 in __GI_abort () at abort.c:92
#8  0x00007f25987fc8bf in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2255
#9  0x00007f25987fca31 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f259897d148 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fff384aeb48) at global/qglobal.cpp:2301
#10 0x00007f25987fcbd4 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2484
#11 0x00007f2599962559 in at (i=0, this=0x44760e0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:351
#12 QSortFilterProxyModelPrivate::can_create_mapping (this=<optimized out>, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:408
#13 0x00007f2599965b31 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x43d6b00, source_parent=..., start=<optimized out>, end=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1273
#14 0x00007f2598927607 in QMetaObject::activate (sender=0x4314260, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff384aedb0) at kernel/qobject.cpp:3546
#15 0x00007f2598978b04 in QAbstractItemModel::rowsAboutToBeInserted (this=<optimized out>, _t1=<optimized out>, _t2=0, _t3=0) at .moc/debug-shared/moc_qabstractitemmodel.cpp:190
#16 0x00007f259890a489 in QAbstractItemModel::beginInsertRows (this=0x4314260, parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2416
#17 0x00007f259a6f402a in QtGroupingProxy::addSourceRow (this=0x4314260, idx=...) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/browsers/playlistbrowser/QtGroupingProxy.cpp:239
#18 0x00007f259a6f5ed7 in QtGroupingProxy::buildTree (this=0x4314260) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/browsers/playlistbrowser/QtGroupingProxy.cpp:156
#19 0x00007f259a70b933 in PlaylistsByProviderProxy::buildTree (this=0x4314260) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/browsers/playlistbrowser/PlaylistsByProviderProxy.cpp:287
#20 0x00007f259892c9de in QObject::event (this=0x4314260, e=<optimized out>) at kernel/qobject.cpp:1194
#21 0x00007f259935247e in notify_helper (e=0x444c130, receiver=0x4314260, this=0x1437c60) at kernel/qapplication.cpp:4518
#22 QApplicationPrivate::notify_helper (this=0x1437c60, receiver=0x4314260, e=0x444c130) at kernel/qapplication.cpp:4490
#23 0x00007f2599357e69 in QApplication::notify (this=0x7fff384afc10, receiver=0x4314260, e=0x444c130) at kernel/qapplication.cpp:4379
#24 0x00007f259b231068 in KApplication::notify (this=0x7fff384afc10, receiver=0x4314260, event=0x444c130) at /var/tmp/portage/kde-base/kdelibs-4.7.3/work/kdelibs-4.7.3/kdeui/kernel/kapplication.cpp:311
#25 0x00007f25989115cb in QCoreApplication::notifyInternal (this=0x7fff384afc10, receiver=0x4314260, event=0x444c130) at kernel/qcoreapplication.cpp:876
#26 0x00007f2598914e6c in sendEvent (event=0x444c130, receiver=0x4314260) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#27 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x123d890) at kernel/qcoreapplication.cpp:1500
#28 0x00007f2598943393 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#29 postEventSourceDispatch (s=0x141dd00) at kernel/qeventdispatcher_glib.cpp:279
#30 0x00007f2591646f9c in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#31 0x00007f2591647790 in g_main_context_iterate.isra.21 () from /usr/lib64/libglib-2.0.so.0
#32 0x00007f259164793b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#33 0x00007f25989437d6 in QEventDispatcherGlib::processEvents (this=0x14517d0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#34 0x00007f2599404446 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#35 0x00007f259890fb12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#36 0x00007f259890fd7f in QEventLoop::exec (this=0x7fff384afba0, flags=...) at kernel/qeventloop.cpp:204
#37 0x00007f2598915267 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#38 0x000000000040986c in main (argc=2, argv=0x7fff384b22d8) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/main.cpp:296








amarok:             END__: QModelIndex Dynamic::DynamicModel::insertPlaylist(int, Dynamic::DynamicPlaylist*) [Took: 0s] 
amarok:             BEGIN: virtual void Dynamic::SearchQueryBias::fromXml(QXmlStreamReader*) 
amarok:             END__: virtual void Dynamic::SearchQueryBias::fromXml(QXmlStreamReader*) [Took: 0s] 
amarok:             BEGIN: QModelIndex Dynamic::DynamicModel::insertPlaylist(int, Dynamic::DynamicPlaylist*) 
amarok:               [DynamicModel] insert playlist before "Random 42444f0
 Random songs 542a840
Rock and Pop 4244000
 Search for: genre:Rock OR genre:Pop 44777a0
" 
amarok:               [DynamicModel] OldIndex:  -1 was active false to Str "Album play" 
amarok:               [DynamicModel] insert playlist after "Random 42444f0
 Random songs 542a840
Rock and Pop 4244000
 Search for: genre:Rock OR genre:Pop 44777a0
Album play 1d73c30
 Match all sequentially 4534b40
  The next track from the album 542c520
  Search for: tracknr:1 1d74000
" 
amarok:             END__: QModelIndex Dynamic::DynamicModel::insertPlaylist(int, Dynamic::DynamicPlaylist*) [Took: 0s] 
amarok:             BEGIN: virtual void Dynamic::PartBias::appendBias(Dynamic::BiasPtr) 
amarok:               BEGIN: void Dynamic::PartBias::changeBiasWeight(int, qreal) 
amarok:               END__: void Dynamic::PartBias::changeBiasWeight(int, qreal) [Took: 0s] 
amarok:             END__: virtual void Dynamic::PartBias::appendBias(Dynamic::BiasPtr) [Took: 0s] 
amarok:             BEGIN: virtual void Dynamic::PartBias::appendBias(Dynamic::BiasPtr) 
amarok:               BEGIN: void Dynamic::PartBias::changeBiasWeight(int, qreal) 
amarok:                 [PartBias] Weight 0 : 1 
amarok:                 [PartBias] Weight 1 : 0 
amarok:               END__: void Dynamic::PartBias::changeBiasWeight(int, qreal) [Took: 0s] 
amarok:             END__: virtual void Dynamic::PartBias::appendBias(Dynamic::BiasPtr) [Took: 0s] 
amarok:             BEGIN: virtual void Dynamic::PartBias::appendBias(Dynamic::BiasPtr) 
amarok:               BEGIN: void Dynamic::PartBias::changeBiasWeight(int, qreal) 
amarok:                 [PartBias] Weight 0 : 1 
amarok:                 [PartBias] Weight 1 : 0 
amarok:                 [PartBias] Weight 2 : 0 
amarok:               END__: void Dynamic::PartBias::changeBiasWeight(int, qreal) [Took: 0s] 
amarok:             END__: virtual void Dynamic::PartBias::appendBias(Dynamic::BiasPtr) [Took: 0s] 
amarok:             BEGIN: QModelIndex Dynamic::DynamicModel::insertPlaylist(int, Dynamic::DynamicPlaylist*) 
amarok:               [DynamicModel] insert playlist before "Random 42444f0
 Random songs 542a840
Rock and Pop 4244000
 Search for: genre:Rock OR genre:Pop 44777a0
Album play 1d73c30
 Match all sequentially 4534b40
  The next track from the album 542c520
  Search for: tracknr:1 1d74000
" 
amarok:               [DynamicModel] OldIndex:  -1 was active false to Str "Rating" 
amarok:               [DynamicModel] insert playlist after "Random 42444f0
 Random songs 542a840
Rock and Pop 4244000
 Search for: genre:Rock OR genre:Pop 44777a0
Album play 1d73c30
 Match all sequentially 4534b40
  The next track from the album 542c520
  Search for: tracknr:1 1d74000
Rating 1d741d0
 Partition 409c040
  Random songs 542dfe0
  rating:>2.5 4546c40
  rating:>4 4546ee0
" 
amarok:             END__: QModelIndex Dynamic::DynamicModel::insertPlaylist(int, Dynamic::DynamicPlaylist*) [Took: 0s] 
amarok:           END__: PlaylistBrowserNS::DynamicView::DynamicView(QWidget*) [Took: 0.001s] 
amarok:           BEGIN: void PlaylistBrowserNS::DynamicCategory::selectionChanged() 
amarok:           END__: void PlaylistBrowserNS::DynamicCategory::selectionChanged() [Took: 0s] 
amarok:           [PlaylistBrowserModel] 0  playlists for category  1 
amarok:           BEGIN: PlaylistBrowserNS::PlaylistBrowserView::PlaylistBrowserView(QAbstractItemModel*, QWidget*) 
amarok:           END__: PlaylistBrowserNS::PlaylistBrowserView::PlaylistBrowserView(QAbstractItemModel*, QWidget*) [Took: 0s]                                                                                                                  
amarok:           BEGIN: PlaylistTreeItemDelegate::PlaylistTreeItemDelegate(QTreeView*) 
amarok:           END__: PlaylistTreeItemDelegate::PlaylistTreeItemDelegate(QTreeView*) [Took: 0s] 
amarok:           [APG::PresetModel] Reading presets from "/home/buscher/.kde4/share/apps/amarok/playlistgenerator.xml" 
amarok:           [APG::PresetModel] creating a new generator preset 
amarok:           BEGIN: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) 
amarok:             [APG::ConstraintNode] new constraint node at 0x445bba0 with parent at 0x0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x446a650 with parent at 0x445bba0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x41b94a0 with parent at 0x446a650 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: added to collection within 0 days" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4559d00 with parent at 0x446a650 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: play count equals 0" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:           END__: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) [Took: 0s] 
amarok:           [APG::PresetModel] creating a new generator preset 
amarok:           BEGIN: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) 
amarok:             [APG::ConstraintNode] new constraint node at 0x42d1bb0 with parent at 0x0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x42d1960 with parent at 0x42d1bb0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match Any" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x45bcb60 with parent at 0x42d1960 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: genre contains """""""""Rock"""""""""" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x427f6c0 with parent at 0x42d1960 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: genre contains """""""""Pop"""""""""" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:           END__: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) [Took: 0s] 
amarok:           [APG::PresetModel] creating a new generator preset 
amarok:           BEGIN: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) 
amarok:             [APG::ConstraintNode] new constraint node at 0x43202d0 with parent at 0x0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4320510 with parent at 0x43202d0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4320b60 with parent at 0x4320510 
amarok:             [APG::ConstraintNode] new constraint node at 0x4320bf0 with parent at 0x4320510 
amarok:             BEGIN: ConstraintTypes::PreventDuplicates::PreventDuplicates(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::PreventDuplicates] "Prevent duplicate artists" 
amarok:             END__: ConstraintTypes::PreventDuplicates::PreventDuplicates(QDomElement&, ConstraintNode*) [Took: 0s]                                                                                                                      
amarok:           END__: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) [Took: 0s] 
amarok:           [APG::PresetModel] creating a new generator preset 
amarok:           BEGIN: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) 
amarok:             [APG::ConstraintNode] new constraint node at 0x42422a0 with parent at 0x0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4242920 with parent at 0x42422a0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x45b1720 with parent at 0x4242920 
amarok:             BEGIN: ConstraintTypes::PreventDuplicates::PreventDuplicates(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::PreventDuplicates] "Prevent duplicate tracks" 
amarok:             END__: ConstraintTypes::PreventDuplicates::PreventDuplicates(QDomElement&, ConstraintNode*) [Took: 0s]                                                                                                                      
amarok:             [APG::ConstraintNode] new constraint node at 0x45b1a80 with parent at 0x4242920 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: not last played within 0 days" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x40cc650 with parent at 0x4242920 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: rating greater than 3 stars" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x45075a0 with parent at 0x4242920 
amarok:           END__: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) [Took: 0s] 
amarok:           [APG::PresetModel] creating a new generator preset 
amarok:           BEGIN: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) 
amarok:             [APG::ConstraintNode] new constraint node at 0x40cc5f0 with parent at 0x0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x45768a0 with parent at 0x40cc5f0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4232b80 with parent at 0x45768a0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match Any" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4233110 with parent at 0x4232b80 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: genre contains """""""""Rock"""""""""" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x4205690 with parent at 0x4232b80 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: genre contains """""""""Metal"""""""""" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x44d4380 with parent at 0x4232b80 
amarok:             BEGIN: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) 
amarok:               [Constraint::TagMatch] "Match tag: genre contains """""""""Industrial"""""""""" 
amarok:             END__: ConstraintTypes::TagMatch::TagMatch(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x45cabf0 with parent at 0x45768a0 
amarok:             BEGIN: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) 
amarok:               [APG::ConstraintGroup] ""Match All" group" 
amarok:             END__: ConstraintGroup::ConstraintGroup(QDomElement&, ConstraintNode*) [Took: 0s] 
amarok:             [APG::ConstraintNode] new constraint node at 0x436a020 with parent at 0x45cabf0 
amarok:             [APG::ConstraintNode] new constraint node at 0x4369c30 with parent at 0x45cabf0 
amarok:           END__: static APG::PresetPtr APG::Preset::createFromXml(QDomElement&) [Took: 0s] 
amarok:           BEGIN: void BrowserBreadcrumbWidget::updateBreadcrumbs() 
amarok:             BEGIN: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) 
amarok:             END__: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) [Took: 0s] 
amarok:           END__: void BrowserBreadcrumbWidget::updateBreadcrumbs() [Took: 0s] 
amarok:           BEGIN: void BrowserBreadcrumbWidget::updateBreadcrumbs() 
amarok:             BEGIN: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) 
amarok:             END__: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) [Took: 0s] 
amarok:           END__: void BrowserBreadcrumbWidget::updateBreadcrumbs() [Took: 0s] 
amarok:           [PlaylistBrowserModel] 1  playlists for category  2 
amarok:           BEGIN: PlaylistBrowserNS::PlaylistBrowserView::PlaylistBrowserView(QAbstractItemModel*, QWidget*) 
amarok:           END__: PlaylistBrowserNS::PlaylistBrowserView::PlaylistBrowserView(QAbstractItemModel*, QWidget*) [Took: 0s]                                                                                                                  
amarok:           BEGIN: PlaylistTreeItemDelegate::PlaylistTreeItemDelegate(QTreeView*) 
amarok:           END__: PlaylistTreeItemDelegate::PlaylistTreeItemDelegate(QTreeView*) [Took: 0s] 
amarok:           BEGIN: void BrowserBreadcrumbWidget::updateBreadcrumbs() 
amarok:             BEGIN: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) 
amarok:             END__: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) [Took: 0s] 
amarok:           END__: void BrowserBreadcrumbWidget::updateBreadcrumbs() [Took: 0s] 
amarok:         END__: Creating browsers. Please report long start times! [Took: 0.042s] 
amarok:         BEGIN: CoverFetcher::CoverFetcher() 
amarok:         END__: CoverFetcher::CoverFetcher() [Took: 0s] 
amarok:         BEGIN: void MainWindow::restoreLayout() 
amarok:         END__: void MainWindow::restoreLayout() [Took: 0s] 
amarok:       END__: void MainWindow::init() [Took: 0.23s] 
amarok:       BEGIN: QString BrowserCategoryList::navigate(const QString&) 
amarok:         [BrowserCategoryList] target:  "root list/collections" 
amarok:         [BrowserCategoryList] removing own name ( "root list" ) from path 
amarok:         [BrowserCategoryList] looking for child category  "collections" 
amarok:         [BrowserCategoryList] got it! 
amarok:         BEGIN: void BrowserCategoryList::setActiveCategory(BrowserCategory*) 
amarok:           BEGIN: void BrowserBreadcrumbWidget::updateBreadcrumbs() 
amarok:             BEGIN: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) 
amarok:             END__: void BrowserBreadcrumbWidget::addLevel(BrowserCategoryList*) [Took: 0s] 
amarok:           END__: void BrowserBreadcrumbWidget::updateBreadcrumbs() [Took: 0s] 
amarok:         END__: void BrowserCategoryList::setActiveCategory(BrowserCategory*) [Took: 0.001s] 
amarok:         [BrowserCategoryList] child is not a list... 
amarok:       END__: QString BrowserCategoryList::navigate(const QString&) [Took: 0.001s] 
QWidget::setMinimumSize: (Media Sources dock/BrowserDock) Negative sizes (122,-1) are not possible
QWidget::setMinimumSize: (Playlist dock/Playlist::Dock) Negative sizes (0,-1) are not possible
amarok:     END__: MainWindow::MainWindow() [DELAY Took (quite long) 51s] 
amarok:     Register object:  true 
amarok:     BEGIN: void App::applySettings(bool) 
amarok:     END__: void App::applySettings(bool) [Took: 0s] 
amarok:     BEGIN: ScriptManager::ScriptManager(QObject*) 
amarok:     END__: ScriptManager::ScriptManager(QObject*) [Took: 0s] 
amarok:     BEGIN: void Amarok::OSD::applySettings() 
amarok:     END__: void Amarok::OSD::applySettings() [Took: 0s] 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks(const QString*) 
amarok:     END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] 
amarok:     BEGIN: void ProgressWidget::redrawBookmarks(const QString*) 
amarok:     END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] 
amarok:     BEGIN: virtual void Playlist::Dock::polish() 
amarok:       BEGIN: Playlist::ProgressiveSearchWidget::ProgressiveSearchWidget(QWidget*) 
amarok:         BEGIN: void Playlist::ProgressiveSearchWidget::slotShowOnlyMatches(bool) 
amarok:         END__: void Playlist::ProgressiveSearchWidget::slotShowOnlyMatches(bool) [Took: 0s] 
amarok:         BEGIN: void Playlist::ProgressiveSearchWidget::slotShowOnlyMatches(bool) 
amarok:         END__: void Playlist::ProgressiveSearchWidget::slotShowOnlyMatches(bool) [Took: 0s] 
amarok:       END__: Playlist::ProgressiveSearchWidget::ProgressiveSearchWidget(QWidget*) [Took: 0s] 
amarok:       BEGIN: void Playlist::Dock::showDynamicHint() 
amarok:       END__: void Playlist::Dock::showDynamicHint() [Took: 0s] 
amarok:       BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() 
amarok:         BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() 
amarok:         END__: void Playlist::PrettyListView::scrollToActiveTrack() [Took: 0s] 
amarok:       END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0s] 
amarok:       [PlaylistDock] Adding provider:  "" 
amarok:       [PlaylistDock] Adding provider:  "" 
amarok:       BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() 
amarok:       END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0.011s] 
amarok:     END__: virtual void Playlist::Dock::polish() [Took: 1.6s] 
amarok:     setting layout to QRectF(0,0 100x30) 
amarok:   END__: void App::continueInit() [DELAY Took (quite long) 53s] 
amarok: END__: App::App() [DELAY Took (quite long) 53s] 
amarok: BEGIN: void Albums::collectionDataChanged(Collections::Collection*) 
amarok: END__: void Albums::collectionDataChanged(Collections::Collection*) [Took: 0s] 
UPnP device entered: "uuid:75802409-bccb-40e7-8e6c-001F3F4CEC9D" 
amarok: BEGIN: void MediaDeviceCache::slotAddSolidDevice(const QString&) 
amarok:   [MediaDeviceCache] Found new Solid device with udi =  "/org/kde/upnp/uuid:75802409-bccb-40e7-8e6c-001F3F4CEC9D" 
amarok:   [MediaDeviceCache] Device name is =  "FRITZ!Box WLAN 3170"  and was made by  "AVM Berlin" 
amarok:   [MediaDeviceCache] udi  "/org/kde/upnp/uuid:75802409-bccb-40e7-8e6c-001F3F4CEC9D"  does not describe a portable media player or storage volume 
amarok: END__: void MediaDeviceCache::slotAddSolidDevice(const QString&) [Took: 0s] 
amarok: BEGIN: void Albums::collectionDataChanged(Collections::Collection*) 
amarok: END__: void Albums::collectionDataChanged(Collections::Collection*) [Took: 0s] 
amarok: BEGIN: void Albums::collectionDataChanged(Collections::Collection*) 
amarok: END__: void Albums::collectionDataChanged(Collections::Collection*) [Took: 0s] 
QWidget::setMinimumSize: (Media Sources dock/BrowserDock) Negative sizes (122,-1) are not possible
QWidget::setMinimumSize: (Playlist dock/Playlist::Dock) Negative sizes (0,-1) are not possible
amarok: BEGIN: virtual void CollectionTreeItemModel::requestCollectionsExpansion() 
amarok: END__: virtual void CollectionTreeItemModel::requestCollectionsExpansion() [Took: 0s] 
amarok:   [MySqlStorage] Initialized thread, count== 4 
ASSERT failure in QVector<T>::at: "index out of range", file ../../include/QtCore/../../src/corelib/tools/qvector.h, line 351
KCrash: Application 'amarok' crashing...
Comment 1 Myriam Schweingruber 2011-11-05 12:00:43 UTC
The problem is again related to Qt, similar to bug 279798
Comment 2 Mikko C. 2011-11-06 10:43:31 UTC
I'm also getting this crash every time on startup, a little bit after selecting
the Amazon country.
I'm also using Gentoo.


$ kde4-config -v
Qt: 4.7.4
KDE Development Platform: 4.7.3 (4.7.3)
kde4-config: 1.0

Amarok from git.


amarok: BEGIN: void
CollectionTreeItemModelBase::handleCompilations(CollectionTreeItem*) const 
amarok: END__: void
CollectionTreeItemModelBase::handleCompilations(CollectionTreeItem*) const
[Took: 0s] 
amarok: BEGIN: void
CollectionTreeItemModelBase::handleCompilations(CollectionTreeItem*) const 
amarok: END__: void
CollectionTreeItemModelBase::handleCompilations(CollectionTreeItem*) const
[Took: 0s] 
ASSERT failure in QVector<T>::at: "index out of range", file
../../include/QtCore/../../src/corelib/tools/qvector.h, line 339
QSocketNotifier: Invalid socket 15 and type 'Read', disabling...
amarok: NOTE: MySQL server had gone away, ping reconnected it 
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = amarok path = /usr/bin pid = 2062
KCrash: Arguments: /usr/bin/amarok --nocrashhandler -d 
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/mikko/.kde4/socket-X4/kdeinit4__0



Thread 1 (Thread 0x7fe079e42780 (LWP 2062)):
[KCrash Handler]
#6  0x00007fe076441915 in raise () from /lib64/libc.so.6
#7  0x00007fe076442cba in abort () from /lib64/libc.so.6
#8  0x00007fe076d162e4 in qt_message_output (msgType=<value optimized out>,
buf=<value optimized out>) at global/qglobal.cpp:2291
#9  0x00007fe076d16459 in qt_message(QtMsgType, const char *, typedef
__va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7fe076e7de88 "ASSERT
failure in %s: \"%s\", file %s, line %d", ap=0x7fff0200de00) at
global/qglobal.cpp:2337
#10 0x00007fe076d16615 in qFatal (msg=<value optimized out>) at
global/qglobal.cpp:2520
#11 0x00007fe077e20c99 in at (this=<value optimized out>, source_parent=...) at
../../include/QtCore/../../src/corelib/tools/qvector.h:339
#12 QSortFilterProxyModelPrivate::can_create_mapping (this=<value optimized
out>, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:406
#13 0x00007fe077e24291 in
QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x1c5ec20,
source_parent=..., start=<value optimized out>, end=<value optimized out>) at
itemviews/qsortfilterproxymodel.cpp:1271
#14 0x00007fe077e283bc in QSortFilterProxyModel::qt_metacall (this=0x1c5ec00,
_c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fff0200e090) at
.moc/debug-shared/moc_qsortfilterproxymodel.cpp:136
#15 0x00007fe0788a4579 in PlaylistBrowserFilterProxy::qt_metacall
(this=0x1c5ec00, _c=QMetaObject::InvokeMetaMethod, _id=36, _a=0x7fff0200e090)
at /home/mikko/amarok/build/src/moc_PlaylistBrowserFilterProxy.cpp:72
#16 0x00007fe076e2ecdf in QMetaObject::activate (sender=0x1c5c9f0, m=<value
optimized out>, local_signal_index=<value optimized out>, argv=0x7fff0200e090)
at kernel/qobject.cpp:3278
#17 0x00007fe076e7a0c4 in QAbstractItemModel::rowsAboutToBeInserted
(this=<value optimized out>, _t1=<value optimized out>, _t2=0, _t3=0) at
.moc/debug-shared/moc_qabstractitemmodel.cpp:174
#18 0x00007fe076e0e809 in QAbstractItemModel::beginInsertRows (this=0x1c5c9f0,
parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2395
#19 0x00007fe078bbeb3d in QtGroupingProxy::addSourceRow (this=0x1c5c9f0,
idx=...) at
/home/mikko/amarok/src/browsers/playlistbrowser/QtGroupingProxy.cpp:239
#20 0x00007fe078bbe40c in QtGroupingProxy::buildTree (this=0x1c5c9f0) at
/home/mikko/amarok/src/browsers/playlistbrowser/QtGroupingProxy.cpp:156
#21 0x00007fe078bd7451 in PlaylistsByProviderProxy::buildTree (this=0x1c5c9f0)
at
/home/mikko/amarok/src/browsers/playlistbrowser/PlaylistsByProviderProxy.cpp:287
#22 0x00007fe0788a76b8 in QtGroupingProxy::qt_metacall (this=0x1c5c9f0,
_c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x1c5dd20) at
/home/mikko/amarok/build/src/moc_QtGroupingProxy.cpp:82
#23 0x00007fe0788a5d67 in PlaylistsByProviderProxy::qt_metacall
(this=0x1c5c9f0, _c=QMetaObject::InvokeMetaMethod, _id=25, _a=0x1c5dd20) at
/home/mikko/amarok/build/src/moc_PlaylistsByProviderProxy.cpp:73
#24 0x00007fe076e2e742 in QObject::event (this=0x1c5c9f0, e=<value optimized
out>) at kernel/qobject.cpp:1217
#25 0x00007fe07783ad40 in QApplicationPrivate::notify_helper (this=0x1080910,
receiver=0x1c5c9f0, e=0x1c5b710) at kernel/qapplication.cpp:4481
#26 0x00007fe07783ffe1 in QApplication::notify (this=<value optimized out>,
receiver=0x1c5c9f0, e=0x1c5b710) at kernel/qapplication.cpp:4360
#27 0x00007fe0797a9811 in KApplication::notify (this=0x7fff0200ef40,
receiver=0x1c5c9f0, event=0x1c5b710) at
/var/tmp/paludis/kde-base-kdelibs-4.7.3/work/kdelibs-4.7.3/kdeui/kernel/kapplication.cpp:311
#28 0x00007fe076e1812b in QCoreApplication::notifyInternal
(this=0x7fff0200ef40, receiver=0x1c5c9f0, event=0x1c5b710) at
kernel/qcoreapplication.cpp:787
#29 0x00007fe076e1c0a1 in sendEvent (receiver=0x0, event_type=0, data=0xefa9f0)
at kernel/qcoreapplication.h:215
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0,
data=0xefa9f0) at kernel/qcoreapplication.cpp:1428
#31 0x00007fe076e461f3 in sendPostedEvents (s=0xf21250) at
kernel/qcoreapplication.h:220
#32 postEventSourceDispatch (s=0xf21250) at
kernel/qeventdispatcher_glib.cpp:277
#33 0x00007fe06fc95f3a in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#34 0x00007fe06fc96718 in g_main_context_iterate.clone.6 () from
/usr/lib64/libglib-2.0.so.0
#35 0x00007fe06fc9697f in g_main_context_iteration () from
/usr/lib64/libglib-2.0.so.0
#36 0x00007fe076e4635a in QEventDispatcherGlib::processEvents (this=0xefa1d0,
flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#37 0x00007fe0778ec486 in QGuiEventDispatcherGlib::processEvents (this=<value
optimized out>, flags=<value optimized out>) at
kernel/qguieventdispatcher_glib.cpp:204
#38 0x00007fe076e16b92 in QEventLoop::processEvents (this=<value optimized
out>, flags=...) at kernel/qeventloop.cpp:149
#39 0x00007fe076e16e14 in QEventLoop::exec (this=0x7fff0200eeb0, flags=...) at
kernel/qeventloop.cpp:201
#40 0x00007fe076e1c37b in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1064
#41 0x000000000040d1f7 in main (argc=2, argv=0x7fff02011608) at
/home/mikko/amarok/src/main.cpp:296
Comment 3 Matěj Laitl 2011-11-06 10:45:44 UTC
I think this bug triggers only when Qt is build with debugging on. Reporters, you may want to work-around this by disabling debugging in Qt until this is properly fixed.

Amarok devs should use debugging Qt builds to detect such errors early.
Comment 4 Matěj Laitl 2011-11-06 11:18:23 UTC
(In reply to comment #3)
> I think this bug triggers only when Qt is build with debugging on. Reporters,
> you may want to work-around this by disabling debugging in Qt until this is
> properly fixed.
> 
> Amarok devs should use debugging Qt builds to detect such errors early.

I was not quite right here, as pointed by Kevin Funk, QVector::at() is inline, so compiling amarok _without_ QT_NO_DEBUG should suffice to trigger this bug.
Comment 5 Bernd Buschinski 2011-11-06 13:11:27 UTC
btw: I just installed amarok-2.4.3 again, with Qt-4.8rc1, and it works fine.
Comment 6 Matěj Laitl 2011-11-06 13:14:08 UTC
(In reply to comment #5)
> btw: I just installed amarok-2.4.3 again, with Qt-4.8rc1, and it works fine.

And what debug flags you have on Qt and Amarok? (assuming you use Gentoo)
Comment 7 Bernd Buschinski 2011-11-06 13:18:25 UTC
CFLAGS contain -g

FEATURES have splitdebug, but that doesn't matter

debug useflag is not set, but it doesn't matter as the cflag enables it anyway


Same flags for Qt/Amarok/the world, so all that matter is that amarok & Qt was compiled with debugsymbols
Comment 8 Matěj Laitl 2011-11-06 13:24:21 UTC
(In reply to comment #7)
> CFLAGS contain -g
> 
> FEATURES have splitdebug, but that doesn't matter
> 
> debug useflag is not set, but it doesn't matter as the cflag enables it anyway
> 
> Same flags for Qt/Amarok/the world, so all that matter is that amarok & Qt was
> compiled with debugsymbols

Bernd, this is a common misconception about debug UFE-flag in Gentoo and debugging symbols (in short: they are _unrelated_). See https://bugs.kde.org/show_bug.cgi?id=279798#c14 and please read 
http://www.gentoo.org/proj/en/qa/backtraces.xml section "debug USE flag" carefully.
Comment 9 Bernd Buschinski 2011-11-06 13:32:10 UTC
Ah yes, sorry.

Qt was compiled with debug useflag, because I want to see asserts in all my programms. But only Qt has the debug useflag, not amarok.

But now please don't tell me to disable this useflag, I know what I am doing :)
Comment 10 Matěj Laitl 2011-11-06 13:58:51 UTC
(In reply to comment #9)
> Ah yes, sorry.
> 
> Qt was compiled with debug useflag, because I want to see asserts in all my
> programms. But only Qt has the debug useflag, not amarok.

This means that you've worked around this bug, because it seems that it only happens when _Amarok_ is build with debug flag, as per comment 285720#c3

If you want to help us, you may perhaps want to build Amarok _with_ debug flag against Qt-4.8rc1 and report back whether it still asserts.

> But now please don't tell me to disable this useflag, I know what I am doing :)

Don't fear, we're well aware that we must support both debug & release Qt builds. :)
Comment 11 Mikko C. 2011-11-06 14:00:46 UTC
IF I find some time tonight or next week, I'll try bisecting to find which commit caused this.
It shouldn't take too long since it didn't happen 1-2 weeks ago...
Comment 12 Bernd Buschinski 2011-11-06 14:12:40 UTC
Created attachment 65294 [details]
backtrace with debug useflag enabled

I did enable debug useflag and re-emerged amarok-9999 but the backtrace looks the same
Comment 13 Matěj Laitl 2011-11-06 14:12:53 UTC
(In reply to comment #11)
> IF I find some time tonight or next week, I'll try bisecting to find which
> commit caused this.
> It shouldn't take too long since it didn't happen 1-2 weeks ago...

Thanks, that would be a huge help, Mikko. I guess it may be even automatised (see git bisect run), something like:

file bisect-helper.sh:
#!/bin/bash
# ensure amarok is not running:
pgrep amarok && echo "Amarok was running!" && exit 128
# build amarok and abort bisecting if it failed
<build amarok somehow> || echo "build failed" && exit 128
amarok &
sleep 60
if pgrep amarok; then
  # good, did not crash in a minute
  killall amarok
  exit 0
else
  # amarok did not survive a minute, probably crashed
  exit 1
fi
Comment 14 Mikko C. 2011-11-06 15:01:32 UTC
Not sure if I did this right, but here's the result..
The date is completely wrong, dunno why..


83e490ba358b5bad968e41fe94fc92ade253812b is the first bad commit
commit 83e490ba358b5bad968e41fe94fc92ade253812b
Author: Bart Cerneels <bart.cerneels@kde.org>
Date:   Fri Jul 22 16:36:39 2011 +0200

    Save new playlist by dropping in browser.
    
    GUI:Drop tracks on the empty area in Saved Playlists to create a new playlist.

:100644 100644 50c375b5420d57c7e892a3ce035de1dff7dbe395 0b87f8ed6ca2514386b73ef3d61185b23f981041 M      ChangeLog
:040000 040000 37657bdec7a841e549ca53b82fb9eeadbad676e0 0ce23c98437e9a066440dc254ce65cdf5732b785 M      src
Comment 15 Mikko C. 2011-11-06 15:09:36 UTC
nevermind actually, that's not it, i messed something up.
I'll try again from scrath, sorry for the noise.
Comment 16 Mikko C. 2011-11-06 15:20:55 UTC
@Matej I'm stuck...


$ git bisect good
Bisecting: 0 revisions left to test after this (roughly 1 step)
[0638d9dfce905ef66cc28074810e3ed5c37479f0] Add rootnode action to create empty playlist.

but this commit does not compile...


[ 16%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/playlistbrowser/UserPlaylistCategory.o                                                                                      
[ 16%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/playlistbrowser/PlaylistsInFoldersProxy.o                                                                                   
[ 16%] Building CXX object src/CMakeFiles/amaroklib.dir/browsers/playlistbrowser/PlaylistTreeItemDelegate.o                                                                                  
/home/mikko/amarok/src/browsers/playlistbrowser/PlaylistBrowserModel.cpp: In member function ‘void PlaylistBrowserNS::PlaylistBrowserModel::slotCreateEmptyPlaylist()’:                      
/home/mikko/amarok/src/browsers/playlistbrowser/PlaylistBrowserModel.cpp:687:35: error: ‘generatePlaylistName’ is not a member of ‘Amarok’
make[2]: *** [src/CMakeFiles/amaroklib.dir/browsers/playlistbrowser/PlaylistBrowserModel.o] Errore 1
make[2]: *** Attesa dei processi non terminati....
make[1]: *** [src/CMakeFiles/amaroklib.dir/all] Errore 2
make: *** [all] Errore 2
Comment 17 Matěj Laitl 2011-11-06 15:25:22 UTC
(In reply to comment #16)
> @Matej I'm stuck...

`git bisect skip` to the rescue!
Comment 18 Mikko C. 2011-11-06 15:35:26 UTC
Ok thanks, I got the real bad commit this time :)
Re-adding bart to CC (sorry!)

$ git bisect bad
e46a8ad0c52a50294de78c26fd8d3193e2467022 is the first bad commit
commit e46a8ad0c52a50294de78c26fd8d3193e2467022
Author: Bart Cerneels <bart.cerneels@kde.org>
Date:   Mon Oct 24 14:26:59 2011 +0200

    Force call of slot that did not work regularly.
    
    Polymorhpism fail.

:040000 040000 51123df10ba1d0aa2c833046cd793ddc0138f63f 2e82c6dfeba94c2a6c189a61183b0833daaf5acf M      src


This is the BT resulting from the above commit:


Thread 1 (Thread 0x7f9bf160a780 (LWP 6993)):
[KCrash Handler]
#6  0x00007f9bedc0b915 in raise () from /lib64/libc.so.6
#7  0x00007f9bedc0ccba in abort () from /lib64/libc.so.6
#8  0x00007f9bee4e02e4 in qt_message_output (msgType=<value optimized out>, buf=<value optimized out>) at global/qglobal.cpp:2291
#9  0x00007f9bee4e0459 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f9bee647e88 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fff5533b1c0) at global/qglobal.cpp:2337
#10 0x00007f9bee4e0615 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2520
#11 0x00007f9bef5eac99 in at (this=<value optimized out>, source_parent=...) at ../../include/QtCore/../../src/corelib/tools/qvector.h:339
#12 QSortFilterProxyModelPrivate::can_create_mapping (this=<value optimized out>, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:406
#13 0x00007f9bef5ee291 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x2b61ad0, source_parent=..., start=<value optimized out>, end=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1271
#14 0x00007f9bef5f23bc in QSortFilterProxyModel::qt_metacall (this=0x2b61ab0, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fff5533b450) at .moc/debug-shared/moc_qsortfilterproxymodel.cpp:136
#15 0x00007f9bf006e159 in PlaylistBrowserFilterProxy::qt_metacall (this=0x2b61ab0, _c=QMetaObject::InvokeMetaMethod, _id=36, _a=0x7fff5533b450) at /home/mikko/amarok/build/src/moc_PlaylistBrowserFilterProxy.cpp:72
#16 0x00007f9bee5f8cdf in QMetaObject::activate (sender=0x2b5f8a0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff5533b450) at kernel/qobject.cpp:3278
#17 0x00007f9bee6440c4 in QAbstractItemModel::rowsAboutToBeInserted (this=<value optimized out>, _t1=<value optimized out>, _t2=0, _t3=0) at .moc/debug-shared/moc_qabstractitemmodel.cpp:174
#18 0x00007f9bee5d8809 in QAbstractItemModel::beginInsertRows (this=0x2b5f8a0, parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2395
#19 0x00007f9bf0387fa5 in QtGroupingProxy::addSourceRow (this=0x2b5f8a0, idx=...) at /home/mikko/amarok/src/browsers/playlistbrowser/QtGroupingProxy.cpp:239
#20 0x00007f9bf0387874 in QtGroupingProxy::buildTree (this=0x2b5f8a0) at /home/mikko/amarok/src/browsers/playlistbrowser/QtGroupingProxy.cpp:156
#21 0x00007f9bf03a06e0 in PlaylistsByProviderProxy::buildTree (this=0x2b5f8a0) at /home/mikko/amarok/src/browsers/playlistbrowser/PlaylistsByProviderProxy.cpp:283
#22 0x00007f9bf0071298 in QtGroupingProxy::qt_metacall (this=0x2b5f8a0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x2b60bd0) at /home/mikko/amarok/build/src/moc_QtGroupingProxy.cpp:82
#23 0x00007f9bf006f947 in PlaylistsByProviderProxy::qt_metacall (this=0x2b5f8a0, _c=QMetaObject::InvokeMetaMethod, _id=25, _a=0x2b60bd0) at /home/mikko/amarok/build/src/moc_PlaylistsByProviderProxy.cpp:73
#24 0x00007f9bee5f8742 in QObject::event (this=0x2b5f8a0, e=<value optimized out>) at kernel/qobject.cpp:1217
#25 0x00007f9bef004d40 in QApplicationPrivate::notify_helper (this=0x202bc40, receiver=0x2b5f8a0, e=0x2b5e5c0) at kernel/qapplication.cpp:4481
#26 0x00007f9bef009fe1 in QApplication::notify (this=<value optimized out>, receiver=0x2b5f8a0, e=0x2b5e5c0) at kernel/qapplication.cpp:4360
#27 0x00007f9bf0f71811 in KApplication::notify (this=0x7fff5533c2f0, receiver=0x2b5f8a0, event=0x2b5e5c0) at /var/tmp/paludis/kde-base-kdelibs-4.7.3/work/kdelibs-4.7.3/kdeui/kernel/kapplication.cpp:311
#28 0x00007f9bee5e212b in QCoreApplication::notifyInternal (this=0x7fff5533c2f0, receiver=0x2b5f8a0, event=0x2b5e5c0) at kernel/qcoreapplication.cpp:787
#29 0x00007f9bee5e60a1 in sendEvent (receiver=0x0, event_type=0, data=0x1ea89f0) at kernel/qcoreapplication.h:215
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1ea89f0) at kernel/qcoreapplication.cpp:1428
#31 0x00007f9bee6101f3 in sendPostedEvents (s=0x2005960) at kernel/qcoreapplication.h:220
#32 postEventSourceDispatch (s=0x2005960) at kernel/qeventdispatcher_glib.cpp:277
#33 0x00007f9be745ff3a in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#34 0x00007f9be7460718 in g_main_context_iterate.clone.6 () from /usr/lib64/libglib-2.0.so.0
#35 0x00007f9be746097f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#36 0x00007f9bee61035a in QEventDispatcherGlib::processEvents (this=0x1ea81d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#37 0x00007f9bef0b6486 in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#38 0x00007f9bee5e0b92 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#39 0x00007f9bee5e0e14 in QEventLoop::exec (this=0x7fff5533c260, flags=...) at kernel/qeventloop.cpp:201
#40 0x00007f9bee5e637b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#41 0x000000000040d1f7 in main (argc=2, argv=0x7fff5533e9b8) at /home/mikko/amarok/src/main.cpp:296
Comment 19 Matěj Laitl 2011-11-06 15:47:34 UTC
(In reply to comment #18)
> Ok thanks, I got the real bad commit this time :)
> Re-adding bart to CC (sorry!)
> 
> $ git bisect bad
> e46a8ad0c52a50294de78c26fd8d3193e2467022 is the first bad commit
> commit e46a8ad0c52a50294de78c26fd8d3193e2467022
> Author: Bart Cerneels <bart.cerneels@kde.org>
> Date:   Mon Oct 24 14:26:59 2011 +0200
> 
>     Force call of slot that did not work regularly.
> 
>     Polymorhpism fail.

Thanks! Lets see what Bart says, as I dont understand the commit message, the purpose of the change and why it can make an assertion fail.
Comment 20 Mikko C. 2011-11-06 15:50:16 UTC
@ Bernd:

if you still want to compile from master, just undo this little change:
https://projects.kde.org/projects/extragear/multimedia/amarok/repository/diff/src/browsers/playlistbrowser/QtGroupingProxy.cpp?rev=e46a8ad0c52a50294de78c26fd8d3193e2467022&type=sbs

and readd buildTree(); instead of the QTimer stuff.
I've done it and it works fine on master.
Comment 21 Bart Cerneels 2011-11-06 20:26:28 UTC
The QTimer thing is to make sure the re-implementation of buildTree() is executed instead of the one from the base class.
Comment 22 Bart Cerneels 2011-11-06 22:14:22 UTC
Git commit 6c17f656f7aafbc4f323e55d671391c8699df108 by Bart Cerneels.
Committed on 06/11/2011 at 22:31.
Pushed by shanachie into branch 'master'.

Properly signal added rows.

Gets rid of an assert when using a Qt debug build.

BUG:285720

M  +20   -15   src/browsers/playlistbrowser/PlaylistsByProviderProxy.cpp

http://commits.kde.org/amarok/6c17f656f7aafbc4f323e55d671391c8699df108
Comment 23 Myriam Schweingruber 2011-12-20 10:50:20 UTC
*** Bug 285541 has been marked as a duplicate of this bug. ***
Comment 24 Myriam Schweingruber 2011-12-20 10:50:57 UTC
Reopening as this is still present in Amarok 2.5 after upgrade.
Comment 25 Bart Cerneels 2011-12-20 10:55:35 UTC
Could it be the behavior of QTimer::singleShot() changed?
Comment 26 Myriam Schweingruber 2011-12-22 01:53:41 UTC
*** Bug 289504 has been marked as a duplicate of this bug. ***
Comment 27 Xavier Claude 2011-12-22 17:31:01 UTC
Created attachment 67027 [details]
New crash information added by DrKonqi

amarok (2.5.0) on KDE Platform 4.7.4 (4.7.4) using Qt 4.7.2

- What I was doing when the application crashed: I just started it up

- Custom settings of the application: amarok is compilled with the USE lastfm and mtp

-- Backtrace (Reduced):
#13 0x00007fbe11dd827c in QSortFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
[...]
#16 0x00007fbe10e355a4 in QAbstractItemModel::rowsAboutToBeInserted(QModelIndex const&, int, int) () from /usr/lib64/qt4/libQtCore.so.4
#17 0x00007fbe10dc3af3 in QAbstractItemModel::beginInsertRows(QModelIndex const&, int, int) () from /usr/lib64/qt4/libQtCore.so.4
[...]
#23 0x00007fbe10e35554 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int) () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007fbe10dc5ec2 in QAbstractItemModel::endInsertRows() () from /usr/lib64/qt4/libQtCore.so.4
Comment 28 Myriam Schweingruber 2011-12-23 09:51:18 UTC
Xavier: your backtrace doesn't have debugging symbols, please install those or compile Amarok with the debug flag on.
Comment 29 Matěj Laitl 2011-12-23 12:15:59 UTC
(In reply to comment #28)
> Xavier: your backtrace doesn't have debugging symbols, please install those or
> compile Amarok with the debug flag on.

Myriam, Xavier seems to be using Gentoo, debug flag has a different meaning there [1]. The always-correct (TM) formulation could be "compile Amarok with debugging symbols on".

Xavier, please compile amarok with "-ggdb" somewhere in your CXXFLAGS and "splitdebug" in your FEATURES, for more info please read [1], which is an excellent debugging guide. You are _discouraged_ to enable the debug USE-flag for any software you don't develop yourself. In fact, I'm 99% sure you can work-around this bug by compiling kdelibs without debug flag.

[1] http://www.gentoo.org/proj/en/qa/backtraces.xml
Comment 30 Oldřich Jedlička 2011-12-24 19:35:19 UTC
Created attachment 67087 [details]
New crash information added by DrKonqi

amarok (2.5.0) on KDE Platform 4.7.95 (4.8 RC1 (4.7.95) using Qt 4.7.4

- What I was doing when the application crashed:

Started the application normally, always crashes

-- Backtrace (Reduced):
#13 0xb5608f1f in qt_assert_x (where=0xb63bbe3f "QVector<T>::at", what=0xb63b9cb4 "index out of range", file=0xb63bbe78 "../../include/QtCore/../../src/corelib/tools/qvector.h", line=339) at global/qglobal.cpp:2044
#14 0xb62b1a1d in at (this=0x98421d0, source_parent=...) at ../../include/QtCore/../../src/corelib/tools/qvector.h:339
#15 QSortFilterProxyModelPrivate::can_create_mapping (this=0x98421d0, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:406
#16 0xb62b50c9 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x98421d0, source_parent=..., start=0, end=0) at itemviews/qsortfilterproxymodel.cpp:1271
#17 0xb62b9643 in QSortFilterProxyModel::qt_metacall (this=0x98421c0, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0xbfd92b30) at .moc/debug-shared/moc_qsortfilterproxymodel.cpp:136
Comment 31 Oldřich Jedlička 2011-12-24 19:50:41 UTC
Matěj, I hope my backtrace brings more light into the problem as I have the whole system compiled with debugging information.
Comment 32 Alexey Rusetsky 2011-12-25 04:29:38 UTC
Created attachment 67092 [details]
New crash information added by DrKonqi

amarok (2.5.0) on KDE Platform 4.7.95 (4.8 RC1 (4.7.95) using Qt 4.7.4

- What I was doing when the application crashed: Crashes upon start just as splash screen disappears.

- Custom settings of the application:
CFLAGS="-march=core2 -mtune=generic -O2 -pipe -ggdb"
FEATURES="splitdebug"
Installed versions (use):
media-sound/amarok-2.5.0(cdda debug embedded linguas_ru opengl player semantic-desktop utils) from kde overlay.
x11-libs/qt-core-4.7.4-r1(debug exceptions glib iconv jit qt3support ssl) from kde overlay.

-- Backtrace (Reduced):
#11 0x00007f51fd7ab0e4 in at (i=0, this=0x17d0db0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:339
#12 QSortFilterProxyModelPrivate::can_create_mapping (this=<optimized out>, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:406
#13 0x00007f51fd7ae7b9 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x17c71d0, source_parent=..., start=<optimized out>, end=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1271
#14 0x00007f51fd7b291c in QSortFilterProxyModel::qt_metacall (this=0x13b9bd0, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fff56750c80) at .moc/debug-shared/moc_qsortfilterproxymodel.cpp:136
#15 0x00007f51fe1f0180 in PlaylistBrowserFilterProxy::qt_metacall (this=0x13b9bd0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff56750c80) at /var/cache/portage/tmp/portage/media-sound/amarok-2.5.0/work/amarok-2.5.0_build/src/moc_PlaylistBrowserFilterProxy.cpp:72
Comment 33 Myriam Schweingruber 2012-01-21 14:26:04 UTC
*** Bug 292073 has been marked as a duplicate of this bug. ***
Comment 34 boris64 2012-02-01 22:34:52 UTC
Created attachment 68415 [details]
New crash information added by DrKonqi

amarok (2.5.0) on KDE Platform 4.8.00 (4.8.0 using Qt 4.8.0

- What I was doing when the application crashed:
Simply starting amarok leads to a crash

[console output]
ASSERT failure in QVector<T>::at: "index out of range", file ../../include/QtCore/../../src/corelib/tools/qvector.h, line 351                                                                                                               
KCrash: crashing... crashRecursionCounter = 2                                                                                                                                                                                               
KCrash: Application Name = amarok path = /usr/bin pid = 10319                                                                                                                                                                               
KCrash: Arguments: /usr/bin/amarok --nocrashhandler 
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/boris64/.kde4/socket-boris64/kdeinit4__0
QSocketNotifier: Invalid socket 14 and type 'Read', disabling...
[/console output]

-- Backtrace (Reduced):
#11 0x00007f69e1ae2a94 in at (i=1, this=0x29c3840) at ../../include/QtCore/../../src/corelib/tools/qvector.h:351
#12 QSortFilterProxyModelPrivate::can_create_mapping (this=<optimized out>, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:408
#13 0x00007f69e1ae6169 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x29b6460, source_parent=..., start=<optimized out>, end=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1273
[...]
#15 0x00007f69e0b24334 in QAbstractItemModel::rowsAboutToBeInserted (this=<optimized out>, _t1=<optimized out>, _t2=0, _t3=0) at .moc/debug-shared/moc_qabstractitemmodel.cpp:190
#16 0x00007f69e0ab5caa in QAbstractItemModel::beginInsertRows (this=0x29af700, parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2416
Comment 35 Jacopo De Simoi 2012-02-21 20:48:28 UTC
Workaround:

The issue was solved for me by deleting the entry 
[Loaded Playlist Files]
in amarokrc

Please confirm if it is the case for you guys as well
thx
__J
Comment 36 Bart Cerneels 2012-02-22 09:23:51 UTC
(In reply to comment #35)
> Workaround:
> 
> The issue was solved for me by deleting the entry 
> [Loaded Playlist Files]
> in amarokrc

Only that line or also the entries that follow (urls of playlist files)?
Comment 37 Jacopo De Simoi 2012-02-22 09:48:15 UTC
> Only that line or also the entries that follow (urls of playlist files)?

Sorry if I was not clear enough: what I meant is the whole entry, that is the line [Loaded Playlist Files] and the following lines, until the next line marked as [something]
__J
Comment 38 Alexander Stein 2012-02-28 17:43:55 UTC
(In reply to comment #35)
> Workaround:
> 
> The issue was solved for me by deleting the entry 
> [Loaded Playlist Files]
> in amarokrc

I can't confirm this. There is no section Loaded Playlist Files left and it still crashes.
Comment 39 Andreas Hartmetz 2012-03-03 15:45:12 UTC
I can confirm the problem.
As a hotfix for me I've patched out the loading of playlists because I don't use them. The main playlist still works.
Comment 40 Emil Sedgh 2012-03-29 19:28:28 UTC
Created attachment 69999 [details]
New crash information added by DrKonqi

amarok (2.5-GIT) on KDE Platform 4.8.1 (4.8.1) using Qt 4.8.1

This started happenning since I updated to Qt 4.8.1

-- Backtrace (Reduced):
#11 0x00007f50222f0c47 in qt_assert_x (where=0x7f502376f9b9 "QVector<T>::at", what=0x7f502376f98f "index out of range", file=0x7f502376f958 "../../include/QtCore/../../src/corelib/tools/qvector.h", line=351) at global/qglobal.cpp:2007
#12 0x00007f5022f5e47b in QVector<int>::at (this=0x15d6cb0, i=0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:351
#13 0x00007f502363f6be in QSortFilterProxyModelPrivate::can_create_mapping (this=0x15c96a0, source_parent=...) at itemviews/qsortfilterproxymodel.cpp:408
#14 0x00007f50236431a3 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x15c96a0, source_parent=..., start=0, end=0) at itemviews/qsortfilterproxymodel.cpp:1273
#15 0x00007f50236474b1 in QSortFilterProxyModel::qt_static_metacall (_o=0x15c9680, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fff9402cd00) at .moc/debug-shared/moc_qsortfilterproxymodel.cpp:113
Comment 41 Bernd Buschinski 2012-03-30 12:59:03 UTC
It also happen with Qt 4.8.1 here, but Qt is not at fault, its a bug in Amarok. Its related to Qt & amarok beeing build with asserts enabled. Which is normally a good thing to detect bugs early. (if you want to detect them and help the software getting better)

In short a workaround is to build Qt and amarok with asserts disabled.
The real bug is in amarok and needs to fixed.
Comment 42 Matěj Laitl 2012-05-05 09:10:48 UTC
Git commit d1a1c80370e4132c26fa636308822fdb3aa1b2e6 by Matěj Laitl.
Committed on 05/05/2012 at 10:59.
Pushed by laitl into branch 'master'.

QtGroupingProxy: don't re-enter beginInsertRows() (crashfix)

This should fix a nasty crash that was only reproducible when Qt was
build with debugging assertions enabled. (and perhaps only if you have
empty playlist providers) The fix is based on an assumption that
addSourceRow() in QtGroupingProxy is only called from:

a) buildTree(), which encompasses it in {begin/end}ResetModel()
b) modelRowsInserted(), but that should be always preceeded by
   modelRowsAboutToBeInserted() that calls beginInsertRows()

Bart, this is largely your code, is this correct?

BUGFIXES:
 * Fix crash on start when Qt is build with debugging assertions
FIXED-IN: 2.6
DIGEST: fix rather nasty crash

M  +1    -0    ChangeLog
M  +1    -9    src/browsers/playlistbrowser/QtGroupingProxy.cpp
M  +1    -1    src/browsers/playlistbrowser/QtGroupingProxy.h

http://commits.kde.org/amarok/d1a1c80370e4132c26fa636308822fdb3aa1b2e6