Bug 255678 - JuK crashes when closed during reading Music Folder
Summary: JuK crashes when closed during reading Music Folder
Status: RESOLVED FIXED
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: 3.5
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-30 18:22 UTC by spielmail
Modified: 2013-07-14 18:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.11
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description spielmail 2010-10-30 18:22:33 UTC
Application: juk (3.5)
KDE Platform Version: 4.5.2 (KDE 4.5.2)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-22-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
What I was doing when the application crashed:

I closed JuK just seconds after I started it while it was still reading in my music folder. Then it crashed.

-- Backtrace:
Application: JuK (juk), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7756730 (LWP 2001))]

Thread 11 (Thread 0xb45e5b70 (LWP 2002)):
#0  0x002cb3eb in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x06811f76 in pthread_mutex_lock () from /lib/libc.so.6
#2  0x042833f1 in ?? () from /lib/libglib-2.0.so.0
#3  0x04283848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x0892059f in QEventDispatcherGlib::processEvents (this=0x98b5f18, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#5  0x088f0609 in QEventLoop::processEvents (this=0xb45e5270, flags=) at kernel/qeventloop.cpp:149
#6  0x088f0a8a in QEventLoop::exec (this=0xb45e5270, flags=...) at kernel/qeventloop.cpp:201
#7  0x087ecb7e in QThread::exec (this=0x98b5a40) at thread/qthread.cpp:490
#8  0x088cf35b in QInotifyFileSystemWatcherEngine::run (this=0x98b5a40) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x087efdf9 in QThreadPrivate::start (arg=0x98b5a40) at thread/qthread_unix.cpp:266
#10 0x002c8cc9 in start_thread () from /lib/libpthread.so.0
#11 0x068046ae in clone () from /lib/libc.so.6

