I've seen around 3 crashes of amarok today all when finishing playback of a track and with a dynamic playlist active. --debug gives me amarok: END__: void EngineController::slotMetaDataChanged() [Took: 0s] amarok: [BiasSolver] collection has 15527 uids amarok: [BiasSolver] generating playlist amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xb7c1340 amarok: [EngineController] slotStateChanged from 1 to 0 amarok: [EngineController] slotStateChanged from 0 to 3 amarok: [EngineController] slotTrackLengthChanged( 180774 ) amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0.01s] amarok: MPRIS2: Album image location is KUrl("amarok-sqltrackuid://35ef378b3c1e10b58c5fefbc5a51b4f0") amarok: MPRIS2: New location for width 600 is KUrl("file:///home/robert/.kde/share/apps/amarok/albumcovers/cache/600@555e7c41faa8543039b98172677a867e") amarok: [EngineController] slotStateChanged from 3 to 2 amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: [EngineController] slotStateChanged from 2 to 3 amarok: [EngineController] slotStateChanged from 3 to 2 amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.006s] amarok: [TagMatchBias] SimpleMatchBias:: "tagMatchBias" updateFinished 15450 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.094s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xb7c1340 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] KCrash: Application 'amarok' crashing... QSocketNotifier: Invalid socket 8 and type 'Read', disabling... QSocketNotifier: Invalid socket 39 and type 'Read', disabling... QSocketNotifier: Invalid socket 60 and type 'Read', disabling... amarok: Fatal IO error: client killed [0xc25e960] filesystem access error: failed to read (Bad file descriptor) [0xc25e960] main access error: File reading failed [0xc25e960] main access error: VLC could not read the file (Bad file descriptor). KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/robert/.kde/socket-poulenc/kdeinit4__0 amarok: [ERROR__] [MySqlStorage] "GREPME MySQLe query failed! (1194) Table 'urls' is marked as crashed and should be repaired on SELECT urls.uniqueid FROM tracks INNER JOIN urls ON tracks.url = urls.id LEFT JOIN statistics ON urls.id = statistics.url WHERE 1 AND urls.deviceid in (1,2,3,11,-1) AND ( 1 AND statistics.accessdate < 1383666291 ) ;" pa_write() failed while trying to wake up the mainloop: Bad file descriptor pa_write() failed while trying to wake up the mainloop: Bad file descriptor pa_write() failed while trying to wake up the mainloop: Bad file descriptor pa_write() failed while trying to wake up the mainloop: Bad file descriptor pa_write() failed while trying to wake up the mainloop: Bad file descriptor Assertion 'pa_close(fds[0]) == 0' failed at pulsecore/core-util.c:2459, function pa_close_pipe(). Aborting. Unable to start Dr. Konqi (vlc 0.6.2) I assume there's a track somewhere in my collection that amarok doesn't like and when it tries to add it to the playlist it crashes? (I've not attempted the repair to table urls mentioned in the --debug output - do I need to or does it happen automatically when amarok finds the marked table?) Reproducible: Sometimes
> Assertion 'pa_close(fds[0]) == 0' failed at pulsecore/core-util.c:2459, function pa_close_pipe(). Aborting. Looks like a problem with pulseaudio. To be sure, we need the backtrace of the crash, with debug symbols enabled. For more information, please see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Setting status correctly. Please also make sure all the disks and shares where the dynamic playlist gets the tracks from are not down or unavailable.
Though Christoph suggests the problem is with pulseaudio (or can both be true?) The whole collection is within $HOME (with no soft links within it to other file systems) I'm running a version compiled from git so if Dr Konqi fails to run again, I'll try to get a core dump and proceed from there
We will see. Since I am waiting for a backtrace, please leave the status :)
Here it is, I'll leave the gdb session around and create a core in case anything else is needed Thread 32 (Thread 0x94b7eb40 (LWP 26472)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb48cdbbd in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0 #3 0xb48bc4fe in pa_mainloop_poll () from /usr/lib/i386-linux-gnu/libpulse.so.0 #4 0xb48bcd2d in pa_mainloop_iterate () from /usr/lib/i386-linux-gnu/libpulse.so.0 #5 0xb48bce04 in pa_mainloop_run () from /usr/lib/i386-linux-gnu/libpulse.so.0 #6 0xb48cdb5c in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0 #7 0xb1dfa4bd in ?? () from /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so #8 0xb5da9d78 in start_thread (arg=0x94b7eb40) at pthread_create.c:311 #9 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 31 (Thread 0x94bffb40 (LWP 26471)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa23206f8, mutex=0xa23206e0) at forward.c:149 #3 0xaca278a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.5 #4 0xaca02e41 in block_FifoGet () from /usr/lib/libvlccore.so.5 #5 0xac9b548e in ?? () from /usr/lib/libvlccore.so.5 #6 0xb5da9d78 in start_thread (arg=0x94bffb40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 30 (Thread 0x96006b40 (LWP 26470)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dadc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250 #2 0xb60d4a14 in __pthread_cond_timedwait (cond=0x92c73bc, mutex=0x92c73a4, abstime=0x960061f8) at forward.c:162 #3 0xaca278f8 in vlc_cond_timedwait () from /usr/lib/libvlccore.so.5 #4 0xac9ca761 in ?? () from /usr/lib/libvlccore.so.5 #5 0xac9cb6ac in ?? () from /usr/lib/libvlccore.so.5 #6 0xb5da9d78 in start_thread (arg=0x96006b40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 23 (Thread 0x901d6b40 (LWP 26302)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa258a7dc, mutex=0xa258a7c4) at forward.c:149 #3 0xb403bae3 in WTF::ThreadCondition::wait(WTF::Mutex&) () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #4 0xb3d17744 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #5 0xb4022866 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #6 0xb403b459 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #7 0xb5da9d78 in start_thread (arg=0x901d6b40) at pthread_create.c:311 #8 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 13 (Thread 0xa0b31b40 (LWP 24792)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb52d08d0, mutex=0xb52d08b8) at forward.c:149 #3 0xb51cdef2 in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #4 0xb51cdf3f in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #5 0xb5da9d78 in start_thread (arg=0xa0b31b40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 12 (Thread 0xa18feb40 (LWP 24790)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0x8945ae0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa18fe258, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa18fe258, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8bf6550) at thread/qthread.cpp:542 #9 0xb62d6f8b in QThread::run (this=0x8bf6550) at thread/qthread.cpp:609 #10 0xb62d972f in QThreadPrivate::start (arg=0x8bf6550) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa18feb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 11 (Thread 0xa20ffb40 (LWP 24788)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60bef41 in select () at ../sysdeps/unix/syscall-template.S:81 #2 0xb63c4a80 in QProcessManager::run (this=0xb6555d90 <processManager()::processManager>) at io/qprocess_unix.cpp:245 #3 0xb62d972f in QThreadPrivate::start (arg=0xb6555d90 <processManager()::processManager>) at thread/qthread_unix.cpp:338 #4 0xb5da9d78 in start_thread (arg=0xa20ffb40) at pthread_create.c:311 #5 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 10 (Thread 0xa2e1eb40 (LWP 24786)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb4886d90, mutex=0xb4886d78) at forward.c:149 #3 0xb400ca7c in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #4 0xb400cacf in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #5 0xb5da9d78 in start_thread (arg=0xa2e1eb40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 9 (Thread 0xa361fb40 (LWP 24785)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0xa55022f8, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa361f228, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa361f228, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8bcd318) at thread/qthread.cpp:542 #9 0xb63c7e14 in QInotifyFileSystemWatcherEngine::run (this=0x8bcd318) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb62d972f in QThreadPrivate::start (arg=0x8bcd318) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa361fb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 8 (Thread 0xa4150b40 (LWP 24784)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0x9b0c1e0, mutex=0x9b0c1c8) at forward.c:149 #3 0xb62d9ca5 in wait (time=4294967295, this=0x9b0c1c8) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0xc433758, mutex=0xc433754, time=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb73ac84b in Dynamic::BiasSolver::matchingTracks (this=0xc433730, playlist=...) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:261 #6 0xb73ac346 in Dynamic::BiasSolver::addTracks (this=0xc433730, list=0xa415017c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:177 #7 0xb73ac429 in Dynamic::BiasSolver::addTracks (this=0xc433730, list=0xa415017c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:192 #8 0xb73ac199 in Dynamic::BiasSolver::run (this=0xc433730) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:157 #9 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa4150248, th=0x87a72b0, job=job@entry=0xc433730) at ../../../threadweaver/Weaver/Job.cpp:106 #10 0xb5779bc5 in ThreadWeaver::Job::execute (this=0xc433730, th=0x87a72b0) at ../../../threadweaver/Weaver/Job.cpp:135 #11 0xb5779314 in ThreadWeaver::Thread::run (this=0x87a72b0) at ../../../threadweaver/Weaver/Thread.cpp:108 #12 0xb62d972f in QThreadPrivate::start (arg=0x87a72b0) at thread/qthread_unix.cpp:338 #13 0xb5da9d78 in start_thread (arg=0xa4150b40) at pthread_create.c:311 #14 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 7 (Thread 0xa4951b40 (LWP 24783)): #0 QMetaObject::activate (sender=0x8d824f0, m=0xabb8cea4 <Collections::SqlQueryMakerInternal::staticMetaObject>, local_signal_index=6, argv=0xa4951128) at kernel/qobject.cpp:3476 #1 0xabb1dd4e in Collections::SqlQueryMakerInternal::newResultReady (this=0x8d824f0, _t1=...) at /home/robert/devel/build/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.moc:162 #2 0xabb1cb81 in Collections::SqlQueryMakerInternal::handleResult (this=0x8d824f0, result=...) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp:77 #3 0xabb1cabd in Collections::SqlQueryMakerInternal::run (this=0x8d824f0) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp:48 #4 0xabb1a464 in SqlWorkerThread::run (this=0x8cffc58) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:65 #5 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa4951248, th=0x87a3c88, job=job@entry=0x8cffc58) at ../../../threadweaver/Weaver/Job.cpp:106 #6 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x8cffc58, th=0x87a3c88) at ../../../threadweaver/Weaver/Job.cpp:135 #7 0xb5779314 in ThreadWeaver::Thread::run (this=0x87a3c88) at ../../../threadweaver/Weaver/Thread.cpp:108 #8 0xb62d972f in QThreadPrivate::start (arg=0x87a3c88) at thread/qthread_unix.cpp:338 #9 0xb5da9d78 in start_thread (arg=0xa4951b40) at pthread_create.c:311 #10 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 6 (Thread 0xa54ffb40 (LWP 24782)): #0 0xabfdbc0d 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_collection-mysqlecollection.so #1 0xac07ee40 in MYSQLparse(void*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #2 0xabfe495a in parse_sql(THD*, Parser_state*, Object_creation_ctx*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #3 0xabfe49e3 in mysql_parse(THD*, char*, unsigned int, Parser_state*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #4 0xabfe65b6 in dispatch_command(enum_server_command, THD*, char*, unsigned int) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #5 0xabd27433 in emb_advanced_command () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #6 0xabd17efb in mysql_send_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #7 0xabd17f3c in mysql_real_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #8 0xabd1e030 in mysql_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #9 0xabd0f8dc in MySqlStorage::query (this=0x8119430, statement=...) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/mysql-shared/MySqlStorage.cpp:125 #10 0xabb1caa8 in Collections::SqlQueryMakerInternal::run (this=0xb3ac0d8) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp:47 #11 0xabb1a464 in SqlWorkerThread::run (this=0xa96efd8) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:65 #12 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa54ff248, th=0x85ef6e8, job=job@entry=0xa96efd8) at ../../../threadweaver/Weaver/Job.cpp:106 #13 0xb5779bc5 in ThreadWeaver::Job::execute (this=0xa96efd8, th=0x85ef6e8) at ../../../threadweaver/Weaver/Job.cpp:135 #14 0xb5779314 in ThreadWeaver::Thread::run (this=0x85ef6e8) at ../../../threadweaver/Weaver/Thread.cpp:108 #15 0xb62d972f in QThreadPrivate::start (arg=0x85ef6e8) at thread/qthread_unix.cpp:338 #16 0xb5da9d78 in start_thread (arg=0xa54ffb40) at pthread_create.c:311 #17 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 5 (Thread 0xa5edeb40 (LWP 24780)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0xa5500468, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa5ede228, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa5ede228, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8527700) at thread/qthread.cpp:542 #9 0xb63c7e14 in QInotifyFileSystemWatcherEngine::run (this=0x8527700) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb62d972f in QThreadPrivate::start (arg=0x8527700) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa5edeb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 4 (Thread 0xa7508b40 (LWP 24779)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dadc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250 #2 0xb60d4a14 in __pthread_cond_timedwait (cond=0x8523290, mutex=0x8523278, abstime=0xa7508138) at forward.c:162 #3 0xb62d9c83 in wait (time=60000, this=0x8523278) at thread/qwaitcondition_unix.cpp:84 #4 QWaitCondition::wait (this=0x8523130, mutex=0x852312c, time=60000) at thread/qwaitcondition_unix.cpp:158 #5 0xb744a0a5 in AbstractDirectoryWatcher::run (this=0x8523118) at /home/robert/devel/amarok/src/scanner/AbstractDirectoryWatcher.cpp:65 #6 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa7508248, th=0x8507ad0, job=job@entry=0x8523118) at ../../../threadweaver/Weaver/Job.cpp:106 #7 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x8523118, th=0x8507ad0) at ../../../threadweaver/Weaver/Job.cpp:135 #8 0xb5779314 in ThreadWeaver::Thread::run (this=0x8507ad0) at ../../../threadweaver/Weaver/Thread.cpp:108 #9 0xb62d972f in QThreadPrivate::start (arg=0x8507ad0) at thread/qthread_unix.cpp:338 #10 0xb5da9d78 in start_thread (arg=0xa7508b40) at pthread_create.c:311 #11 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 2 (Thread 0xac645b40 (LWP 24772)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0x848839c, mutex=0x8488384) at forward.c:149 #3 0xaca278a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.5 #4 0xac99db41 in ?? () from /usr/lib/libvlccore.so.5 #5 0xb5da9d78 in start_thread (arg=0xac645b40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 1 (Thread 0xaf533b00 (LWP 24756)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188bf in QEventDispatcherGlib::processEvents (this=this@entry=0x8055ec0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #6 0xb674532e in QGuiEventDispatcherGlib::processEvents (this=0x8055ec0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #7 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xbfffedb8, flags=...) at kernel/qeventloop.cpp:149 #8 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xbfffedb8, flags=...) at kernel/qeventloop.cpp:204 #9 0xb63ed89e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218 #10 0xb668e974 in QApplication::exec () at kernel/qapplication.cpp:3828 #11 0x0804f3a6 in main (argc=3, argv=0xbfffef64) at /home/robert/devel/amarok/src/main.cpp:329
And another crash - from the user POV it appears to be the same problem - dynamic playlist and stop at end of current track - but the tb is rather different Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xa54ffb40 (LWP 27204)] 0xb57798fb in ThreadWeaver::Job::setFinished (this=0x8e9c098, status=false) at ../../../threadweaver/Weaver/Job.cpp:232 232 ../../../threadweaver/Weaver/Job.cpp: No such file or directory. Thread 17 (Thread 0x90891b40 (LWP 27264)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa258a7dc, mutex=0xa258a7c4) at forward.c:149 #3 0xb403bae3 in WTF::ThreadCondition::wait(WTF::Mutex&) () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #4 0xb3d17744 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #5 0xb4022866 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #6 0xb403b459 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #7 0xb5da9d78 in start_thread (arg=0x90891b40) at pthread_create.c:311 #8 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 16 (Thread 0x951ffb40 (LWP 27259)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb48cdbbd in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0 #3 0xb48bc4fe in pa_mainloop_poll () from /usr/lib/i386-linux-gnu/libpulse.so.0 #4 0xb48bcd2d in pa_mainloop_iterate () from /usr/lib/i386-linux-gnu/libpulse.so.0 #5 0xb48bce04 in pa_mainloop_run () from /usr/lib/i386-linux-gnu/libpulse.so.0 #6 0xb48cdb5c in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0 #7 0xb1dfa4bd in ?? () from /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so #8 0xb5da9d78 in start_thread (arg=0x951ffb40) at pthread_create.c:311 #9 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 15 (Thread 0x9b9b8b40 (LWP 27258)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa23975c8, mutex=0xa23975b0) at forward.c:149 #3 0xaca278a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.5 #4 0xaca02e41 in block_FifoGet () from /usr/lib/libvlccore.so.5 #5 0xac9b548e in ?? () from /usr/lib/libvlccore.so.5 #6 0xb5da9d78 in start_thread (arg=0x9b9b8b40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 14 (Thread 0x9bba5b40 (LWP 27257)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dadc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250 #2 0xb60d4a14 in __pthread_cond_timedwait (cond=0x996cddc, mutex=0x996cdc4, abstime=0x9bba51f8) at forward.c:162 #3 0xaca278f8 in vlc_cond_timedwait () from /usr/lib/libvlccore.so.5 #4 0xac9ca761 in ?? () from /usr/lib/libvlccore.so.5 #5 0xac9cb6ac in ?? () from /usr/lib/libvlccore.so.5 #6 0xb5da9d78 in start_thread (arg=0x9bba5b40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 13 (Thread 0xa0d31b40 (LWP 27216)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb52d08d0, mutex=0xb52d08b8) at forward.c:149 #3 0xb51cdef2 in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #4 0xb51cdf3f in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #5 0xb5da9d78 in start_thread (arg=0xa0d31b40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 12 (Thread 0xa1afeb40 (LWP 27214)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0x898c380, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa1afe258, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa1afe258, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8c24fd0) at thread/qthread.cpp:542 #9 0xb62d6f8b in QThread::run (this=0x8c24fd0) at thread/qthread.cpp:609 #10 0xb62d972f in QThreadPrivate::start (arg=0x8c24fd0) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa1afeb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 11 (Thread 0xa22ffb40 (LWP 27211)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60bef41 in select () at ../sysdeps/unix/syscall-template.S:81 #2 0xb63c4a80 in QProcessManager::run (this=0xb6555d90 <processManager()::processManager>) at io/qprocess_unix.cpp:245 #3 0xb62d972f in QThreadPrivate::start (arg=0xb6555d90 <processManager()::processManager>) at thread/qthread_unix.cpp:338 #4 0xb5da9d78 in start_thread (arg=0xa22ffb40) at pthread_create.c:311 #5 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 10 (Thread 0xa2e1eb40 (LWP 27209)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb4886d90, mutex=0xb4886d78) at forward.c:149 #3 0xb400ca7c in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #4 0xb400cacf in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #5 0xb5da9d78 in start_thread (arg=0xa2e1eb40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 9 (Thread 0xa361fb40 (LWP 27208)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0xa55022f8, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa361f228, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa361f228, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8bf2970) at thread/qthread.cpp:542 #9 0xb63c7e14 in QInotifyFileSystemWatcherEngine::run (this=0x8bf2970) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb62d972f in QThreadPrivate::start (arg=0x8bf2970) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa361fb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 8 (Thread 0xa4150b40 (LWP 27206)): #0 0xabd647f0 in Protocol::send_result_set_row(List<Item>*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #1 0xabd85f30 in select_send::send_data(List<Item>&) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #2 0xabf9cc18 in end_send(JOIN*, st_join_table*, bool) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #3 0xabf8f580 in evaluate_join_record(JOIN*, st_join_table*, int) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #4 0xabf8f78a in sub_select(JOIN*, st_join_table*, bool) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #5 0xabf8f580 in evaluate_join_record(JOIN*, st_join_table*, int) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #6 0xabf8f78a in sub_select(JOIN*, st_join_table*, bool) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #7 0xabf8f580 in evaluate_join_record(JOIN*, st_join_table*, int) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #8 0xabf8f78a in sub_select(JOIN*, st_join_table*, bool) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #9 0xabf9a548 in do_select(JOIN*, List<Item>*, TABLE*, Procedure*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #10 0xabfaa19f in JOIN::exec() () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #11 0xabfa5a6b in mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #12 0xabfa6258 in handle_select(THD*, LEX*, select_result*, unsigned long) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #13 0xabfdc1f2 in execute_sqlcom_select(THD*, TABLE_LIST*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #14 0xabfe099e in mysql_execute_command(THD*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #15 0xabfe4a3b in mysql_parse(THD*, char*, unsigned int, Parser_state*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #16 0xabfe65b6 in dispatch_command(enum_server_command, THD*, char*, unsigned int) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #17 0xabd27433 in emb_advanced_command () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #18 0xabd17efb in mysql_send_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #19 0xabd17f3c in mysql_real_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #20 0xabd1e030 in mysql_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #21 0xabd0f8dc in MySqlStorage::query (this=0x8119430, statement=...) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/mysql-shared/MySqlStorage.cpp:125 #22 0xabb1caa8 in Collections::SqlQueryMakerInternal::run (this=0x9315ad0) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp:47 #23 0xabb1a464 in SqlWorkerThread::run (this=0x861bd38) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:65 #24 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa4150248, th=0x87a8f98, job=job@entry=0x861bd38) at ../../../threadweaver/Weaver/Job.cpp:106 #25 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x861bd38, th=0x87a8f98) at ../../../threadweaver/Weaver/Job.cpp:135 #26 0xb5779314 in ThreadWeaver::Thread::run (this=0x87a8f98) at ../../../threadweaver/Weaver/Thread.cpp:108 #27 0xb62d972f in QThreadPrivate::start (arg=0x87a8f98) at thread/qthread_unix.cpp:338 #28 0xb5da9d78 in start_thread (arg=0xa4150b40) at pthread_create.c:311 #29 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 7 (Thread 0xa4951b40 (LWP 27205)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa752ae8, mutex=0xa752ad0) at forward.c:149 #3 0xb62d9ca5 in wait (time=4294967295, this=0xa752ad0) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0xafdc158, mutex=0xafdc154, time=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb73ac84b in Dynamic::BiasSolver::matchingTracks (this=0xafdc130, playlist=...) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:261 #6 0xb73ac346 in Dynamic::BiasSolver::addTracks (this=0xafdc130, list=0xa495117c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:177 #7 0xb73ac429 in Dynamic::BiasSolver::addTracks (this=0xafdc130, list=0xa495117c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:192 #8 0xb73ac199 in Dynamic::BiasSolver::run (this=0xafdc130) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:157 #9 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa4951248, th=0x87a3d58, job=job@entry=0xafdc130) at ../../../threadweaver/Weaver/Job.cpp:106 #10 0xb5779bc5 in ThreadWeaver::Job::execute (this=0xafdc130, th=0x87a3d58) at ../../../threadweaver/Weaver/Job.cpp:135 #11 0xb5779314 in ThreadWeaver::Thread::run (this=0x87a3d58) at ../../../threadweaver/Weaver/Thread.cpp:108 #12 0xb62d972f in QThreadPrivate::start (arg=0x87a3d58) at thread/qthread_unix.cpp:338 #13 0xb5da9d78 in start_thread (arg=0xa4951b40) at pthread_create.c:311 #14 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 6 (Thread 0xa54ffb40 (LWP 27204)): #0 0xb57798fb in ThreadWeaver::Job::setFinished (this=0x8e9c098, status=false) at ../../../threadweaver/Weaver/Job.cpp:232 #1 0xabb1a480 in SqlWorkerThread::run (this=0x8e9c098) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:66 #2 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa54ff248, th=0x85eda00, job=job@entry=0x8e9c098) at ../../../threadweaver/Weaver/Job.cpp:106 #3 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x8e9c098, th=0x85eda00) at ../../../threadweaver/Weaver/Job.cpp:135 #4 0xb5779314 in ThreadWeaver::Thread::run (this=0x85eda00) at ../../../threadweaver/Weaver/Thread.cpp:108 #5 0xb62d972f in QThreadPrivate::start (arg=0x85eda00) at thread/qthread_unix.cpp:338 #6 0xb5da9d78 in start_thread (arg=0xa54ffb40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 5 (Thread 0xa5edeb40 (LWP 27202)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0xa5500468, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa5ede228, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa5ede228, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8527820) at thread/qthread.cpp:542 #9 0xb63c7e14 in QInotifyFileSystemWatcherEngine::run (this=0x8527820) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb62d972f in QThreadPrivate::start (arg=0x8527820) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa5edeb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 4 (Thread 0xa7508b40 (LWP 27201)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dadc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250 #2 0xb60d4a14 in __pthread_cond_timedwait (cond=0x85235b0, mutex=0x8523598, abstime=0xa7508138) at forward.c:162 #3 0xb62d9c83 in wait (time=60000, this=0x8523598) at thread/qwaitcondition_unix.cpp:84 #4 QWaitCondition::wait (this=0x811aa10, mutex=0x811aa0c, time=60000) at thread/qwaitcondition_unix.cpp:158 #5 0xb744a0a5 in AbstractDirectoryWatcher::run (this=0x811a9f8) at /home/robert/devel/amarok/src/scanner/AbstractDirectoryWatcher.cpp:65 #6 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa7508248, th=0x84fa618, job=job@entry=0x811a9f8) at ../../../threadweaver/Weaver/Job.cpp:106 #7 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x811a9f8, th=0x84fa618) at ../../../threadweaver/Weaver/Job.cpp:135 #8 0xb5779314 in ThreadWeaver::Thread::run (this=0x84fa618) at ../../../threadweaver/Weaver/Thread.cpp:108 #9 0xb62d972f in QThreadPrivate::start (arg=0x84fa618) at thread/qthread_unix.cpp:338 #10 0xb5da9d78 in start_thread (arg=0xa7508b40) at pthread_create.c:311 #11 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 2 (Thread 0xac645b40 (LWP 27196)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0x848856c, mutex=0x8488554) at forward.c:149 #3 0xaca278a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.5 #4 0xac99db41 in ?? () from /usr/lib/libvlccore.so.5 #5 0xb5da9d78 in start_thread (arg=0xac645b40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 1 (Thread 0xaf533b00 (LWP 27177)): #0 0xb5dfe7ea in ?? () from /lib/i386-linux-gnu/libz.so.1 #1 0xb5e00bed in inflate () from /lib/i386-linux-gnu/libz.so.1 #2 0xb4ca60c2 in png_read_row () from /lib/i386-linux-gnu/libpng12.so.0 #3 0xb4ca665a in png_read_image () from /lib/i386-linux-gnu/libpng12.so.0 #4 0xb679ebee in QPngHandlerPrivate::readPngImage (this=0x92792a0, outImage=0xbfffd214) at image/qpnghandler.cpp:507 #5 0xb676ac8d in QImageReader::read (this=this@entry=0xbfffd258, image=image@entry=0xbfffd214) at image/qimagereader.cpp:1205 #6 0xb676b261 in QImageReader::read (this=this@entry=0xbfffd258) at image/qimagereader.cpp:1155 #7 0xb678830e in QRasterPixmapData::fromData (this=0x996c390, buffer=0x8826140 "\211PNG\r\n\032\n", len=626, format=0xb7c3630e "PNG", flags=...) at image/qpixmap_raster.cpp:143 #8 0xb6777a98 in QPixmap::loadFromData (this=this@entry=0xbfffd4f0, buf=0x8826140 "\211PNG\r\n\032\n", len=626, format=format@entry=0xb7c3630e "PNG", flags=...) at image/qpixmap.cpp:923 #9 0xb7b2b220 in loadFromData (flags=..., format=0xb7c3630e "PNG", buf=..., this=0xbfffd4f0) at /usr/include/qt4/QtGui/qpixmap.h:315 #10 KImageCache::findPixmap (this=0x8a351d0, key=..., destination=0xbfffd4f0) at ../../kdeui/util/kimagecache.cpp:155 #11 0xb755a76f in SvgHandler::renderSvgWithDividers (this=0x8a35e80, keyname=..., width=768, height=19, element=...) at /home/robert/devel/amarok/src/SvgHandler.cpp:181 #12 0xb731ddf7 in Playlist::PrettyItemDelegate::paint (this=0x92293a0, painter=0xbfffd60c, option=..., index=...) at /home/robert/devel/amarok/src/playlist/view/listview/PrettyItemDelegate.cpp:129 #13 0xb6c3f957 in QListView::paintEvent (this=0x924a960, e=0xbfffdd18) at itemviews/qlistview.cpp:1039 #14 0xb732691b in Playlist::PrettyListView::paintEvent (this=0x924a960, event=0xbfffdd18) at /home/robert/devel/amarok/src/playlist/view/listview/PrettyListView.cpp:697 #15 0xb66e9ee5 in QWidget::event (this=this@entry=0x924a960, event=event@entry=0xbfffdd18) at kernel/qwidget.cpp:8532 #16 0xb6aeefcc in QFrame::event (this=this@entry=0x924a960, e=e@entry=0xbfffdd18) at widgets/qframe.cpp:557 #17 0xb6b7d318 in QAbstractScrollArea::viewportEvent (this=this@entry=0x924a960, e=e@entry=0xbfffdd18) at widgets/qabstractscrollarea.cpp:1043 #18 0xb6c21f5c in QAbstractItemView::viewportEvent (this=0x924a960, event=0xbfffdd18) at itemviews/qabstractitemview.cpp:1644 #19 0xb6b7d596 in viewportEvent (event=0xbfffdd18, this=<optimised out>) at widgets/qabstractscrollarea_p.h:100 #20 QAbstractScrollAreaFilter::eventFilter (this=0x9249a78, o=0x92274d0, e=0xbfffdd18) at widgets/qabstractscrollarea_p.h:116 #21 0xb63e904e in QCoreApplicationPrivate::sendThroughObjectEventFilters ( this=this@entry=0x81273f0, receiver=receiver@entry=0x92274d0, event=event@entry=0xbfffdd18) at kernel/qcoreapplication.cpp:1056 #22 0xb6690721 in QApplicationPrivate::notify_helper (this=0x81273f0, receiver=0x92274d0, e=0xbfffdd18) at kernel/qapplication.cpp:4563 #23 0xb6697223 in QApplication::notify (this=0xbfffee74, receiver=receiver@entry=0x92274d0, e=e@entry=0xbfffdd18) at kernel/qapplication.cpp:4353 #24 0xb7abeff4 in KApplication::notify (this=0xbfffee74, receiver=0x92274d0, event=0xbfffdd18) at ../../kdeui/kernel/kapplication.cpp:311 #25 0xb63e8eda in QCoreApplication::notifyInternal (this=0xbfffee74, receiver=0x92274d0, event=0xbfffdd18) at kernel/qcoreapplication.cpp:946 #26 0xb66e3c11 in sendSpontaneousEvent (event=0xbfffdd18, receiver=<optimised out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #27 QWidgetPrivate::drawWidget (this=0x924acc8, pdev=0xb535428, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5598 #28 0xb66e4711 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x924a9c8, pdev=0xb535428, siblings=..., index=<optimised out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5807 #29 0xb66e37aa in QWidgetPrivate::drawWidget (this=0x924a9c8, pdev=0xb535428, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5651 #30 0xb66e4711 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x9248c70, pdev=0xb535428, siblings=..., index=<optimised out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5807 #31 0xb66e37aa in QWidgetPrivate::drawWidget (this=0x9248c70, pdev=0xb535428, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5651 #32 0xb66e4711 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x9212ef0, pdev=0xb535428, siblings=..., index=<optimised out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5807 #33 0xb66e37aa in QWidgetPrivate::drawWidget (this=0x9212ef0, pdev=0xb535428, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5651 #34 0xb66e4711 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x8bac990, pdev=0xb535428, siblings=..., index=<optimised out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5807 #35 0xb66e37aa in QWidgetPrivate::drawWidget (this=0x8bac990, pdev=0xb535428, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5651 #36 0xb66e4711 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x8496230, pdev=0xb535428, siblings=..., index=<optimised out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8eb2ef0) at kernel/qwidget.cpp:5807 #37 0xb66e37aa in QWidgetPrivate::drawWidget (this=0x8496230, pdev=0xb535428, rgn=..., offset=..., flags=flags@entry=5, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x8eb2ef0) at kernel/qwidget.cpp:5651 #38 0xb68d01ed in QWidgetBackingStore::sync (this=0x8eb2ef0) at painting/qbackingstore.cpp:1373 #39 0xb66d816b in QWidgetPrivate::syncBackingStore (this=this@entry=0x8496230) at kernel/qwidget.cpp:1896 #40 0xb66e992c in QWidget::event (this=0x8496168, event=event@entry=0xb01ec98) at kernel/qwidget.cpp:8679 #41 0xb6b0ab0f in QMainWindow::event (this=this@entry=0x8496168, event=event@entry=0xb01ec98) at widgets/qmainwindow.cpp:1478 #42 0xb7b8d4d5 in KMainWindow::event (this=0x8496168, ev=0xb01ec98) at ../../kdeui/widgets/kmainwindow.cpp:1084 #43 0xb6690744 in QApplicationPrivate::notify_helper (this=0x81273f0, receiver=0x8496168, e=0xb01ec98) at kernel/qapplication.cpp:4567 #44 0xb6697223 in QApplication::notify (this=0xbfffee74, receiver=receiver@entry=0x8496168, e=e@entry=0xb01ec98) at kernel/qapplication.cpp:4353 #45 0xb7abeff4 in KApplication::notify (this=0xbfffee74, receiver=0x8496168, event=0xb01ec98) at ../../kdeui/kernel/kapplication.cpp:311 #46 0xb63e8eda in QCoreApplication::notifyInternal (this=0xbfffee74, receiver=receiver@entry=0x8496168, event=event@entry=0xb01ec98) at kernel/qcoreapplication.cpp:946 #47 0xb63ec6ad in sendEvent (event=0xb01ec98, receiver=0x8496168) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #48 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x8055130) at kernel/qcoreapplication.cpp:1570 #49 0xb63ecbbc in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463 #50 0xb6418f6e in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236 #51 postEventSourceDispatch (s=0x811b4b0) at kernel/qeventdispatcher_glib.cpp:279 #52 0xb4d0383e in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #53 0xb4d03be8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #54 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #55 0xb64188bf in QEventDispatcherGlib::processEvents (this=this@entry=0x8055ec0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #56 0xb674532e in QGuiEventDispatcherGlib::processEvents (this=0x8055ec0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #57 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xbfffedb8, flags=...) at kernel/qeventloop.cpp:149 #58 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xbfffedb8, flags=...) at kernel/qeventloop.cpp:204 #59 0xb63ed89e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218 #60 0xb668e974 in QApplication::exec () at kernel/qapplication.cpp:3828 #61 0x0804f3a6 in main (argc=3, argv=0xbfffef64) at /home/robert/devel/amarok/src/main.cpp:329
Well, you should install debugging symbols for pulseaudio as well, else there is not much we can find.
OK, sorry - I assumed that if the thread which had crashed had all symbols it was ok. I've now installed pulseaudio dbg and will lie in wait (for another 2 weeks maybe!)
Here's another crash, same user actions (though again at a different location?) I'm also including the --debug output amarok: BEGIN: void Podcasts::PodcastReader::slotAddData(KIO::Job*, const QByteArray&) amarok: BEGIN: bool Podcasts::PodcastReader::continueRead() amarok: END__: bool Podcasts::PodcastReader::continueRead() [Took: 0s] amarok: END__: void Podcasts::PodcastReader::slotAddData(KIO::Job*, const QByteArray&) [Took: 0s] amarok: BEGIN: void Podcasts::PodcastReader::slotAddData(KIO::Job*, const QByteArray&) amarok: BEGIN: bool Podcasts::PodcastReader::continueRead() amarok: updating episode: "R3MC: Welcome" amarok: successfuly parsed feed: "http://downloads.bbc.co.uk/podcasts/radio3/r3mc/rss.xml" amarok: Finished updating: KUrl("http://downloads.bbc.co.uk/podcasts/radio3/r3mc/rss.xml") amarok: Updating counter reached 0 amarok: END__: bool Podcasts::PodcastReader::continueRead() [Took: 0.001s] amarok: END__: void Podcasts::PodcastReader::slotAddData(KIO::Job*, const QByteArray&) [Took: 0.001s] amarok: BEGIN: virtual Podcasts::PodcastReader::~PodcastReader() amarok: END__: virtual Podcasts::PodcastReader::~PodcastReader() [Took: 0s] amarok: BEGIN: void EngineController::slotAboutToFinish() amarok: BEGIN: void Playlist::Actions::requestNextTrack() amarok: BEGIN: void Dynamic::BiasedPlaylist::startSolver(int) amarok: [BiasedPlaylist] BiasedPlaylist in: 2941467392 amarok: [BiasedPlaylist] assigning new m_solver amarok: [BiasSolver] CREATING BiasSolver in thread: 2941467392 to get 2 tracks with 47 context amarok: BEGIN: virtual void Dynamic::BiasSolver::run() amarok: [BiasSolver] BiasSolver::run in thread: 2761235264 amarok: [BiasSolver] waiting for collection results amarok: [BiasedPlaylist] called prepareToRun amarok: END__: void Dynamic::BiasedPlaylist::startSolver(int) [Took: 0.004s] amarok: BEGIN: void Playlist::Controller::removeRows(int, int) amarok: BEGIN: void Playlist::Controller::removeRows(QList<int>&) amarok: BEGIN: virtual void Playlist::RemoveTracksCmd::redo() amarok: BEGIN: void Playlist::Model::removeTracksCommand(const RemoveCmdList&) amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: END__: void Playlist::Model::removeTracksCommand(const RemoveCmdList&) [Took: 0.007s] amarok: END__: virtual void Playlist::RemoveTracksCmd::redo() [Took: 0.008s] amarok: END__: void Playlist::Controller::removeRows(QList<int>&) [Took: 0.008s] amarok: END__: void Playlist::Controller::removeRows(int, int) [Took: 0.008s] amarok: BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() amarok: END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0s] amarok: END__: void Playlist::Actions::requestNextTrack() [Took: 0.013s] amarok: END__: void EngineController::slotAboutToFinish() [Took: 0.013s] amarok: BEGIN: void Dynamic::BiasedPlaylist::startSolver(int) amarok: [BiasedPlaylist] BiasedPlaylist in: 2941467392 amarok: [BiasedPlaylist] solver already running! amarok: END__: void Dynamic::BiasedPlaylist::startSolver(int) [Took: 0s] amarok: [BiasSolver] collection has 15596 uids amarok: [BiasSolver] generating playlist amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xd0e2108 amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.018s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: [TagMatchBias] SimpleMatchBias:: "tagMatchBias" updateFinished 15122 amarok: [TagMatchBias] SimpleMatchBias:: "tagMatchBias" updateFinished 15519 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.13s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xd0e2108 amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.002s] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xa54ffb40 (LWP 28460)] QMutex::lock (this=0x18) at thread/qmutex.cpp:150 150 thread/qmutex.cpp: No such file or directory. Thread 645 (Thread 0x94affb40 (LWP 21434)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb48cdbbd in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0 #3 0xb48bc4fe in pa_mainloop_poll () from /usr/lib/i386-linux-gnu/libpulse.so.0 #4 0xb48bcd2d in pa_mainloop_iterate () from /usr/lib/i386-linux-gnu/libpulse.so.0 #5 0xb48bce04 in pa_mainloop_run () from /usr/lib/i386-linux-gnu/libpulse.so.0 #6 0xb48cdb5c in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0 #7 0xb1dfa4bd in ?? () from /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so #8 0xb5da9d78 in start_thread (arg=0x94affb40) at pthread_create.c:311 #9 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 644 (Thread 0x95bccb40 (LWP 21433)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa4b8c420, mutex=0xa4b8c408) at forward.c:149 #3 0xaca278a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.5 #4 0xaca02e41 in block_FifoGet () from /usr/lib/libvlccore.so.5 #5 0xac9b548e in ?? () from /usr/lib/libvlccore.so.5 #6 0xb5da9d78 in start_thread (arg=0x95bccb40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 642 (Thread 0x96006b40 (LWP 21431)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dadc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250 #2 0xb60d4a14 in __pthread_cond_timedwait (cond=0xc855e84, mutex=0xc855e6c, abstime=0x960061f8) at forward.c:162 #3 0xaca278f8 in vlc_cond_timedwait () from /usr/lib/libvlccore.so.5 #4 0xac9ca761 in ?? () from /usr/lib/libvlccore.so.5 #5 0xac9cb6ac in ?? () from /usr/lib/libvlccore.so.5 #6 0xb5da9d78 in start_thread (arg=0x96006b40) at pthread_create.c:311 #7 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 17 (Thread 0x902fdb40 (LWP 28511)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xa258a7dc, mutex=0xa258a7c4) at forward.c:149 #3 0xb403bae3 in WTF::ThreadCondition::wait(WTF::Mutex&) () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #4 0xb3d17744 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #5 0xb4022866 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #6 0xb403b459 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #7 0xb5da9d78 in start_thread (arg=0x902fdb40) at pthread_create.c:311 #8 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 13 (Thread 0xa0b31b40 (LWP 28470)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb52d08d0, mutex=0xb52d08b8) at forward.c:149 #3 0xb51cdef2 in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #4 0xb51cdf3f in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #5 0xb5da9d78 in start_thread (arg=0xa0b31b40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 12 (Thread 0xa18feb40 (LWP 28468)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0x89ce4b0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa18fe258, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa18fe258, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8acdc38) at thread/qthread.cpp:542 #9 0xb62d6f8b in QThread::run (this=0x8acdc38) at thread/qthread.cpp:609 #10 0xb62d972f in QThreadPrivate::start (arg=0x8acdc38) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa18feb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 11 (Thread 0xa20ffb40 (LWP 28466)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60bef41 in select () at ../sysdeps/unix/syscall-template.S:81 #2 0xb63c4a80 in QProcessManager::run (this=0xb6555d90 <processManager()::processManager>) at io/qprocess_unix.cpp:245 #3 0xb62d972f in QThreadPrivate::start (arg=0xb6555d90 <processManager()::processManager>) at thread/qthread_unix.cpp:338 #4 0xb5da9d78 in start_thread (arg=0xa20ffb40) at pthread_create.c:311 #5 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 10 (Thread 0xa2e1eb40 (LWP 28464)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb4886d90, mutex=0xb4886d78) at forward.c:149 #3 0xb400ca7c in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #4 0xb400cacf in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4 #5 0xb5da9d78 in start_thread (arg=0xa2e1eb40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 9 (Thread 0xa361fb40 (LWP 28463)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188df in QEventDispatcherGlib::processEvents (this=0xa55022f8, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa361f228, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa361f228, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x8ae1ba8) at thread/qthread.cpp:542 #9 0xb63c7e14 in QInotifyFileSystemWatcherEngine::run (this=0x8ae1ba8) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb62d972f in QThreadPrivate::start (arg=0x8ae1ba8) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa361fb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 8 (Thread 0xa4150b40 (LWP 28462)): #0 0xabe15eb2 in my_pread () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #1 0xabe788de in mi_nommap_pread () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #2 0xac0d8e23 in _mi_read_static_record () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #3 0xabe93727 in mi_rnext () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #4 0xabe73ee4 in ha_myisam::index_next(unsigned char*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #5 0xabdf3150 in handler::read_range_next() () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #6 0xabdec957 in handler::read_multi_range_next(st_key_multi_range**) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #7 0xac0486eb in QUICK_RANGE_SELECT::get_next() () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #8 0xac01ade5 in rr_quick(READ_RECORD*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #9 0xabf8f77e in sub_select(JOIN*, st_join_table*, bool) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #10 0xabf9a548 in do_select(JOIN*, List<Item>*, TABLE*, Procedure*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #11 0xabfaa19f in JOIN::exec() () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #12 0xabfa5a6b in mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #13 0xabfa6258 in handle_select(THD*, LEX*, select_result*, unsigned long) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #14 0xabfdc1f2 in execute_sqlcom_select(THD*, TABLE_LIST*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #15 0xabfe099e in mysql_execute_command(THD*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #16 0xabfe4a3b in mysql_parse(THD*, char*, unsigned int, Parser_state*) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #17 0xabfe65b6 in dispatch_command(enum_server_command, THD*, char*, unsigned int) () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #18 0xabd27433 in emb_advanced_command () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #19 0xabd17efb in mysql_send_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #20 0xabd17f3c in mysql_real_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #21 0xabd1e030 in mysql_query () from /home/robert/kde/lib/kde4/amarok_collection-mysqlecollection.so #22 0xabd0f8dc in MySqlStorage::query (this=0x8118870, statement=...) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/mysql-shared/MySqlStorage.cpp:125 #23 0xabb1caa8 in Collections::SqlQueryMakerInternal::run (this=0xc680b88) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMakerInternal.cpp:47 #24 0xabb1a464 in SqlWorkerThread::run (this=0xb617d18) at /home/robert/devel/amarok/src/core-impl/collections/db/sql/SqlQueryMaker.cpp:65 #25 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa4150248, th=0x87a7620, job=job@entry=0xb617d18) at ../../../threadweaver/Weaver/Job.cpp:106 #26 0xb5779bc5 in ThreadWeaver::Job::execute (this=0xb617d18, th=0x87a7620) at ../../../threadweaver/Weaver/Job.cpp:135 #27 0xb5779314 in ThreadWeaver::Thread::run (this=0x87a7620) at ../../../threadweaver/Weaver/Thread.cpp:108 #28 0xb62d972f in QThreadPrivate::start (arg=0x87a7620) at thread/qthread_unix.cpp:338 #29 0xb5da9d78 in start_thread (arg=0xa4150b40) at pthread_create.c:311 #30 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 7 (Thread 0xa4951b40 (LWP 28461)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0xb556c48, mutex=0xb556c30) at forward.c:149 #3 0xb62d9ca5 in wait (time=4294967295, this=0xb556c30) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0xaac26e0, mutex=0xaac26dc, time=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb73ac84b in Dynamic::BiasSolver::matchingTracks (this=0xaac26b8, playlist=...) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:261 #6 0xb73ac346 in Dynamic::BiasSolver::addTracks (this=0xaac26b8, list=0xa495117c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:177 #7 0xb73ac429 in Dynamic::BiasSolver::addTracks (this=0xaac26b8, list=0xa495117c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:192 #8 0xb73ac199 in Dynamic::BiasSolver::run (this=0xaac26b8) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:157 #9 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa4951248, th=0x87a3f40, job=job@entry=0xaac26b8) at ../../../threadweaver/Weaver/Job.cpp:106 #10 0xb5779bc5 in ThreadWeaver::Job::execute (this=0xaac26b8, th=0x87a3f40) at ../../../threadweaver/Weaver/Job.cpp:135 #11 0xb5779314 in ThreadWeaver::Thread::run (this=0x87a3f40) at ../../../threadweaver/Weaver/Thread.cpp:108 #12 0xb62d972f in QThreadPrivate::start (arg=0x87a3f40) at thread/qthread_unix.cpp:338 #13 0xb5da9d78 in start_thread (arg=0xa4951b40) at pthread_create.c:311 #14 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 6 (Thread 0xa54ffb40 (LWP 28460)): #0 QMutex::lock (this=0x18) at thread/qmutex.cpp:150 #1 0xb57799d7 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa54ff248, th=0x861f720, job=job@entry=0x96745c8) at ../../../threadweaver/Weaver/Job.cpp:108 #2 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x96745c8, th=0x861f720) at ../../../threadweaver/Weaver/Job.cpp:135 #3 0xb5779314 in ThreadWeaver::Thread::run (this=0x861f720) at ../../../threadweaver/Weaver/Thread.cpp:108 #4 0xb62d972f in QThreadPrivate::start (arg=0x861f720) at thread/qthread_unix.cpp:338 #5 0xb5da9d78 in start_thread (arg=0xa54ffb40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 5 (Thread 0xa5edeb40 (LWP 28458)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188bf in QEventDispatcherGlib::processEvents (this=0xa5500468, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #6 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xa5ede228, flags=...) at kernel/qeventloop.cpp:149 #7 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xa5ede228, flags=...) at kernel/qeventloop.cpp:204 #8 0xb62d6e3d in QThread::exec (this=this@entry=0x85275e0) at thread/qthread.cpp:542 #9 0xb63c7e14 in QInotifyFileSystemWatcherEngine::run (this=0x85275e0) at io/qfilesystemwatcher_inotify.cpp:265 #10 0xb62d972f in QThreadPrivate::start (arg=0x85275e0) at thread/qthread_unix.cpp:338 #11 0xb5da9d78 in start_thread (arg=0xa5edeb40) at pthread_create.c:311 #12 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 4 (Thread 0xa7508b40 (LWP 28457)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dadc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250 #2 0xb60d4a14 in __pthread_cond_timedwait (cond=0x8525c90, mutex=0x8525c78, abstime=0xa7508138) at forward.c:162 #3 0xb62d9c83 in wait (time=60000, this=0x8525c78) at thread/qwaitcondition_unix.cpp:84 #4 QWaitCondition::wait (this=0x845a568, mutex=0x845a564, time=60000) at thread/qwaitcondition_unix.cpp:158 #5 0xb744a0a5 in AbstractDirectoryWatcher::run (this=0x845a550) at /home/robert/devel/amarok/src/scanner/AbstractDirectoryWatcher.cpp:65 #6 0xb57799c9 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0xa7508248, th=0x84a2690, job=job@entry=0x845a550) at ../../../threadweaver/Weaver/Job.cpp:106 #7 0xb5779bc5 in ThreadWeaver::Job::execute (this=0x845a550, th=0x84a2690) at ../../../threadweaver/Weaver/Job.cpp:135 #8 0xb5779314 in ThreadWeaver::Thread::run (this=0x84a2690) at ../../../threadweaver/Weaver/Thread.cpp:108 #9 0xb62d972f in QThreadPrivate::start (arg=0x84a2690) at thread/qthread_unix.cpp:338 #10 0xb5da9d78 in start_thread (arg=0xa7508b40) at pthread_create.c:311 #11 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 2 (Thread 0xac645b40 (LWP 28453)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb5dad84b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb60d49bc in __pthread_cond_wait (cond=0x84883a4, mutex=0x848838c) at forward.c:149 #3 0xaca278a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.5 #4 0xac99db41 in ?? () from /usr/lib/libvlccore.so.5 #5 0xb5da9d78 in start_thread (arg=0xac645b40) at pthread_create.c:311 #6 0xb60c701e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131 Thread 1 (Thread 0xaf533b00 (LWP 28435)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb60b7a0b in poll () at ../sysdeps/unix/syscall-template.S:81 #2 0xb4d12a4b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4d03b68 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb4d03ca8 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb64188bf in QEventDispatcherGlib::processEvents (this=this@entry=0x8055ec0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #6 0xb674532e in QGuiEventDispatcherGlib::processEvents (this=0x8055ec0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #7 0xb63e79f3 in QEventLoop::processEvents (this=this@entry=0xbfffedb8, flags=...) at kernel/qeventloop.cpp:149 #8 0xb63e7d19 in QEventLoop::exec (this=this@entry=0xbfffedb8, flags=...) at kernel/qeventloop.cpp:204 #9 0xb63ed89e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218 #10 0xb668e974 in QApplication::exec () at kernel/qapplication.cpp:3828 #11 0x0804f3a6 in main (argc=3, argv=0xbfffef64) at /home/robert/devel/amarok/src/main.cpp:329
The latest output shows no debugging symbols for Amarok, did you compile it with debugging enabled?
I think so, last time I did a cmake (looking at my .bash_history) I have cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde -DCMAKE_BUILD_TYPE=debugfull $HOME/devel/amarok Which bit of the bt are you referring to, eg in thread 7 I see #6 0xb73ac346 in Dynamic::BiasSolver::addTracks (this=0xaac26b8, list=0xa495117c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:177 which looks as if -g was applied?
(In reply to comment #11) > I think so, last time I did a cmake (looking at my .bash_history) I have > cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde -DCMAKE_BUILD_TYPE=debugfull > $HOME/devel/amarok > Which bit of the bt are you referring to, eg in thread 7 I see > > #6 0xb73ac346 in Dynamic::BiasSolver::addTracks (this=0xaac26b8, > list=0xa495117c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:177 > > which looks as if -g was applied? nvm, my bad, I was looking at thread 8 and 6 where there are no line numbers
Created attachment 87064 [details] New crash information added by DrKonqi amarok (2.8.0) on KDE Platform 4.12.5 using Qt 4.8.6 - What I was doing when the application crashed: Playing a dynamic playlist and told it to stop on a track when it ws done playing. -- Backtrace (Reduced): #6 0x0000003983a0c964 in ThreadWeaver::Job::setFinished (this=0x3c76420, status=false) at /usr/src/debug/kdelibs-4.12.5/threadweaver/Weaver/Job.cpp:232 #7 0x0000003983a0ca42 in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f195cff8c90, th=th@entry=0x7f1954024ae0, job=job@entry=0x3c76420) at /usr/src/debug/kdelibs-4.12.5/threadweaver/Weaver/Job.cpp:106 #8 0x0000003983a0cc2e in ThreadWeaver::Job::execute (this=0x3c76420, th=0x7f1954024ae0) at /usr/src/debug/kdelibs-4.12.5/threadweaver/Weaver/Job.cpp:135 #9 0x0000003983a0c40b in ThreadWeaver::Thread::run (this=0x7f1954024ae0) at /usr/src/debug/kdelibs-4.12.5/threadweaver/Weaver/Thread.cpp:108 #10 0x000000397627c6bf in QThreadPrivate::start (arg=0x7f1954024ae0) at thread/qthread_unix.cpp:349
Do we have steps how to reproduce this reliably? Not sure the backtraces are really helpful.
For me it's what I put in my crash: Playing a dynamic playlist and told it to stop on a track when it was done playing.
But - at least for me - it's not reliably replicable - I get a spate of crashes and then it doesn't happen again for maybe a week in spite of my often getting it to stop at the end of a track when dynamic playlist is active. It suggests it's something to do with the track that dynamic playlist is about to add (I use lastplayed > 6m) but being random replicating is hard. Is there any benefit to looking at variable contents within gdb when the crash has happened - or is it likely that there's been some memory corruption some time before?
(In reply to comment #15) > For me it's what I put in my crash: Playing a dynamic playlist and told it > to stop on a track when it was done playing. That is the problem: it never crashes for me, even after trying for about 10 times. Using Amarok from git v2.8.0-339-g411509d
(In reply to comment #16) > But - at least for me - it's not reliably replicable - I get a spate of > crashes and then it doesn't happen again for maybe a week in spite of my > often getting it to stop at the end of a track when dynamic playlist is > active. It suggests it's something to do with the track that dynamic > playlist is about to add (I use lastplayed > 6m) but being random > replicating is hard. > > Is there any benefit to looking at variable contents within gdb when the > crash has happened - or is it likely that there's been some memory > corruption some time before? We already have the necessary backtraces, the problem is to replicate the bug reliably, and that simply doesn't happen here. I have yet to see a crash happen when I stop after a track in a dynamic playlist or when I add a track to a dynamic playlist that is running.
I was really asking for pointers to likely suspect variables once I have a crashed amarok in gdb so I can do some debugging. Will see if anything leaps out at me. I've had 2 crashes this morning which I *think* maybe the same problem, where I removed an album (the same album) from the playlist while amarok was playing (*without* stop at end of track being active) and dynamic playlist was active. Inevitably the 3rd time I tried it it didn't crash :-( Something to do with a track being added to the playlist at an 'unexpected' time? In case it's relevant I have 'start playing when tracks are added to playlist' unselected.
My suggestion as to where the bug lies here is that if the dynamic playlist is unable to provide the next track and stop at end of track is active then it is more likely (but not always?) to crash. I had a dynamic playlist which was likely to block (yes I know why it was doing so!) and I've changed it so that it is less likely to block and *it seems* that crashes are rarer. My original dyn playlist was Match all not Genre:"Opera" and Match sequentially The next track from the album else Search for: tracknumber:1 and lastplay:>6m This blocks when one track from the album has been played more recently than 6 months and the earlier ones haven't (yes I need to fix that sometime by changing the logic of my playlist...) Eric do you have dyn playlists that block - because amarok can't find a track which satisfies the conditions? And are the crashes in places where that may have happened? Myriam do you have dyn playlists which keep on providing candidate tracks and don't block?
I do have playlists like that, but my crashes were not from one of those.
Sorry to pick this up so late: I use a very basic dynamic playlist, asking for random tracks to be fed that have a rating above 3, no genre restriction. So far I haven't been able to reproduce any of these crashes. Maybe a hardware related issue? My system runs on an ssd, and the tracks are on an external USB 3.0 hard disk, so over all it is all rather fast access. My thinking is that maybe some access delay to a track could be causing the crash?
My guess is that corruption is happening somewhere before the crash location so here's the output of running with -d from where I removed a track from the playlist - which forced the generation of an additional track from the dynamic playlist. Just in case it's of assistance! Is the amarok: [WARNING] [Bias] Received more results than expected. of significance? I sometimes see when a track is removed from the playlist (by one scrolling off the top) the number of tracks shoot up and then come down again when the next (just one!) dynamically added track is added amarok: BEGIN: virtual void Playlist::PrettyListView::contextMenuEvent(QContextMenuEvent*) amarok: BEGIN: void Playlist::ViewCommon::trackMenu(QWidget*, const QModelIndex*, const QPoint&) amarok: BEGIN: void Playlist::Controller::removeRows(QList<int>&) amarok: BEGIN: virtual void Playlist::RemoveTracksCmd::redo() amarok: BEGIN: void Playlist::Model::removeTracksCommand(const RemoveCmdList&) amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: END__: void Playlist::Model::removeTracksCommand(const RemoveCmdList&) [Took: 0s] amarok: END__: virtual void Playlist::RemoveTracksCmd::redo() [Took: 0.001s] amarok: END__: void Playlist::Controller::removeRows(QList<int>&) [Took: 0.001s] amarok: END__: void Playlist::ViewCommon::trackMenu(QWidget*, const QModelIndex*, const QPoint&) [Took: 1.1s] amarok: END__: virtual void Playlist::PrettyListView::contextMenuEvent(QContextMenuEvent*) [Took: 1.1s] amarok: BEGIN: void Dynamic::BiasedPlaylist::startSolver(int) amarok: [BiasedPlaylist] BiasedPlaylist in: 2925160256 amarok: [BiasedPlaylist] assigning new m_solver amarok: [BiasSolver] CREATING BiasSolver in thread: 2925160256 to get 2 tracks with 46 context amarok: BEGIN: virtual void Dynamic::BiasSolver::run() amarok: [BiasSolver] BiasSolver::run in thread: 2657389376 amarok: [BiasSolver] waiting for collection results amarok: [BiasedPlaylist] called prepareToRun amarok: END__: void Dynamic::BiasedPlaylist::startSolver(int) [Took: 0.051s] amarok: [BiasSolver] collection has 16637 uids amarok: [BiasSolver] generating playlist amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 QTimeLine::start: already running amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: [TagMatchBias] SimpleMatchBias:: "tagMatchBias" updateFinished 16119 amarok: [WARNING] [Bias] Received more results than expected. amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: [TagMatchBias] SimpleMatchBias:: "tagMatchBias" updateFinished 16 amarok: [TagMatchBias] SimpleMatchBias:: "tagMatchBias" updateFinished 1060 amarok: [WARNING] [Bias] Received more results than expected. amarok: BEGIN: virtual void Dynamic::SearchQueryBias::newQuery() amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 1.4s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0s] amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 1.5s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.003s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.003s] amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.02s] amarok: END__: virtual void Dynamic::SearchQueryBias::newQuery() [Took: 0.068s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.033s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.026s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.004s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.001s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.001s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.019s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0s] amarok: [TagMatchBias] SimpleMatchBias:: "searchQueryBias" updateFinished 1490 amarok: Fatal IO error: client killed amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xa9e0890
Do you still see these crashes?
Most recently did not crash my system. Will let you know if that changes.
Robert, how about you? Would be nice if I could close this one, as I am preparing for an Amarok 2.9.0 release in a few days
I'd stopped using 'Stop playing after this track' because of its potential to crash (or nearly so). I've being trying it again fro the last week I've had a crash but it didn't quite fit the pattern. I think it can be closed will see if I can get a better fix on it with 2.9.0 Is the warning I posted back in october ' [WARNING] [Bias] Received more results than expected.' likely to be a crash precursor or is that situation well handled once it occurs?
(In reply to robert marshall from comment #27) > I'd stopped using 'Stop playing after this track' because of its potential > to crash (or nearly so). I've being trying it again fro the last week I've > had a crash but it didn't quite fit the pattern. I think it can be closed > will see if I can get a better fix on it with 2.9.0 > Is the warning I posted back in october ' [WARNING] [Bias] Received more > results than expected.' likely to be a crash precursor or is that situation > well handled once it occurs? I have no idea, it doesn't crash for me when I listen to my podcasts (downloaded ones), and I use this quite frequently. Mind you, there were changes to the code since October, the database has been worked on repeatedly in December.
Robert, can you still reproduce this? I use the "Stop after this track" feature very frequently and haven't seen a crash.
Yes I'm still seeing crashes. I think the 'stop at end of track' part is a red herring, my understanding of how to produce a crash is as follows: - set dynamic playlist active - see that the playlist contains tracks where there's a companion track (eg I've have lots of preludes & fugues, dyn playlist chooses the prelude but not the fugue) that isn't there so I drag it out of the collection (while amarok is playing) into the middle of the playlist next to the associated track. - there's now more tracks in the playlist than specified in the settings so after the current track dynamic playlist doesn't add a track to the end of the playlist - after the next track the length is back to the expected length and at this point amarok is very liable to crash - I think the dyn playlist needs to be fairly complex, I tried with a simple one and couldn't generate a crash. Is pasting/attaching a dynamic playlist to the bug report likely to be helpful? I think all the above is mentioned in the various updates though (IMHO) the bug title is wrong, I suggest 'and asked to stop at the end of a track' be removed from the title?
Could you also provide a recent backtrace? Since there were database updates in January it might be helpful
I've managed to replicate this 4 times this evening, in each case the stack was trashed, crash handler just said Application: Amarok (amarok), signal: Segmentation fault run under gdb with same result. I can't narrow down precisely what causes it, but with dynamic playlist active I dragged a track to the end of the playlist, added a few more tracks (dragged again) then added a track (dragged twice) and then removed the first of those duplicated tracks. At this point amarok crashes. In some cases I had to repeat this a few times to get the crash. the dynamic playlist only attempts to add a new track at the point where I do the attempted removal The last few lines of debug output say amarok: [WARNING] TrackSet::subtract called for a track not even known to the collection. Track uid is "file:///home/robert/Music/EMusic/Kit%20&%20The%20Widow/Les%20Enfants%20Du%20Parody%20(Lite)/Kit%20&%20The%20Widow_06_Nuts%20in%20Brazil.mp3" example from collection "amarok-sqltrackuid://8b04f17e55baa36645940bc43ec58e33" track is from collection "no collection" amarok: [WARNING] TrackSet::subtract called for a track not even known to the collection. Track uid is "file:///home/robert/Music/EMusic/Kit%20&%20The%20Widow/Les%20Enfants%20Du%20Parody%20(Lite)/7.%20Dog%20On%20a%20String.mp3" example from collection "amarok-sqltrackuid://8b04f17e55baa36645940bc43ec58e33" track is from collection "no collection" amarok: [WARNING] TrackSet::subtract called for a track not even known to the collection. Track uid is "file:///home/robert/Music/My%20eMusic/Kit%20&%20The%20Widow/Les%20Enfants%20Du%20Parody%20(Lite)/14.%20The%20Food%20Chain.mp3" example from collection "amarok-sqltrackuid://8b04f17e55baa36645940bc43ec58e33" track is from collection "no collection" amarok: [WARNING] TrackSet::subtract called for a track not even known to the collection. Track uid is "file:///home/robert/Music/EMusic/Peter%20Frankl/Schumann%20Piano%20Music%20(Complete),%20Volume%20I/Peter%20Frankl_85_Album%20for%20the%20Young,%20Op.%2068%20(%20Album%20f%C3%BCr%20die%20Jugend%20)%20-%20Part%20Two%20F%C3%BCr%20Erwachsenere%20XXXVIII.%20Winter%20Time%20I%20(%20Winterzeit%20I%20).mp3" example from collection "amarok-sqltrackuid://8b04f17e55baa36645940bc43ec58e33" track is from collection "no collection" amarok: [WARNING] TrackSet::subtract called for a track not even known to the collection. Track uid is "file:///home/robert/Music/EMusic/Peter%20Frankl/Schumann%20Piano%20Music%20(Complete),%20Volume%20I/Peter%20Frankl_85_Album%20for%20the%20Young,%20Op.%2068%20(%20Album%20f%C3%BCr%20die%20Jugend%20)%20-%20Part%20Two%20F%C3%BCr%20Erwachsenere%20XXXVIII.%20Winter%20Time%20I%20(%20Winterzeit%20I%20).mp3" example from collection "amarok-sqltrackuid://8b04f17e55baa36645940bc43ec58e33" track is from collection "no collection" amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: BEGIN: virtual void Dynamic::SearchQueryBias::newQuery() amarok: END__: virtual void Dynamic::SearchQueryBias::newQuery() [Took: 0.001s] amarok: [Bias] universe: 0xbf82ad8 amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.01s] amarok: BEGIN: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const amarok: [Bias] universe: 0xbf82ad8 amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.001s] amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.013s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.003s] amarok: BEGIN: virtual void Dynamic::TagMatchBias::newQuery() amarok: END__: virtual void Dynamic::TagMatchBias::newQuery() [Took: 0.001s] amarok: END__: virtual Dynamic::TrackSet Dynamic::AndBias::matchingTracks(const TrackList&, int, int, Dynamic::TrackCollectionPtr) const [Took: 0.11s] KCrash: Application 'amarok' crashing... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/robert/.kde/socket-poulenc/kdeinit4__0 Unable to start Dr. Konqi Re-raising signal for Apport handling. I'm not sure why it claims the track I'm removing isn't known to the collection (though is this dynamic playlist attempting to remove this track on scrolling upwards (and the output is caused by bug https://bugs.kde.org/show_bug.cgi?id=343956 ) the track I was adding twice and then removing (one) is file:///home/robert/Music/EMusic/Peter%20Frankl/Schumann%20Piano%20Music%20(Complete),%20Volume%20I/Peter%20Frankl_85_Album%20for%20the%20Young,%20Op.%2068%20(%20Album%20f%C3%BCr%20die%20Jugend%20)%20-%20Part%20Two%20F%C3%BCr%20Erwachsenere%20XXXVIII.%20Winter%20Time%20I%20(%20Winterzeit%20I%20).mp3
Created attachment 92377 [details] the playlist this playlist often blocks (I realise why!) which maybe is the provoker of the crash?
Thanks for the analysis. Will have a look when I have time.
setting status correctly.
Thank you for the crash report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
I'm still seeing this - maybe I need to give it a new traceback as it was reported against a rather elderly version!
This feels like something that might have gotten fixed by the various querymaker changes during the last months. Have you experienced this with 3.1.71-git (=after late October)?
I've not seen this crash for ages, I think it can be closed!
(In reply to robert marshall from comment #39) > I've not seen this crash for ages, I think it can be closed! Thank you for the swift response - closing!