Bug 235796 - Amarok crashed while playing track [@ CompoundProgressBar::endProgressOperation]
Summary: Amarok crashed while playing track [@ CompoundProgressBar::endProgressOperation]
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Tools/Cover Manager (show other bugs)
Version: 2.3.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 237232 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-04-30 11:41 UTC by Leonardo La Malfa
Modified: 2010-05-28 23:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.3.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Leonardo La Malfa 2010-04-30 11:41:46 UTC
Application: amarok (2.3.0)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-21-generic i686
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
When I started Amarok today, it already showed a strange behaviour. I was sure to have started it a couple of minutes earlier, but when I searched it in the tray, there was no icon. So, I started it again, forgot about it, and again when I looked for it, it wasn't there. I started it again, this time I followed it, played a track, and after some minutes the sound stuttered, and the application crashed with this bug report.

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

Thread 21 (Thread 0xb47c8b70 (LWP 2021)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e342 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d49f4 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d22ce7 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 20 (Thread 0xb3fc7b70 (LWP 2022)):
#0  0x014c5e16 in clock_gettime () from /lib/tls/i686/cmov/librt.so.1
#1  0x034086fb in qt_gettime () at kernel/qcore_unix.cpp:111
#2  0x0340d825 in QTimerInfoList::updateCurrentTime (this=0x8695e44) at kernel/qeventdispatcher_unix.cpp:340
#3  0x0340d86a in QTimerInfoList::timerWait (this=0x8695e44, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#4  0x0340b818 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb3fc70ac) at kernel/qeventdispatcher_glib.cpp:136
#5  0x0569daca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#6  0x0569dee9 in ?? () from /lib/libglib-2.0.so.0
#7  0x0569e4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#8  0x0340b60f in QEventDispatcherGlib::processEvents (this=0x870ad50, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#9  0x033de059 in QEventLoop::processEvents (this=0xb3fc7270, flags=) at kernel/qeventloop.cpp:149
#10 0x033de4aa in QEventLoop::exec (this=0xb3fc7270, flags=...) at kernel/qeventloop.cpp:201
#11 0x032da5a8 in QThread::exec (this=0x8695050) at thread/qthread.cpp:487
#12 0x0247d96a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#13 0x032dd32e in QThreadPrivate::start (arg=0x8695050) at thread/qthread_unix.cpp:248
#14 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#15 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 19 (Thread 0xb35ffb70 (LWP 2025)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x006b7e2b in read () from /lib/tls/i686/cmov/libc.so.6
#2  0x01ea0de2 in ?? () from /usr/lib/libasound.so.2
#3  0x01e9db8d in snd_ctl_read () from /usr/lib/libasound.so.2
#4  0x01e99f4f in snd_hctl_handle_events () from /usr/lib/libasound.so.2
#5  0x01ea5dc1 in snd_mixer_handle_events () from /usr/lib/libasound.so.2
#6  0x06faead8 in ?? () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#7  0xb360053c in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 18 (Thread 0xb2bffb70 (LWP 2026)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d339ee in ?? () from /usr/lib/libxine.so.1
#4  0x00000000 in ?? ()

Thread 17 (Thread 0xb1fffb70 (LWP 2027)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d339ee in ?? () from /usr/lib/libxine.so.1
#4  0x00000000 in ?? ()

Thread 16 (Thread 0xb17feb70 (LWP 2028)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d339ee in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 15 (Thread 0xb0ffdb70 (LWP 2029)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d339ee in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 14 (Thread 0xb019bb70 (LWP 2031)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x006b9b86 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0x056ab4eb in g_poll () from /lib/libglib-2.0.so.0
#3  0x0569e0ac in ?? () from /lib/libglib-2.0.so.0
#4  0x0569e4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x0340b60f in QEventDispatcherGlib::processEvents (this=0xb36fc680, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#6  0x033de059 in QEventLoop::processEvents (this=0xb019b280, flags=) at kernel/qeventloop.cpp:149
#7  0x033de4aa in QEventLoop::exec (this=0xb019b280, flags=...) at kernel/qeventloop.cpp:201
#8  0x032da5a8 in QThread::exec (this=0x8e284c8) at thread/qthread.cpp:487
#9  0x033bdc1b in QInotifyFileSystemWatcherEngine::run (this=0x8e284c8) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x032dd32e in QThreadPrivate::start (arg=0x8e284c8) at thread/qthread_unix.cpp:248
#11 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 13 (Thread 0xae6fdb70 (LWP 2032)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb69839d7 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0xb6983a21 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6  0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 12 (Thread 0xadefcb70 (LWP 2033)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x032de287 in QWaitConditionPrivate::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x01211870 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8ec4400, th=0x8ec5998) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0121438c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ec5758, th=0x8ec5998) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0121027b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8ec4400, th=0x8ec5998) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x01214482 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8ec5998) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8ec5998, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8ec5998) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8ec5998, previous=0x8d80188) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x0121251e in ThreadWeaver::ThreadRunHelper::run (this=0xadefc2e4, parent=0x8ec4400, th=0x8ec5998) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0x01212c3b in ThreadWeaver::Thread::run (this=0x8ec5998) at ../../../threadweaver/Weaver/Thread.cpp:142
#14 0x032dd32e in QThreadPrivate::start (arg=0x8ec5998) at thread/qthread_unix.cpp:248
#15 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#16 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 11 (Thread 0xad6fbb70 (LWP 2034)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x032de287 in QWaitConditionPrivate::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x01211870 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8ec4400, th=0x8ec69f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0121438c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ec5758, th=0x8ec69f8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0121027b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8ec4400, th=0x8ec69f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x01214482 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8ec69f8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8ec69f8, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8ec69f8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8ec69f8, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8ec69f8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8ec69f8, previous=0xaa81ec8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0x0121251e in ThreadWeaver::ThreadRunHelper::run (this=0xad6fb2e4, parent=0x8ec4400, th=0x8ec69f8) at ../../../threadweaver/Weaver/Thread.cpp:87
#15 0x01212c3b in ThreadWeaver::Thread::run (this=0x8ec69f8) at ../../../threadweaver/Weaver/Thread.cpp:142
#16 0x032dd32e in QThreadPrivate::start (arg=0x8ec69f8) at thread/qthread_unix.cpp:248
#17 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#18 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 10 (Thread 0xaccffb70 (LWP 2035)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x032de287 in QWaitConditionPrivate::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x01211870 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8ec4400, th=0x8e85e70) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0121438c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ec5758, th=0x8e85e70) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0121027b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8ec4400, th=0x8e85e70) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x01214482 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8e85e70) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8e85e70, previous=0x93a3ea0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x0121251e in ThreadWeaver::ThreadRunHelper::run (this=0xaccff2e4, parent=0x8ec4400, th=0x8e85e70) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x01212c3b in ThreadWeaver::Thread::run (this=0x8e85e70) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x032dd32e in QThreadPrivate::start (arg=0x8e85e70) at thread/qthread_unix.cpp:248
#13 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#14 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 9 (Thread 0xac4feb70 (LWP 2036)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x032de287 in QWaitConditionPrivate::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8ec4418, mutex=0x8ec5678, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x01211870 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8ec4400, th=0x8d89880) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0121438c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ec5758, th=0x8d89880) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0121027b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8ec4400, th=0x8d89880) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x01214482 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8d89880) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8d89880, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8d89880) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8d89880, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8d89880) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8d89880, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8d89880) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#15 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8d89880, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#16 0x012144a1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ec5758, th=0x8d89880) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#17 0x012114d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8ec4400, th=0x8d89880, previous=0xafbb8f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#18 0x0121251e in ThreadWeaver::ThreadRunHelper::run (this=0xac4fe2e4, parent=0x8ec4400, th=0x8d89880) at ../../../threadweaver/Weaver/Thread.cpp:87
#19 0x01212c3b in ThreadWeaver::Thread::run (this=0x8d89880) at ../../../threadweaver/Weaver/Thread.cpp:142
#20 0x032dd32e in QThreadPrivate::start (arg=0x8d89880) at thread/qthread_unix.cpp:248
#21 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#22 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 8 (Thread 0xa92e5b70 (LWP 2039)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x013a2c97 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x147c1a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#4  0x013a2ce1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x147c1a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#5  0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6  0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 7 (Thread 0xa6652b70 (LWP 2061)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x006c0971 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0x01d4c5cc in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 6 (Thread 0xa5e51b70 (LWP 2062)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d262aa in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 0x9c6a4b70 (LWP 2063)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d262aa in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 0x9bea3b70 (LWP 2064)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x01d369da in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 0x99e59b70 (LWP 2071)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x0574e015 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x006d499d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0x032de287 in QWaitConditionPrivate::wait (this=0x90b14d8, mutex=0x90b14d4, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x90b14d8, mutex=0x90b14d4, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x05fa2d52 in QFileInfoGatherer::run (this=0x90b14cc) at dialogs/qfileinfogatherer.cpp:203
#6  0x032dd32e in QThreadPrivate::start (arg=0x90b14cc) at thread/qthread_unix.cpp:248
#7  0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#8  0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0x99658b70 (LWP 2072)):
#0  0x00223422 in __kernel_vsyscall ()
#1  0x006b9b86 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0x056ab4eb in g_poll () from /lib/libglib-2.0.so.0
#3  0x0569e0ac in ?? () from /lib/libglib-2.0.so.0
#4  0x0569e4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x0340b60f in QEventDispatcherGlib::processEvents (this=0x9bb6398, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#6  0x033de059 in QEventLoop::processEvents (this=0x99658280, flags=) at kernel/qeventloop.cpp:149
#7  0x033de4aa in QEventLoop::exec (this=0x99658280, flags=...) at kernel/qeventloop.cpp:201
#8  0x032da5a8 in QThread::exec (this=0x9099c18) at thread/qthread.cpp:487
#9  0x033bdc1b in QInotifyFileSystemWatcherEngine::run (this=0x9099c18) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x032dd32e in QThreadPrivate::start (arg=0x9099c18) at thread/qthread_unix.cpp:248
#11 0x0574996e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0x006c7a0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb6707720 (LWP 2020)):
[KCrash Handler]
#6  QMap<QObject const*, ProgressBar*>::findNode (this=0xaf4c4d0, owner=0x634e288) at /usr/include/qt4/QtCore/qmap.h:461
#7  QMap<QObject const*, ProgressBar*>::contains (this=0xaf4c4d0, owner=0x634e288) at /usr/include/qt4/QtCore/qmap.h:530
#8  CompoundProgressBar::endProgressOperation (this=0xaf4c4d0, owner=0x634e288) at ../../src/statusbar/CompoundProgressBar.cpp:79
#9  0x00d77a15 in CoverManager::slotArtistQueryDone (this=0x986be88) at ../../src/covermanager/CoverManager.cpp:455
#10 0x00d780c0 in CoverManager::qt_metacall (this=0x986be88, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfea28fc) at ./CoverManager.moc:118
#11 0x033e4c9a in QMetaObject::metacall (object=0x986be88, cl=64, idx=35, argv=0xbfea28fc) at kernel/qmetaobject.cpp:237
#12 0x033f33d5 in QMetaObject::activate (sender=0x920aff0, m=0x10ab378, local_signal_index=8, argv=0x0) at kernel/qobject.cpp:3293
#13 0x00b93ab7 in QueryMaker::queryDone (this=0x920aff0) at ./QueryMaker.moc:164
#14 0x0537357b in SqlQueryMaker::done (this=0x920aff0, job=0x93a3ea0) at ../../../../src/collection/sqlcollection/SqlQueryMaker.cpp:241
#15 0x053742af in SqlQueryMaker::qt_metacall (this=0x920aff0, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfea2a98) at ./SqlQueryMaker.moc:89
#16 0x033e4c9a in QMetaObject::metacall (object=0x920aff0, cl=64, idx=13, argv=0xbfea2a98) at kernel/qmetaobject.cpp:237
#17 0x033f33d5 in QMetaObject::activate (sender=0x93a3ea0, m=0x121a8f4, local_signal_index=1, argv=0xbfea2a98) at kernel/qobject.cpp:3293
#18 0x012130a3 in ThreadWeaver::Job::done (this=0x93a3ea0, _t1=0x93a3ea0) at ./Job.moc:97
#19 0x01213277 in ThreadWeaver::Job::qt_metacall (this=0x93a3ea0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xae902c38) at ./Job.moc:77
#20 0x033e4c9a in QMetaObject::metacall (object=0x93a3ea0, cl=64, idx=5, argv=0xae902c38) at kernel/qmetaobject.cpp:237
#21 0x033ef336 in QMetaCallEvent::placeMetaCall (this=0xaebae0a8, object=0x93a3ea0) at kernel/qobject.cpp:561
#22 0x033f03fe in QObject::event (this=0x93a3ea0, e=0xaebae0a8) at kernel/qobject.cpp:1248
#23 0x05a234dc in QApplicationPrivate::notify_helper (this=0x85ef7a0, receiver=0x93a3ea0, e=0xaebae0a8) at kernel/qapplication.cpp:4300
#24 0x05a2a05e in QApplication::notify (this=0xbfea33b8, receiver=0x93a3ea0, e=0xaebae0a8) at kernel/qapplication.cpp:3704
#25 0x00d07276 in App::notify (this=0xbfea33b8, receiver=0x93a3ea0, event=0xaebae0a8) at ../../src/App.cpp:927
#26 0x033dfa3b in QCoreApplication::notifyInternal (this=0xbfea33b8, receiver=0x93a3ea0, event=0xaebae0a8) at kernel/qcoreapplication.cpp:704
#27 0x033e2473 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x850e928) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#28 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x850e928) at kernel/qcoreapplication.cpp:1345
#29 0x033e25dd in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#30 0x0340badf in QCoreApplication::sendPostedEvents (s=0x85f2310) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#31 postEventSourceDispatch (s=0x85f2310) at kernel/qeventdispatcher_glib.cpp:276
#32 0x0569a5e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#33 0x0569e2d8 in ?? () from /lib/libglib-2.0.so.0
#34 0x0569e4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#35 0x0340b5d5 in QEventDispatcherGlib::processEvents (this=0x850e4c0, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#36 0x05ae3135 in QGuiEventDispatcherGlib::processEvents (this=0x850e4c0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#37 0x033de059 in QEventLoop::processEvents (this=0xbfea3324, flags=) at kernel/qeventloop.cpp:149
#38 0x033de4aa in QEventLoop::exec (this=0xbfea3324, flags=...) at kernel/qeventloop.cpp:201
#39 0x033e269f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#40 0x05a23577 in QApplication::exec () at kernel/qapplication.cpp:3579
#41 0x08050009 in main (argc=1, argv=0xbfea3c34) at ../../src/main.cpp:237

Reported using DrKonqi
Comment 1 Sven Krohlas 2010-04-30 13:01:49 UTC
That's somewhere in cover management, when using the statusbar.

Can you reproduce the crash? Is it maybe solved in 2.3.1 beta 1?
Comment 2 Leonardo La Malfa 2010-04-30 15:16:29 UTC
> --- Comment #1 from Sven Krohlas <sven asbest-online de>  2010-04-30
> 13:01:49 --- That's somewhere in cover management, when using the
> statusbar.
> 
> Can you reproduce the crash? Is it maybe solved in 2.3.1 beta 1?

Hi, I cannot reproduce it. I've logged out, then back in, started Amarok, 
which is playing fine so far. I mean, apart from switching it off, then back on, 
I don't know what else to do. Anyway, I'll try your suggestion. If the issue 
occurs again, then I'll report back here. Thanks!
Comment 3 Sven Krohlas 2010-05-11 17:20:40 UTC
*** Bug 237232 has been marked as a duplicate of this bug. ***
Comment 4 Sven Krohlas 2010-05-11 17:22:32 UTC
Confirmed by duplicate.
Comment 5 Rick W. Chen 2010-05-20 23:55:15 UTC
I can produce it.
I'm working on it.
Comment 6 Rick W. Chen 2010-05-28 23:13:06 UTC
commit dd056c21a44ca7b06cfe705d29cca6283d3c355d
Author: Rick W. Chen <stuffcorpse@archlinux.us>
Date:   Mon May 10 00:20:51 2010 +1200

    Fix cover manager crashing if closed shortly after opening
    
    and with lots of cleanups
    
    BUG:235796

diff --git a/src/covermanager/CoverManager.cpp b/src/covermanager/CoverManager.cpp
index e864b8f..1322bf1 100644
--- a/src/covermanager/CoverManager.cpp
+++ b/src/covermanager/CoverManager.cpp
@@ -17,6 +17,8 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
  ****************************************************************************************/
 
+#define DEBUG_PREFIX "CoverManager"
+
 #include "CoverManager.h"
 #include "CoverViewDialog.h"
 
@@ -47,14 +49,13 @@
 #include <QAction>
 #include <QDesktopWidget>
 #include <QProgressBar>
+#include <QSplitter>
 #include <QStringList>
 #include <QTimer>    //search filter timer
 #include <QToolButton>
 #include <QTreeWidget>
 #include <QTreeWidgetItem>
 
-#define DEBUG_PREFIX "CoverManager"
-
 static QString artistToSelectInInitFunction;
 CoverManager *CoverManager::s_instance = 0;
 
@@ -82,14 +83,13 @@ class ArtistItem : public QTreeWidgetItem
 };
 
 
-CoverManager::CoverManager()
-        : QSplitter( 0 )
+CoverManager::CoverManager( QWidget *parent )
+        : KDialog( parent )
         , m_currentView( AllAlbums )
         , m_timer( new QTimer( this ) )    //search filter timer
         , m_fetchingCovers( false )
         , m_coversFetched( 0 )
         , m_coverErrors( 0 )
-        , m_isClosing( false )
         , m_isLoadingCancelled( false )
 {
     DEBUG_BLOCK
@@ -100,12 +100,17 @@ CoverManager::CoverManager()
 
     // Sets caption and icon correctly (needed e.g. for GNOME)
     kapp->setTopWidget( this );
-    setWindowTitle( KDialog::makeStandardCaption( i18n("Cover Manager") ) );
-    setAttribute( Qt::WA_DeleteOnClose );
-    setContentsMargins( 4, 4, 4, 4 );
+    setButtons( 0 );
+    setCaption( i18n("Cover Manager") );
+
+    connect( this, SIGNAL(hidden()), SLOT(delayedDestruct()) );
+    connect( this, SIGNAL(closeClicked()), SLOT(delayedDestruct()) );
+
+    m_splitter = new QSplitter( this );
+    setMainWidget( m_splitter );
 
     //artist listview
-    m_artistView = new QTreeWidget( this );
+    m_artistView = new QTreeWidget( m_splitter );
     m_artistView->setHeaderLabel( i18n( "Albums By" ) );
     m_artistView->setSortingEnabled( false );
     m_artistView->setTextElideMode( Qt::ElideRight );
@@ -156,7 +161,7 @@ CoverManager::slotContinueConstruction() //SLOT
     }
     m_artistView->insertTopLevelItems( 0, m_items );
 
-    KVBox *vbox = new KVBox( this );
+    KVBox *vbox = new KVBox( m_splitter );
     KHBox *hbox = new KHBox( vbox );
 
     vbox->setSpacing( 4 );
@@ -219,37 +224,12 @@ CoverManager::slotContinueConstruction() //SLOT
     QSize sz = Amarok::config( "Cover Manager" ).readEntry( "Window Size", size );
     resize( sz.width(), sz.height() );
 
-    setStretchFactor( indexOf( m_artistView ), 1 );
-    setStretchFactor( indexOf( vbox ), 4 );
-
-    show();
+    m_splitter->setStretchFactor( m_splitter->indexOf( m_artistView ), 1 );
+    m_splitter->setStretchFactor( m_splitter->indexOf( vbox ), 4 );
 
     m_fetcher = The::coverFetcher();
 
-    QTimer::singleShot( 0, this, SLOT(init()) );
-}
-
-CoverManager::~CoverManager()
-{
-    DEBUG_BLOCK
-
-    Amarok::config( "Cover Manager" ).writeEntry( "Window Size", size() );
-    s_instance = 0;
-
-    m_isClosing = true;
-    m_isLoadingCancelled = true;
-    qDeleteAll( m_coverItems );
-    delete m_coverView;
-    m_coverView = 0;
-}
-
-void
-CoverManager::init()
-{
-    DEBUG_BLOCK
-
     QTreeWidgetItem *item = 0;
-
     int i = 0;
     if ( !artistToSelectInInitFunction.isEmpty() )
     {
@@ -276,8 +256,17 @@ CoverManager::init()
         item = m_artistView->invisibleRootItem()->child( 0 );
 
     item->setSelected( true );
+    show();
 }
 
+CoverManager::~CoverManager()
+{
+    Amarok::config( "Cover Manager" ).writeEntry( "Window Size", size() );
+    qDeleteAll( m_coverItems );
+    delete m_coverView;
+    m_coverView = 0;
+    s_instance = 0;
+}
 
 void
 CoverManager::viewCover( Meta::AlbumPtr album, QWidget *parent ) //static
@@ -302,8 +291,6 @@ CoverManager::metadataChanged( Meta::AlbumPtr album )
 void
 CoverManager::fetchMissingCovers() //SLOT
 {
-    DEBUG_BLOCK
-
     m_fetchCovers.clear();
     for( int i = 0, coverCount = m_coverView->count(); i < coverCount; ++i )
     {
@@ -313,6 +300,8 @@ CoverManager::fetchMissingCovers() //SLOT
             m_fetchCovers += coverItem->albumPtr();
     }
 
+    debug() << QString( "Fetching %1 missing covers" ).arg( m_fetchCovers.size() );
+
     ProgressBar *fetchProgressBar = new ProgressBar( this );
     fetchProgressBar->setDescription( i18n( "Fetching" ) );
     fetchProgressBar->setMaximum( m_fetchCovers.size() );
@@ -325,7 +314,6 @@ CoverManager::fetchMissingCovers() //SLOT
     updateStatusBar();
     m_fetchButton->setEnabled( false );
     connect( m_fetcher, SIGNAL(finishedSingle(int)), SLOT(updateFetchingProgress(int)) );
-
 }
 
 void
@@ -380,8 +368,6 @@ CoverManager::slotArtistSelected() //SLOT
     qm->excludeFilter( Meta::valAlbum, QString(), true, true );
     qm->endAndOr();
 
-    m_albumList.clear();
-
     connect( qm, SIGNAL( newResultReady( QString, Meta::AlbumList ) ),
              this, SLOT( slotAlbumQueryResult( QString, Meta::AlbumList ) ) );
 
@@ -393,12 +379,10 @@ CoverManager::slotArtistSelected() //SLOT
 void
 CoverManager::slotAlbumQueryResult( QString collectionId, Meta::AlbumList albums ) //SLOT
 {
-    DEBUG_BLOCK
     Q_UNUSED( collectionId );
-    m_albumList += albums;
+    m_albumList = albums;
 }
 
-
 void
 CoverManager::slotAlbumFilterTriggered( QAction *action ) //SLOT
 {
@@ -423,15 +407,21 @@ CoverManager::slotArtistQueryDone() //SLOT
     m_progress->show();
 
     uint x = 0;
+    debug() << "Loading covers for selected artist(s)";
 
     //the process events calls below causes massive flickering in the m_albumList
     //so we hide this view and only show it when all items has been inserted. This
     //also provides quite a massive speed improvement when loading covers.
     m_coverView->hide();
     m_coverViewSpacer->show();
-    foreach( Meta::AlbumPtr album, m_albumList )
+    foreach( const Meta::AlbumPtr &album, m_albumList )
     {
-        kapp->processEvents();
+        kapp->processEvents( QEventLoop::ExcludeSocketNotifiers );
+        if( isHidden() )
+        {
+            m_progress->endProgressOperation( m_coverView );
+            return;
+        }
         /*
          * Loading is stopped if cancelled by the user, or the number of albums
          * has changed. The latter occurs when the artist selection changes.
@@ -450,12 +440,8 @@ CoverManager::slotArtistQueryDone() //SLOT
             m_progress->setProgress( m_coverView, x );
         }
     }
-
     m_progress->endProgressOperation( m_coverView );
 
-    if( m_isClosing )
-        return;
-
     // makes sure View is retained when artist selection changes
     changeView( m_currentView, true );
 
@@ -527,15 +513,13 @@ CoverManager::slotSetFilterTimeout() //SLOT
 void
 CoverManager::changeView( CoverManager::View id, bool force ) //SLOT
 {
-    DEBUG_BLOCK
-
     if( !force && m_currentView == id )
         return;
 
     //clear the iconview without deleting items
     m_coverView->clearSelection();
-
-    while ( m_coverView->count() > 0 )
+    int itemsCount = m_coverView->count();
+    while( itemsCount-- > 0 )
        m_coverView->takeItem( 0 );
 
     foreach( QListWidgetItem *item, m_coverItems )
diff --git a/src/covermanager/CoverManager.h b/src/covermanager/CoverManager.h
index aeb7910..df2c634 100644
--- a/src/covermanager/CoverManager.h
+++ b/src/covermanager/CoverManager.h
@@ -20,7 +20,8 @@
 
 #include "CoverFetcher.h"
 
-#include <QSplitter>
+#include <KDialog>
+
 #include <QDropEvent>
 #include <QLabel>
 #include <QListWidget>
@@ -42,8 +43,9 @@ class KHBox;
 class QProgressBar;
 class QHBoxLayout;
 class QColorGroup;
+class QSplitter;
 
-class CoverManager : public QSplitter, public Meta::Observer
+class CoverManager : public KDialog, public Meta::Observer
 {
         Q_OBJECT
 
@@ -51,7 +53,7 @@ class CoverManager : public QSplitter, public Meta::Observer
         static bool s_constructed;
 
     public:
-        CoverManager();
+        CoverManager( QWidget *parent = 0 );
        ~CoverManager();
 
         static bool isConstructed() { return s_constructed; }
@@ -75,7 +77,6 @@ class CoverManager : public QSplitter, public Meta::Observer
     private slots:
         void slotArtistQueryResult( QString collectionId, Meta::ArtistList artists );
         void slotContinueConstruction();
-        void init();
 
         void slotArtistSelected();
         void slotAlbumQueryResult( QString collectionId, Meta::AlbumList albums );
@@ -102,6 +103,7 @@ class CoverManager : public QSplitter, public Meta::Observer
         void loadCover( const QString &, const QString & );
         QList<CoverViewItem*> selectedItems();
 
+        QSplitter        *m_splitter;
         QTreeWidget      *m_artistView;
         CoverView        *m_coverView;
 
@@ -141,7 +143,6 @@ class CoverManager : public QSplitter, public Meta::Observer
         int m_coversFetched;
         int m_coverErrors;
 
-        bool m_isClosing;
         bool m_isLoadingCancelled;
 };