Thread 10 (Thread 0xaf21ab70 (LWP 2003)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x002cd884 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x06811e04 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0x07436b3f in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 9 (Thread 0xaea19b70 (LWP 2004)):
#0  0x095d0e36 in clock_gettime () from /lib/librt.so.1
#1  0x0884b50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x089226e5 in QTimerInfoList::updateCurrentTime (this=0x99fb884) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0892272a in QTimerInfoList::timerWait (this=0x99fb884, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x089207a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xaea1908c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0892083d in timerSourcePrepare (source=0x0, timeout=0x95d4ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x04282e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x04283279 in ?? () from /lib/libglib-2.0.so.0
#9  0x04283848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0892059f in QEventDispatcherGlib::processEvents (this=0x9992428, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x088f0609 in QEventLoop::processEvents (this=0xaea19260, flags=) at kernel/qeventloop.cpp:149
#12 0x088f0a8a in QEventLoop::exec (this=0xaea19260, flags=...) at kernel/qeventloop.cpp:201
#13 0x087ecb7e in QThread::exec (this=0x998f548) at thread/qthread.cpp:490
#14 0x0362f81a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#15 0x087efdf9 in QThreadPrivate::start (arg=0x998f548) at thread/qthread_unix.cpp:266
#16 0x002c8cc9 in start_thread () from /lib/libpthread.so.0
#17 0x068046ae in clone () from /lib/libc.so.6

Thread 8 (Thread 0xae218b70 (LWP 2005)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x067f5de6 in poll () from /lib/libc.so.6
#2  0x00bb0562 in ?? () from /usr/lib/libpulse.so.0
#3  0x00b9cab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#4  0x00b9ea73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#5  0x00b9eb44 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#6  0x00bb0303 in ?? () from /usr/lib/libpulse.so.0
#7  0x0208bbd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#8  0x002c8cc9 in start_thread () from /lib/libpthread.so.0
#9  0x068046ae in clone () from /lib/libc.so.6

Thread 7 (Thread 0xa9a16b70 (LWP 2006)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x002cd4dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x06811dad in pthread_cond_wait () from /lib/libc.so.6
#3  0x07448b54 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 6 (Thread 0xa90ffb70 (LWP 2007)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x002cd4dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x06811dad in pthread_cond_wait () from /lib/libc.so.6
#3  0x07448b54 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 0xa88feb70 (LWP 2008)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x002cd884 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x06811e04 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0x07436b3f in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 0xa80fdb70 (LWP 2009)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x067f5de6 in poll () from /lib/libc.so.6
#2  0x00bb0562 in ?? () from /usr/lib/libpulse.so.0
#3  0x00b9cab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#4  0x00b9ea73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#5  0x00b9eb44 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#6  0x00bb0303 in ?? () from /usr/lib/libpulse.so.0
#7  0x0208bbd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#8  0x002c8cc9 in start_thread () from /lib/libpthread.so.0
#9  0x068046ae in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa36ffb70 (LWP 2010)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x002cd4dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x06811dad in pthread_cond_wait () from /lib/libc.so.6
#3  0x07448b54 in ?? () from /usr/lib/libxine.so.1
#4  0x00000000 in ?? ()

Thread 2 (Thread 0xa2cffb70 (LWP 2011)):
#0  0x00df9416 in __kernel_vsyscall ()
#1  0x002cd4dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x06811dad in pthread_cond_wait () from /lib/libc.so.6
#3  0x07448b54 in ?? () from /usr/lib/libxine.so.1
#4  0x00000000 in ?? ()

Thread 1 (Thread 0xb7756730 (LWP 2001)):
[KCrash Handler]
#7  0x00000002 in ?? ()
#8  0x080cb388 in Playlist::addFile (this=0x9918408, file=..., files=..., importPlaylists=false, after=0xbfe7ade8) at ../../juk/playlist.cpp:1846
#9  0x080cb611 in Playlist::addFile (this=0x9918408, file=..., files=..., importPlaylists=false, after=0xbfe7ade8) at ../../juk/playlist.cpp:1902
#10 0x080cb611 in Playlist::addFile (this=0x9918408, file=..., files=..., importPlaylists=true, after=0xbfe7ade8) at ../../juk/playlist.cpp:1902
#11 0x080cbbe9 in Playlist::addFiles (this=0x9918408, files=..., after=0xa0e6530) at ../../juk/playlist.cpp:1355
#12 0x080732e0 in CollectionList::slotNewItems (this=0x9918408, items=...) at ../../juk/collectionlist.cpp:161
#13 0x080e4f26 in slotNewItems (this=0x9902398, _c=QMetaObject::InvokeMetaMethod, _id=31, _a=0xbfe7af48) at ../../juk/playlistcollection.h:266
#14 PlaylistCollection::ActionHandler::qt_metacall (this=0x9902398, _c=QMetaObject::InvokeMetaMethod, _id=31, _a=0xbfe7af48) at ./playlistcollection.moc:155
#15 0x088f78ca in QMetaObject::metacall (object=0x9902398, cl=QMetaObject::InvokeMetaMethod, idx=35, argv=0xbfe7af48) at kernel/qmetaobject.cpp:237
#16 0x0890a6ad in QMetaObject::activate (sender=0x98d4d18, m=0x618b9c, local_signal_index=9, argv=0xa0af4c0) at kernel/qobject.cpp:3280
#17 0x00481443 in KDirLister::newItems (this=0x98d4d18, _t1=...) at ./kdirlister.moc:267
#18 0x00482597 in KDirLister::Private::emitItems (this=0x99017e8) at ../../kio/kio/kdirlister.cpp:2370
#19 0x0048a195 in KDirListerCache::slotEntries (this=0x9901848, job=0x9912230, entries=...) at ../../kio/kio/kdirlister.cpp:1161
#20 0x00496d16 in KDirListerCache::qt_metacall (this=0x9901848, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0xbfe7b214) at ./kdirlister_p.moc:104
#21 0x088f78ca in QMetaObject::metacall (object=0x9901848, cl=QMetaObject::InvokeMetaMethod, idx=11, argv=0xbfe7b214) at kernel/qmetaobject.cpp:237
#22 0x0890a6ad in QMetaObject::activate (sender=0x9912230, m=0x618000, local_signal_index=0, argv=0xa0af4c0) at kernel/qobject.cpp:3280
#23 0x004601d9 in KIO::ListJob::entries (this=0x9912230, _t1=0x9912230, _t2=...) at ./jobclasses.moc:835
#24 0x0046d14f in KIO::ListJobPrivate::slotListEntries (this=0x99122d0, list=...) at ../../kio/kio/job.cpp:2464
#25 0x0046d338 in KIO::ListJob::qt_metacall (this=0x9912230, _c=QMetaObject::InvokeMetaMethod, _id=46, _a=0xbfe7b428) at ./jobclasses.moc:821
#26 0x088f78ca in QMetaObject::metacall (object=0x9912230, cl=QMetaObject::InvokeMetaMethod, idx=46, argv=0xbfe7b428) at kernel/qmetaobject.cpp:237
#27 0x0890a6ad in QMetaObject::activate (sender=0x96a12e8, m=0x61a944, local_signal_index=6, argv=0xa0af4c0) at kernel/qobject.cpp:3280
#28 0x00522533 in KIO::SlaveInterface::listEntries (this=0x96a12e8, _t1=...) at ./slaveinterface.moc:185
#29 0x00525cd5 in KIO::SlaveInterface::dispatch (this=0x96a12e8, _cmd=106, rawdata=...) at ../../kio/kio/slaveinterface.cpp:193
#30 0x00522aa3 in KIO::SlaveInterface::dispatch (this=0x96a12e8) at ../../kio/kio/slaveinterface.cpp:91
#31 0x00515418 in KIO::Slave::gotInput (this=0x96a12e8) at ../../kio/kio/slave.cpp:347
#32 0x00515623 in KIO::Slave::qt_metacall (this=0x96a12e8, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbfe7b72c) at ./slave.moc:82
#33 0x088f78ca in QMetaObject::metacall (object=0x96a12e8, cl=QMetaObject::InvokeMetaMethod, idx=30, argv=0xbfe7b72c) at kernel/qmetaobject.cpp:237
#34 0x0890a6ad in QMetaObject::activate (sender=0x99215f0, m=0x617500, local_signal_index=0, argv=0xa0af4c0) at kernel/qobject.cpp:3280
#35 0x0042ef27 in KIO::Connection::readyRead (this=0x99215f0) at ./connection.moc:92
#36 0x0043128e in KIO::ConnectionPrivate::dequeue (this=0x994c450) at ../../kio/kio/connection.cpp:82
#37 0x004313be in KIO::Connection::qt_metacall (this=0x99215f0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x97ba368) at ./connection.moc:79
#38 0x088f78ca in QMetaObject::metacall (object=0x99215f0, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x97ba368) at kernel/qmetaobject.cpp:237
#39 0x08902df6 in QMetaCallEvent::placeMetaCall (this=0x9d7f640, object=0x99215f0) at kernel/qobject.cpp:534
#40 0x089046a2 in QObject::event (this=0x99215f0, e=0xbfe7ac8c) at kernel/qobject.cpp:1219
#41 0x0145dfdc in QApplicationPrivate::notify_helper (this=0x96a8000, receiver=0x99215f0, e=0x9d7f640) at kernel/qapplication.cpp:4396
#42 0x0146404e in QApplication::notify (this=0xbfe7cac0, receiver=0x99215f0, e=0x9d7f640) at kernel/qapplication.cpp:3798
#43 0x01152cfa in KApplication::notify (this=0xbfe7cac0, receiver=0x99215f0, event=0x9d7f640) at ../../kdeui/kernel/kapplication.cpp:310
#44 0x088f1b3b in QCoreApplication::notifyInternal (this=0xbfe7cac0, receiver=0x99215f0, event=0x9d7f640) at kernel/qcoreapplication.cpp:732
#45 0x088f4d8b in sendEvent (receiver=0x0, event_type=0, data=0x9680868) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#46 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9680868) at kernel/qcoreapplication.cpp:1373
#47 0x088f4f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#48 0x08920a74 in sendPostedEvents (s=0x96aa310) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#49 postEventSourceDispatch (s=0x96aa310) at kernel/qeventdispatcher_glib.cpp:277
#50 0x0427f855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#51 0x04283668 in ?? () from /lib/libglib-2.0.so.0
#52 0x04283848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#53 0x08920565 in QEventDispatcherGlib::processEvents (this=0x9680318, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#54 0x0151fbe5 in QGuiEventDispatcherGlib::processEvents (this=0x9680318, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#55 0x088f51e1 in QCoreApplication::processEvents (flags=) at kernel/qcoreapplication.cpp:924
#56 0x080c2b6b in processEvents () at ../../juk/playlist.cpp:2398
#57 0x080cb39d in Playlist::addFile (this=0x9918408, file=..., files=..., importPlaylists=false, after=0xbfe7c1e8) at ../../juk/playlist.cpp:1849
#58 0x080cb611 in Playlist::addFile (this=0x9918408, file=..., files=..., importPlaylists=false, after=0xbfe7c1e8) at ../../juk/playlist.cpp:1902
#59 0x080cb611 in Playlist::addFile (this=0x9918408, file=..., files=..., importPlaylists=true, after=0xbfe7c1e8) at ../../juk/playlist.cpp:1902
#60 0x080cbbe9 in Playlist::addFiles (this=0x9918408, files=..., after=0x0) at ../../juk/playlist.cpp:1355
#61 0x080dc159 in PlaylistCollection::scanFolders (this=0x98d4cfc) at ../../juk/playlistcollection.cpp:487
#62 0x080e5023 in slotScanFolders (this=0x9902398, _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0x9920e18) at ../../juk/playlistcollection.h:246
#63 PlaylistCollection::ActionHandler::qt_metacall (this=0x9902398, _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0x9920e18) at ./playlistcollection.moc:140
#64 0x088f78ca in QMetaObject::metacall (object=0x9902398, cl=QMetaObject::InvokeMetaMethod, idx=20, argv=0x9920e18) at kernel/qmetaobject.cpp:237
#65 0x08902df6 in QMetaCallEvent::placeMetaCall (this=0x9920d28, object=0x9902398) at kernel/qobject.cpp:534
#66 0x089046a2 in QObject::event (this=0x9902398, e=0xbfe7ac8c) at kernel/qobject.cpp:1219
#67 0x0145dfdc in QApplicationPrivate::notify_helper (this=0x96a8000, receiver=0x9902398, e=0x9920d28) at kernel/qapplication.cpp:4396
#68 0x0146404e in QApplication::notify (this=0xbfe7cac0, receiver=0x9902398, e=0x9920d28) at kernel/qapplication.cpp:3798
#69 0x01152cfa in KApplication::notify (this=0xbfe7cac0, receiver=0x9902398, event=0x9920d28) at ../../kdeui/kernel/kapplication.cpp:310
#70 0x088f1b3b in QCoreApplication::notifyInternal (this=0xbfe7cac0, receiver=0x9902398, event=0x9920d28) at kernel/qcoreapplication.cpp:732
#71 0x088f4d8b in sendEvent (receiver=0x0, event_type=0, data=0x9680868) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#72 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9680868) at kernel/qcoreapplication.cpp:1373
#73 0x088f4f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#74 0x08920a74 in sendPostedEvents (s=0x96aa310) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#75 postEventSourceDispatch (s=0x96aa310) at kernel/qeventdispatcher_glib.cpp:277
#76 0x0427f855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#77 0x04283668 in ?? () from /lib/libglib-2.0.so.0
#78 0x04283848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#79 0x08920565 in QEventDispatcherGlib::processEvents (this=0x9680318, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#80 0x0151fbe5 in QGuiEventDispatcherGlib::processEvents (this=0x9680318, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#81 0x088f0609 in QEventLoop::processEvents (this=0xbfe7ca24, flags=) at kernel/qeventloop.cpp:149
#82 0x088f0a8a in QEventLoop::exec (this=0xbfe7ca24, flags=...) at kernel/qeventloop.cpp:201
#83 0x088f500f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#84 0x0145ce07 in QApplication::exec () at kernel/qapplication.cpp:3672
#85 0x080b6953 in main (argc=5, argv=0xbfe7cd24) at ../../juk/main.cpp:94

Possible duplicates by query: bug 235028, bug 222121.

Reported using DrKonqi
Comment 1 Michael Pyne 2013-07-14 18:23:14 UTC
The crash itself doesn't seem to make much sense.

I believe the real problem is the 'processEvents' (frame #56 of the backtrace in the report), which restarts all event handling at the same time JuK is already handling 'file-added' events.

I am working on trying to rid JuK completely of these processEvents instances. Two commits are in JuK for KDE 4.11 (to be released soon), bf4df116a9c8a7ddd123575dd8307767a684e0e5 and d2dcd686bc4507c89ba1015a992992e4b5d393ad.

The first commit specifically removes the processEvents() call that indirectly leads to the crash in this case, so I believe this particular crash should be resolved. Please reopen if you are still able to reproduce with the KDE Software Compilation 4.11 release of JuK.