Bug 343724

Summary: Recent build from git crashes on startup
Product: [Applications] amarok Reporter: robert marshall <robert>
Component: Collections/LocalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED WORKSFORME    
Severity: crash CC: matej, ralf-engels
Priority: NOR    
Version: 2.8-git   
Target Milestone: 2.9   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description robert marshall 2015-02-03 08:38:15 UTC
I've refreshed my git copy of amarok and on a restart of amarok it crashed on startup - tried to get the developer information and just got a single line abort message(it was built with -g!)
        Application: Amarok (amarok), signal: Aborted

Tried another restart and I get lots of messages like

amarok:     [ERROR__] [MySqlStorage] "MySQLe query failed! (126) Incorrect key file for table '/home/robert/.kde/share/apps/amarok/mysqle/amarok/artists.MYI'; try to repair it on SELECT urls.id, urls.deviceid, urls.rpath, urls.directory, urls.uniqueid, tracks.id, tracks.title, tracks.comment, tracks.tracknumber, tracks.discnumber, statistics.score, statistics.rating, tracks.bitrate, tracks.length, tracks.filesize, tracks.samplerate, statistics.id, statistics.createdate, statistics.accessdate, statistics.playcount, tracks.filetype, tracks.bpm, tracks.createdate, tracks.modifydate, tracks.albumgain, tracks.albumpeakgain, tracks.trackgain, tracks.trackpeakgain, artists.name, artists.id, albums.name, albums.id, albums.artist, genres.name, genres.id, composers.name, composers.id, years.name, years.id FROM  tracks INNER JOIN urls ON tracks.url = urls.id LEFT JOIN artists ON tracks.artist = artists.id LEFT JOIN albums ON tracks.album = albums.id LEFT JOIN artists AS albumartists ON albums.artist = albumartists.id LEFT JOIN genres ON tracks.genre = genres.id LEFT JOIN composers ON tracks.composer = composers.id LEFT JOIN years ON tracks.year = years.id LEFT JOIN statistics ON urls.id = statistics.url WHERE 1  AND urls.deviceid in (1,2,3,4,11,12,-1) AND albums.name = 'Deutsche Welle: Kent Nagano dirigiert Monumente der Klassik' AND albumartists.name = 'Richard Strauss' ORDER BY tracks.discnumber ASC ,tracks.tracknumber ASC ,tracks.title ASC ;" 
 And a sensible traceback 

Application: Amarok (amarok), signal: Aborted
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xae1867c0 (LWP 3922))]

Thread 12 (Thread 0xa6f3ab40 (LWP 3925)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb54c5dfb in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb3b2ac33 in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0
#3  0xb3b1bb02 in pa_mainloop_poll () from /usr/lib/i386-linux-gnu/libpulse.so.0
#4  0xb3b1c1ef in pa_mainloop_iterate () from /usr/lib/i386-linux-gnu/libpulse.so.0
#5  0xb3b1c2ac in pa_mainloop_run () from /usr/lib/i386-linux-gnu/libpulse.so.0
#6  0xb3b2abd5 in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0
#7  0xb107818c in ?? () from /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so
#8  0xb51a8f16 in start_thread (arg=0xa6f3ab40) at pthread_create.c:309
#9  0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 11 (Thread 0xa5287b40 (LWP 3927)):
#0  0xb5830615 in timerSourcePrepareHelper (src=0xa4902488, timeout=0xa5287048) at kernel/qeventdispatcher_glib.cpp:141
#1  0xb5830705 in timerSourcePrepare (source=0xa4902488, timeout=0xa5287048) at kernel/qeventdispatcher_glib.cpp:176
#2  0xb3edc35b in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb3edcdc4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb3edcff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb5830f5c in QEventDispatcherGlib::processEvents (this=0xa4900488, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0xb57ff6c3 in QEventLoop::processEvents (this=0xa52871d8, flags=...) at kernel/qeventloop.cpp:149
#7  0xb57ff9fe in QEventLoop::exec (this=0xa52871d8, flags=...) at kernel/qeventloop.cpp:204
#8  0xb56eda00 in QThread::exec (this=0x8ac4658) at thread/qthread.cpp:538
#9  0xb57e031b in QInotifyFileSystemWatcherEngine::run (this=0x8ac4658) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb56f04c3 in QThreadPrivate::start (arg=0x8ac4658) at thread/qthread_unix.cpp:349
#11 0xb51a8f16 in start_thread (arg=0xa5287b40) at pthread_create.c:309
#12 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 10 (Thread 0xa38feb40 (LWP 3928)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb51ad076 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:245
#2  0xb54dda34 in __pthread_cond_timedwait (cond=0x8b5e7f0, mutex=0x8b5e7d8, abstime=0xa38fe0a8) at forward.c:162
#3  0xb56f0a08 in wait (time=145271596, this=0x8b5e7d8) at thread/qwaitcondition_unix.cpp:84
#4  QWaitCondition::wait (this=0x8a8ab30, mutex=0x8a8ab2c, time=60000) at thread/qwaitcondition_unix.cpp:158
#5  0xb6892357 in AbstractDirectoryWatcher::run (this=0x8a8ab18) at /home/robert/devel/amarok/src/scanner/AbstractDirectoryWatcher.cpp:65
#6  0xb4aa9c86 in ThreadWeaver::JobRunHelper::runTheJob (this=0xa38fe1f4, th=0x8714780, job=0x8a8ab18) at ../../../threadweaver/Weaver/Job.cpp:106
#7  0xb4aa9e98 in ThreadWeaver::Job::execute (this=0x8a8ab18, th=0x8714780) at ../../../threadweaver/Weaver/Job.cpp:135
#8  0xb4aa9574 in ThreadWeaver::Thread::run (this=0x8714780) at ../../../threadweaver/Weaver/Thread.cpp:108
#9  0xb56f04c3 in QThreadPrivate::start (arg=0x8714780) at thread/qthread_unix.cpp:349
#10 0xb51a8f16 in start_thread (arg=0xa38feb40) at pthread_create.c:309
#11 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 9 (Thread 0xa2e49b40 (LWP 3929)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb51accac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb54dd9dc in __pthread_cond_wait (cond=0x8b3a8c0, mutex=0x8b3a8a8) at forward.c:149
#3  0xb56f0a2b in wait (time=145823624, this=0x8b3a8a8) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x8b51f68, mutex=0x8b11788, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb4aa7920 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8b51f50, th=0x8c3e7a0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:370
#6  0xb4aaac34 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8b78ee0, th=0x8c3e7a0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:77
#7  0xb4aa7864 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8b51f50, th=0x8c3e7a0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:361
#8  0xb4aaad2a in ThreadWeaver::WorkingHardState::applyForWork (this=0x8b78ee0, th=0x8c3e7a0, previous=0x91cc9c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:68
#9  0xb4aa66c8 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8b51f50, th=0x8c3e7a0, previous=0x91cc9c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#10 0xb4aa94dd in ThreadWeaver::Thread::run (this=0x8c3e7a0) at ../../../threadweaver/Weaver/Thread.cpp:98
#11 0xb56f04c3 in QThreadPrivate::start (arg=0x8c3e7a0) at thread/qthread_unix.cpp:349
#12 0xb51a8f16 in start_thread (arg=0xa2e49b40) at pthread_create.c:309
#13 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 8 (Thread 0x9e482b40 (LWP 3930)):
[KCrash Handler]
#7  0xb76e1c7c in __kernel_vsyscall ()
#8  0xb5413607 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#9  0xb5414d83 in __GI_abort () at abort.c:89
#10 0xb56e54e1 in qt_message_output (msgType=QtFatalMsg, buf=0xa4987220 "ASSERT: \"!isEmpty()\" in file /usr/include/qt4/QtCore/qlist.h, line 284") at global/qglobal.cpp:2386
#11 0xb56e5885 in qt_message (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0xb5868bac "ASSERT: \"%s\" in file %s, line %d", ap=0x9e481de4 "\201\a\245\266\370\006\245\266\034\001") at global/qglobal.cpp:2432
#12 0xb56e5da9 in qFatal (msg=0xb5868bac "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2615
#13 0xb56e5e07 in qt_assert (assertion=0xb6a50781 "!isEmpty()", file=0xb6a506f8 "/usr/include/qt4/QtCore/qlist.h", line=284) at global/qglobal.cpp:2060
#14 0xb6815829 in QList<KSharedPtr<Meta::Track> >::last (this=0x9e481e68) at /usr/include/qt4/QtCore/qlist.h:284
#15 0xb6814b96 in Dynamic::AlbumPlayBias::matchingTracks (this=0x8c309e8, playlist=..., contextCount=44, finalCount=48, universe=...) at /home/robert/devel/amarok/src/dynamic/biases/AlbumPlayBias.cpp:161
#16 0xb6819dff in Dynamic::IfElseBias::matchingTracks (this=0x8d81948, playlist=..., contextCount=44, finalCount=48, universe=...) at /home/robert/devel/amarok/src/dynamic/biases/IfElseBias.cpp:100
#17 0xb68134e9 in Dynamic::AndBias::matchingTracks (this=0x8a88f90, playlist=..., contextCount=44, finalCount=48, universe=...) at /home/robert/devel/amarok/src/dynamic/Bias.cpp:268
#18 0xb680aa9f in Dynamic::BiasSolver::matchingTracks (this=0x95439b8, playlist=...) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:258
#19 0xb680b332 in Dynamic::BiasSolver::addTracks (this=0x95439b8, list=0x9e482118) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:178
#20 0xb680b64a in Dynamic::BiasSolver::run (this=0x95439b8) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:158
#21 0xb4aa9c86 in ThreadWeaver::JobRunHelper::runTheJob (this=0x9e4821f4, th=0x8c30aa8, job=0x95439b8) at ../../../threadweaver/Weaver/Job.cpp:106
#22 0xb4aa9e98 in ThreadWeaver::Job::execute (this=0x95439b8, th=0x8c30aa8) at ../../../threadweaver/Weaver/Job.cpp:135
#23 0xb4aa9574 in ThreadWeaver::Thread::run (this=0x8c30aa8) at ../../../threadweaver/Weaver/Thread.cpp:108
#24 0xb56f04c3 in QThreadPrivate::start (arg=0x8c30aa8) at thread/qthread_unix.cpp:349
#25 0xb51a8f16 in start_thread (arg=0x9e482b40) at pthread_create.c:309
#26 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 7 (Thread 0x9dc81b40 (LWP 3931)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb51accac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb54dd9dc in __pthread_cond_wait (cond=0x8b3a8c0, mutex=0x8b3a8a8) at forward.c:149
#3  0xb56f0a2b in wait (time=145823624, this=0x8b3a8a8) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x8b51f68, mutex=0x8b11788, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb4aa7920 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8b51f50, th=0x8c35ab8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:370
#6  0xb4aaac34 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8b78ee0, th=0x8c35ab8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:77
#7  0xb4aa7864 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8b51f50, th=0x8c35ab8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:361
#8  0xb4aaad2a in ThreadWeaver::WorkingHardState::applyForWork (this=0x8b78ee0, th=0x8c35ab8, previous=0x8be0808) at ../../../threadweaver/Weaver/WorkingHardState.cpp:68
#9  0xb4aa66c8 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8b51f50, th=0x8c35ab8, previous=0x8be0808) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#10 0xb4aa94dd in ThreadWeaver::Thread::run (this=0x8c35ab8) at ../../../threadweaver/Weaver/Thread.cpp:98
#11 0xb56f04c3 in QThreadPrivate::start (arg=0x8c35ab8) at thread/qthread_unix.cpp:349
#12 0xb51a8f16 in start_thread (arg=0x9dc81b40) at pthread_create.c:309
#13 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 6 (Thread 0x92312b40 (LWP 3932)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb54c5dfb in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb3eebe80 in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb3edceb4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb3edcff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb5830f5c in QEventDispatcherGlib::processEvents (this=0xa6603428, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0xb57ff6c3 in QEventLoop::processEvents (this=0x923121d8, flags=...) at kernel/qeventloop.cpp:149
#7  0xb57ff9fe in QEventLoop::exec (this=0x923121d8, flags=...) at kernel/qeventloop.cpp:204
#8  0xb56eda00 in QThread::exec (this=0x90ab3b0) at thread/qthread.cpp:538
#9  0xb57e031b in QInotifyFileSystemWatcherEngine::run (this=0x90ab3b0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb56f04c3 in QThreadPrivate::start (arg=0x90ab3b0) at thread/qthread_unix.cpp:349
#11 0xb51a8f16 in start_thread (arg=0x92312b40) at pthread_create.c:309
#12 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 5 (Thread 0x91b11b40 (LWP 3934)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb51accac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb54dd9dc in __pthread_cond_wait (cond=0xb3aeacb0, mutex=0xb3aeac98) at forward.c:149
#3  0xb32729ac in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#4  0xb32729ff in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#5  0xb51a8f16 in start_thread (arg=0x91b11b40) at pthread_create.c:309
#6  0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 4 (Thread 0x9116bb40 (LWP 3935)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb54c8d31 in select () at ../sysdeps/unix/syscall-template.S:81
#2  0xb57dc761 in QProcessManager::run (this=0xb5981e4c <processManager()::processManager>) at io/qprocess_unix.cpp:270
#3  0xb56f04c3 in QThreadPrivate::start (arg=0xb5981e4c <processManager()::processManager>) at thread/qthread_unix.cpp:349
#4  0xb51a8f16 in start_thread (arg=0x9116bb40) at pthread_create.c:309
#5  0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 3 (Thread 0x90705b40 (LWP 3940)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb54c5dfb in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb3eebe80 in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb3edceb4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb3edcff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb5830f5c in QEventDispatcherGlib::processEvents (this=0xa2f13c78, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0xb57ff6c3 in QEventLoop::processEvents (this=0x90705208, flags=...) at kernel/qeventloop.cpp:149
#7  0xb57ff9fe in QEventLoop::exec (this=0x90705208, flags=...) at kernel/qeventloop.cpp:204
#8  0xb56eda00 in QThread::exec (this=0x90d31b0) at thread/qthread.cpp:538
#9  0xb56edbd8 in QThread::run (this=0x90d31b0) at thread/qthread.cpp:605
#10 0xb56f04c3 in QThreadPrivate::start (arg=0x90d31b0) at thread/qthread_unix.cpp:349
#11 0xb51a8f16 in start_thread (arg=0x90705b40) at pthread_create.c:309
#12 0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 2 (Thread 0x8f9ffb40 (LWP 3941)):
#0  0xb76e1c7c in __kernel_vsyscall ()
#1  0xb51accac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb54dd9dc in __pthread_cond_wait (cond=0xb45098f0, mutex=0xb45098d8) at forward.c:149
#3  0xb43ed5ff in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#4  0xb43ed63c in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#5  0xb51a8f16 in start_thread (arg=0x8f9ffb40) at pthread_create.c:309
#6  0xb54d0a3e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xae1867c0 (LWP 3922)):
#0  0xa5c6b061 in my_ismbchar_utf8 () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#1  0xa5e2ce5c in check_table_name(char const*, unsigned int, bool) () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#2  0xa5e37974 in st_select_lex::add_table_to_list(THD*, Table_ident*, st_mysql_lex_string*, unsigned long, thr_lock_type, enum_mdl_type, List<Index_hint>*, st_mysql_lex_string*) () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#3  0xa5ed1f29 in MYSQLparse(THD*) () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#4  0xa5e3dc6b in parse_sql(THD*, Parser_state*, Object_creation_ctx*) () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#5  0xa5e3dce2 in mysql_parse(THD*, char*, unsigned int, Parser_state*) () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#6  0xa5e3f7b1 in dispatch_command(enum_server_command, THD*, char*, unsigned int) () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#7  0xa5b983c3 in emb_advanced_command () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#8  0xa5b893b3 in mysql_send_query () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#9  0xa5b893e2 in mysql_real_query () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#10 0xa5b8f4d8 in mysql_query () from /home/robert/kde/lib/kde4/amarok_storage-mysqlestorage.so
#11 0xa5b82af0 in MySqlStorage::query (this=0x8714020, statement=...) at /home/robert/devel/amarok/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp:115
#12 0xa57f27c0 in Collections::SqlQueryMakerInternal::run (this=0x9d41788) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp:47
#13 0xa57eeb41 in Collections::SqlQueryMaker::run (this=0x918bfb8) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:190
#14 0xa580e033 in Meta::SqlAlbum::tracks (this=0x9601d80) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlMeta.cpp:1512
#15 0xb66fc00e in CollectionSortFilterProxyModel::albumYear (this=0x91c6238, album=...) at /home/robert/devel/amarok/src/browsers/CollectionSortFilterProxyModel.cpp:197
#16 0xb66fc6c2 in CollectionSortFilterProxyModel::lessThanAlbum (this=0x91c6238, left=..., right=...) at /home/robert/devel/amarok/src/browsers/CollectionSortFilterProxyModel.cpp:138
#17 0xb60a9c7e in operator() (r2=<optimized out>, r1=<optimized out>, this=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:80
#18 QAlgorithmsPrivate::qMerge<int*, int const, QSortFilterProxyModelLessThan> (begin=0x9d3bb14, pivot=0x9d3bb18, end=0x9d3bb1c, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:424
#19 0xb60a9dbf in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3bb14, end=0x9d3bb1c, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:459
#20 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3bb0c, end=0x9d3bb1c, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#21 0xb60a9d37 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3bb0c, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:457
#22 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3baec, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#23 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3baac, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#24 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3ba28, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#25 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3b920, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#26 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3b710, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#27 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3b2f0, end=0x9d3bb30, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#28 0xb60a9d37 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3b2f0, end=0x9d3c370, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:457
#29 0xb60a9d79 in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan> (begin=0x9d3a270, end=0x9d3c370, t=@0x9d3a270: 1, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:458
#30 0xb60a165e in qStableSort<int*, QSortFilterProxyModelLessThan> (lessThan=..., end=0x9d3c370, start=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:212
#31 QSortFilterProxyModelPrivate::sort_source_rows (this=0x91c6248, source_rows=..., source_parent=...) at itemviews/qsortfilterproxymodel.cpp:466
#32 0xb60a580d in QSortFilterProxyModelPrivate::source_items_inserted (this=0x91c6248, source_parent=..., start=0, end=2111, orient=Qt::Vertical) at itemviews/qsortfilterproxymodel.cpp:805
#33 0xb60a5a4c in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x91c6248, source_parent=..., start=0, end=2111) at itemviews/qsortfilterproxymodel.cpp:1297
#34 0xb60a7545 in QSortFilterProxyModel::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=0xbf7fdc90, _c=<optimized out>) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:113
#35 0xb58161e8 in QMetaObject::activate (sender=0x91c5c60, m=0xb5980288 <QAbstractItemModel::staticMetaObject>, local_signal_index=5, argv=0xbf7fdc90) at kernel/qobject.cpp:3567
#36 0xb5864f02 in QAbstractItemModel::rowsInserted (this=0x91c5c60, _t1=..., _t2=0, _t3=2111) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#37 0xb57fae9b in QAbstractItemModel::endInsertRows (this=0x91c5c60) at kernel/qabstractitemmodel.cpp:2433
#38 0xb670897b in CollectionTreeItemModelBase::populateChildren (this=0x91c5c60, dataList=..., parent=0x91c5e98, parentIndex=...) at /home/robert/devel/amarok/src/browsers/CollectionTreeItemModelBase.cpp:937
#39 0xb670650e in CollectionTreeItemModelBase::handleNormalQueryResult (this=0x91c5c60, qm=0x91cbed8, dataList=...) at /home/robert/devel/amarok/src/browsers/CollectionTreeItemModelBase.cpp:852
#40 0xb6706635 in CollectionTreeItemModelBase::newResultReady (this=0x91c5c60, data=...) at /home/robert/devel/amarok/src/browsers/CollectionTreeItemModelBase.cpp:736
#41 0xb6705994 in CollectionTreeItemModelBase::newResultReady (this=0x91c5c60, res=...) at /home/robert/devel/amarok/src/browsers/CollectionTreeItemModelBase.cpp:699
#42 0xb6706c91 in CollectionTreeItemModelBase::qt_static_metacall (_o=0x91c5c60, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbf7fdeb8) at /home/robert/devel/build/amarok/src/CollectionTreeItemModelBase.moc:85
#43 0xb581276a in QMetaCallEvent::placeMetaCall (this=0x97f03f0, object=0x91c5c60) at kernel/qobject.cpp:524
#44 0xb581a8c9 in QObject::event (this=0x91c5c60, e=0x97f03f0) at kernel/qobject.cpp:1222
#45 0xb5abbc2a in QApplicationPrivate::notify_helper (this=0x87094f8, receiver=0x91c5c60, e=0x97f03f0) at kernel/qapplication.cpp:4570
#46 0xb5ac2673 in QApplication::notify (this=0xbf7fe470, receiver=0x91c5c60, e=0x97f03f0) at kernel/qapplication.cpp:4356
#47 0xb7053f7c in KApplication::notify (this=0xbf7fe470, receiver=0x91c5c60, event=0x97f03f0) at ../../kdeui/kernel/kapplication.cpp:311
#48 0xb5800c2c in QCoreApplication::notifyInternal (this=0xbf7fe470, receiver=0x91c5c60, event=0x97f03f0) at kernel/qcoreapplication.cpp:953
#49 0xb580465c in sendEvent (event=0x97f03f0, receiver=0x91c5c60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#50 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8672e68) at kernel/qcoreapplication.cpp:1577
#51 0xb5804ba5 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1470
#52 0xb5830de3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#53 postEventSourceDispatch (s=0x86fbd28) at kernel/qeventdispatcher_glib.cpp:287
#54 0xb3edcc04 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#55 0xb3edcf29 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#56 0xb3edcff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#57 0xb5830f3b in QEventDispatcherGlib::processEvents (this=0x8673c28, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#58 0xb5b6d019 in QGuiEventDispatcherGlib::processEvents (this=0x8673c28, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#59 0xb57ff6c3 in QEventLoop::processEvents (this=0xbf7fe3d8, flags=...) at kernel/qeventloop.cpp:149
#60 0xb57ff9fe in QEventLoop::exec (this=0xbf7fe3d8, flags=...) at kernel/qeventloop.cpp:204
#61 0xb580589b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#62 0xb5ab9c04 in QApplication::exec () at kernel/qapplication.cpp:3828
#63 0x0804d4f7 in main (argc=2, argv=0xbf7fe564) at /home/robert/devel/amarok/src/main.cpp:329

On initial starting of amarok there was an audio cd in the drive, I've now removed it - just in case that was the problem - and it still crashes on startup

kde 4.14.1


Reproducible: Always
Comment 1 robert marshall 2015-02-03 08:39:16 UTC
And build is with Qt: 4.8.6
Comment 2 Myriam Schweingruber 2015-02-03 12:49:54 UTC
Hm, I don't see such a crash, using git version v2.8.0-444-g4276860

Did you try to repair the database as suggested by the command line output? See also https://community.kde.org/Amarok/Community/MySQL#Repair_a_Corrupted_Database

Since there has been some work on the database in the last few days, this might have cause the problem
Comment 3 robert marshall 2015-02-03 17:41:18 UTC
There's  502(!) of these messages all with different constraints on albums.name 
the errors starts with MySQLe query failed! (1194) Table 'artists' is marked as crashed and should be repaired on DELETE FROM artists WHERE id NOT IN ( SELECT artist FROM tracks WHERE artist IS NOT NULL ) AND id NOT IN ( SELECT artist FROM albums WHERE artist IS NOT NULL )" do I need to drop the constraint and that will then sort them all>

what's the default database connection (I've never configured anything here) do I have to search though .kde/share/apps/amarok to find it?
I tried the command at that link 
# mysqlcheck -p --auto-repair --all-databases
Enter password: 
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect
(I've no idea what the password should be so I entered nothing)
Comment 4 Myriam Schweingruber 2015-02-03 18:06:25 UTC
Setting status correctly
just running that command with sudo rights should be enough.
Comment 5 robert marshall 2015-02-03 18:49:01 UTC
That doesn't work for me:
sudo mysqlcheck -p --auto-repair --all-databases
[sudo] password for robert: 
Enter password: 
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect
So it's asking for another password! Is the problem *here* (ie with the repair command) that it's trying to connect to  mysql? - I had mysql-server installed a bit back but I removed it in December (ie well before amarok stopped running). my.cnf starts with [embedded]

(this page loads for me with FIXED set on the status - I assume I need to manually change it to WAITINGFORINFO nothing else in that RH pull down looked right)
Comment 6 Ralf Engels 2015-02-03 21:10:20 UTC
Robert, 

1.
are you using the embedded server or the mysql server. I can't really tell but it seems like the crashed database is the embedded one (which is stored in /home/robert/.kde/share/apps/amarok/mysqle/amarok) while you are trying to repair the server based database.

2.
It seems to me that the crash is not caused by a corrupted database but something in AlbumPlayBias.
I've done changes in the AlbumPlayBias but I can't imagine the cause of the crash.
I just committed a change that should solve the track.
ab52017de4f9c2bc2f8629e7a96104d8bc60688d

3.
It might be that your embedded database is corrupt which caused the crash later on or that the crash caused a corrupt database.
In both cases your database would be corrupt and if SQLembedded is not able to fix the issue you would need to remove the whole database.

Please report if the fix solves your issue.
Comment 7 robert marshall 2015-02-03 23:00:57 UTC
1 I'm using the embedded server - my problem with repairing is that (AFAICT) uninstalling mysql-server, which I installed for some development work unrelated to amarok, appears not to install cleanly.

2 I've pulled your new code and built and installed. With that change I now get amarok to start but there's a message "MySQLe something failed! on library initialization failed, return code 1
In most cases you will need to resolve these errors before Amarok will run properly." I then get thrown into the configure database screen and the collection is now empty.

3 I guess that means the database is corrupt, do I need to remove  .kde/share/apps/amarok/mysqle/amarok and then restart?
Comment 8 Ralf Engels 2015-02-05 20:42:01 UTC
If you did not get the message box before then you had probably not the very latest Amarok build.

Anyway, I think the database is corrupt and you should remove or rename it to start Amarok cleanly.
Comment 9 robert marshall 2015-02-05 21:16:37 UTC
I've moved mysqle out of the way. Started amarok got the same message again 'MySQLe something failed! on library initialization failed...' I tried adding a directory to the library, it was scanned but still a local collection with 0 entries. Restarted amarok got same error and still nothing in local collection. I didn't remove my.cnf - a mysqle dir has been created but it is empty.
Comment 10 robert marshall 2015-02-05 23:04:08 UTC
..I've just pulled a week old copy of kde/share/apps/amarok/mysqle/amarok from a backup so before the build of the new copy of amarok) and started amarok and still get [MySqlStorage] MySQLe something failed! on library initialization failed, return code 1 - is there another file elsewhere which needs removing?
Comment 11 Ralf Engels 2015-02-06 20:39:27 UTC
What are the messages when you start Amarok with --debug ?

But that should have done it.
Comment 12 robert marshall 2015-02-06 21:34:20 UTC
And now it works! Sorry for the noise.

I think the issue (on trying to generate a new db) was that I had a version of mysql-server that was installed but not running properly I now have a version of mysql-server which is only half installed and that doesn't give the problem. I had problems starting kmail (akonadi issues) back in Dec when I had the non running mysql maybe this also affects amarok?

The point where the amarok crash happened I didn't have mysql-server installed (in any state) I installed it to try to get mysqlcheck to run (see comment #3). 
amarok (from git) runs happily with the version of the database  that I pulled off my backups- I think this bug can be closed! Thank you for the assistance!
Comment 13 Myriam Schweingruber 2015-02-07 10:03:48 UTC
Thank you for the quick feedback.