Application: amarok (2.3-GIT) KDE Platform Version: 4.5.62 (KDE 4.5.62 (KDE 4.6 >= 20100729)) "release 3" Qt Version: 4.6.3 Operating System: Linux 2.6.31.12-0.2-desktop x86_64 Distribution: "openSUSE 11.2 (x86_64)" -- Information about the crash: - What I was doing when the application crashed: I stopped the playback (stop function) from the systray and got this crash. I could not reproduce it when I relaunched amarok. The crash can be reproduced some of the time. -- Backtrace: Application: Amarok (amarok), signal: Segmentation fault [Current thread is 1 (Thread 0x7f9de93d0780 (LWP 10210))] Thread 18 (Thread 0x7f9dc9f63910 (LWP 10215)): #0 0x00007f9de46fc2cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd0096671 in metronom_sync_loop () from /usr/lib64/libxine.so.1 #2 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #3 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 17 (Thread 0x7f9dc912b910 (LWP 10216)): #0 0x00007f9dde931ea3 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f9dde932d79 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f9dde933420 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f9de78751e6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #4 0x00007f9de784a432 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #5 0x00007f9de784a80c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #6 0x00007f9de775949b in QThread::exec() () from /usr/lib64/libQtCore.so.4 #7 0x00007f9dd02f2326 in Phonon::MediaSource::type() const () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #8 0x00007f9de775bf95 in ?? () from /usr/lib64/libQtCore.so.4 #9 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #10 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #11 0x0000000000000000 in ?? () Thread 16 (Thread 0x7f9dc8720910 (LWP 10220)): #0 0x00007f9de6297d03 in poll () from /lib64/libc.so.6 #1 0x00007f9dc8726c4e in ao_alsa_handle_event_thread () from /usr/lib64/xine/plugins/1.28/xineplug_ao_out_alsa.so #2 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #3 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 15 (Thread 0x7f9dc7f1f910 (LWP 10221)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd00a7713 in ao_loop () from /usr/lib64/libxine.so.1 #2 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #3 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 14 (Thread 0x7f9dc70c5910 (LWP 10222)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd00a7713 in ao_loop () from /usr/lib64/libxine.so.1 #2 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #3 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 13 (Thread 0x7f9dc6882910 (LWP 10223)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd00a7713 in ao_loop () from /usr/lib64/libxine.so.1 #2 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #3 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 12 (Thread 0x7f9dc603f910 (LWP 10224)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd00a7713 in ao_loop () from /usr/lib64/libxine.so.1 #2 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #3 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 11 (Thread 0x7f9dc3f4d910 (LWP 10240)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9de775cfdb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f9de3359be6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1449570, th=0x1449d50) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f9de335bf5b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x1449d50) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x1449d50) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #5 0x00007f9de335a44f in ThreadWeaver::ThreadRunHelper::run (this=0x7f9dc3f4d020, parent=0x1449570, th=0x1449d50) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:87 #6 0x00007f9de335a8a8 in ThreadWeaver::Thread::run (this=0x1449d50) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:142 #7 0x00007f9de775bf95 in ?? () from /usr/lib64/libQtCore.so.4 #8 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #9 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #10 0x0000000000000000 in ?? () Thread 10 (Thread 0x7f9dbd28b910 (LWP 10241)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9de775cfdb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f9de3359be6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1449570, th=0x1455370) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f9de335bf5b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x1455370) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f9de335a44f in ThreadWeaver::ThreadRunHelper::run (this=0x7f9dbd28b020, parent=0x1449570, th=0x1455370) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:87 #5 0x00007f9de335a8a8 in ThreadWeaver::Thread::run (this=0x1455370) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:142 #6 0x00007f9de775bf95 in ?? () from /usr/lib64/libQtCore.so.4 #7 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #8 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #9 0x0000000000000000 in ?? () Thread 9 (Thread 0x7f9dbca8a910 (LWP 10242)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9de775cfdb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f9de3359be6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1449570, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f9de335bf5b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #5 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #6 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #7 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #8 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #9 0x00007f9de335a44f in ThreadWeaver::ThreadRunHelper::run (this=0x7f9dbca8a020, parent=0x1449570, th=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:87 #10 0x00007f9de335a8a8 in ThreadWeaver::Thread::run (this=0x145fd90) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:142 #11 0x00007f9de775bf95 in ?? () from /usr/lib64/libQtCore.so.4 #12 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #13 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #14 0x0000000000000000 in ?? () Thread 8 (Thread 0x7f9dbc289910 (LWP 10243)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9de775cfdb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f9de3359be6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1449570, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WeaverImpl.cpp:365 #3 0x00007f9de335bf5b in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:71 #4 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #5 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #6 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #7 0x00007f9de335bf74 in ThreadWeaver::WorkingHardState::applyForWork (this=0x1440ec0, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/WorkingHardState.cpp:74 #8 0x00007f9de335a44f in ThreadWeaver::ThreadRunHelper::run (this=0x7f9dbc289020, parent=0x1449570, th=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:87 #9 0x00007f9de335a8a8 in ThreadWeaver::Thread::run (this=0x146a790) at /usr/src/debug/kdelibs-4.5.62svn1156592/threadweaver/Weaver/Thread.cpp:142 #10 0x00007f9de775bf95 in ?? () from /usr/lib64/libQtCore.so.4 #11 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #12 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #13 0x0000000000000000 in ?? () Thread 7 (Thread 0x7f9db6575910 (LWP 10249)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9de1783766 in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/libQtWebKit.so.4 #2 0x00007f9de17837a9 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQtWebKit.so.4 #3 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #4 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #5 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f9dae79f910 (LWP 10256)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9de2bb46a6 in ?? () from /usr/lib64/libQtScript.so.4 #2 0x00007f9de2bb46e9 in ?? () from /usr/lib64/libQtScript.so.4 #3 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #4 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #5 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f9db481a910 (LWP 10362)): #0 0x00007f9de46fc2cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd00a1e69 in interruptable_sleep () from /usr/lib64/libxine.so.1 #2 0x00007f9dd00a4621 in video_out_loop () from /usr/lib64/libxine.so.1 #3 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #4 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #5 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f9db4019910 (LWP 10363)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd0099f3b in fifo_buffer_get () from /usr/lib64/libxine.so.1 #2 0x00007f9dd009ffcd in video_decoder_loop () from /usr/lib64/libxine.so.1 #3 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #4 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #5 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f9db7e5e910 (LWP 10364)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd0099f3b in fifo_buffer_get () from /usr/lib64/libxine.so.1 #2 0x00007f9dd00a1055 in audio_decoder_loop () from /usr/lib64/libxine.so.1 #3 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #4 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #5 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f9da9506910 (LWP 10365)): #0 0x00007f9de46fc049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f9dd00aa83b in xine_event_wait () from /usr/lib64/libxine.so.1 #2 0x00007f9dd00aa8ae in listener_loop () from /usr/lib64/libxine.so.1 #3 0x00007f9de46f765d in start_thread () from /lib64/libpthread.so.0 #4 0x00007f9de62a0e1d in clone () from /lib64/libc.so.6 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f9de93d0780 (LWP 10210)): [KCrash Handler] #6 TextScrollingWidget::requirePlainText (this=0x0) at /usr/src/debug/amarok/src/context/widgets/TextScrollingWidget.cpp:109 #7 0x00007f9de8216699 in TextScrollingWidget::setText (this=0x0, text=...) at /usr/src/debug/amarok/src/context/widgets/TextScrollingWidget.cpp:84 #8 0x00007f9db6c129bc in SimilarArtistsApplet::enginePlaybackEnded (this=0x1c96540, finalPosition=<value optimized out>, trackLength=<value optimized out>) at /usr/src/debug/amarok/src/context/applets/similarartists/SimilarArtistsApplet.cpp:262 #9 0x00007f9de0976bf3 in Engine::EngineSubject::playbackEnded (this=<value optimized out>, finalPosition=63939, trackLength=198000, reason=EndedStopped) at /usr/src/debug/amarok/src/core/engine/EngineObserver.cpp:149 #10 0x00007f9de860a4e3 in EngineController::stop (this=0x89cd50, forceInstant=false) at /usr/src/debug/amarok/src/EngineController.cpp:539 #11 0x00007f9de85de770 in Amarok::StopAction::qt_metacall (this=0x120bc60, _c=InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/amarok/build/src/ActionClasses.moc:309 #12 0x00007f9de785edd6 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4 #13 0x00007f9de6c036f2 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4 #14 0x00007f9de6c0576b in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4 #15 0x00007f9de53b4c06 in ?? () from /usr/lib64/libdbusmenu-qt.so.2 #16 0x00007f9de53b766d in ?? () from /usr/lib64/libdbusmenu-qt.so.2 #17 0x00007f9de493146e in ?? () from /usr/lib64/libQtDBus.so.4 #18 0x00007f9de493222f in ?? () from /usr/lib64/libQtDBus.so.4 #19 0x00007f9de4932a4e in ?? () from /usr/lib64/libQtDBus.so.4 #20 0x00007f9de4932fa8 in ?? () from /usr/lib64/libQtDBus.so.4 #21 0x00007f9de785b949 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4 #22 0x00007f9de6c097fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #23 0x00007f9de6c0fddb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #24 0x00007f9de8e16c06 in KApplication::notify (this=0x7fffc9180370, receiver=0x1759cd0, event=0x1981450) at /usr/src/debug/kdelibs-4.5.62svn1156592/kdeui/kernel/kapplication.cpp:309 #25 0x00007f9de784bb1c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4 #26 0x00007f9de784f1d4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4 #27 0x00007f9de7875653 in ?? () from /usr/lib64/libQtCore.so.4 #28 0x00007f9dde9329a3 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #29 0x00007f9dde933180 in ?? () from /usr/lib64/libglib-2.0.so.0 #30 0x00007f9dde933420 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #31 0x00007f9de7875193 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #32 0x00007f9de6cb821e in ?? () from /usr/lib64/libQtGui.so.4 #33 0x00007f9de784a432 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #34 0x00007f9de784a80c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #35 0x00007f9de784f4bb in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4 #36 0x0000000000408732 in main (argc=1, argv=0x7fffc91822e8) at /usr/src/debug/amarok/src/main.cpp:237 Reported using DrKonqi
*** Bug 246779 has been marked as a duplicate of this bug. ***
Also happens with other applets...
Created attachment 50010 [details] New crash information added by DrKonqi amarok (2.3-GIT) on KDE Platform 4.5.00 (KDE 4.5.0) using Qt 4.6.3 - What I was doing when the application crashed: erased several tracks from a dynamic playlist -- Backtrace (Reduced): #6 TextScrollingWidget::requirePlainText (this=0x0) at /usr/src/debug/amarok/src/context/widgets/TextScrollingWidget.cpp:109 #7 0x00007fc04b0d2d69 in TextScrollingWidget::setText (this=0x0, text=...) at /usr/src/debug/amarok/src/context/widgets/TextScrollingWidget.cpp:84 #8 0x00007fc01667f9c4 in SimilarArtistsApplet::enginePlaybackEnded (this=0x1bb7860, finalPosition=<value optimized out>, trackLength=<value optimized out>) at /usr/src/debug/amarok/src/context/applets/similarartists/SimilarArtistsApplet.cpp:264 #9 0x00007fc043962ec3 in Engine::EngineSubject::playbackEnded (this=<value optimized out>, finalPosition=1648, trackLength=292000, reason=Engine::EngineObserver::EndedStopped) at /usr/src/debug/amarok/src/core/engine/EngineObserver.cpp:149 #10 0x00007fc04b71bee6 in EngineController::stop (this=0x97f360, forceInstant=false) at /usr/src/debug/amarok/src/EngineController.cpp:539
Created attachment 50118 [details] New crash information added by DrKonqi amarok (2.3-GIT) on KDE Platform 4.5.00 (KDE 4.5.0) using Qt 4.6.3 - What I was doing when the application crashed: starting an internet radio station and resizing the (mis-painted) plasma dock widget -- Backtrace (Reduced): #6 TextScrollingWidget::requirePlainText (this=0x0) at /usr/src/debug/amarok/src/context/widgets/TextScrollingWidget.cpp:109 #7 0x00007f084237ed69 in TextScrollingWidget::setText (this=0x0, text=...) at /usr/src/debug/amarok/src/context/widgets/TextScrollingWidget.cpp:84 #8 0x00007f080deea9c4 in SimilarArtistsApplet::enginePlaybackEnded (this=0x1b64840, finalPosition=<value optimized out>, trackLength=<value optimized out>) at /usr/src/debug/amarok/src/context/applets/similarartists/SimilarArtistsApplet.cpp:264 #9 0x00007f083ac0eec3 in Engine::EngineSubject::playbackEnded (this=<value optimized out>, finalPosition=4401, trackLength=0, reason=Engine::EngineObserver::EndedStopped) at /usr/src/debug/amarok/src/core/engine/EngineObserver.cpp:149 #10 0x00007f08429c7ee6 in EngineController::stop (this=0x9853b0, forceInstant=false) at /usr/src/debug/amarok/src/EngineController.cpp:539
Sascha, thank you for the feedback. We don't need more backtraces, these are all the same anyway and the bug is already confirmed.
The crash happens because the SimilarArtistsApplet is instantiated twice for some reason, but init() is only called once (and only one applet is shown). m_headerLabel is initialized in init(), so if init() is not called, m_headerLabel becomes the Null pointer which causes the crash. I did not find out yet why the applet is instantiated twice.
(In reply to comment #6) > The crash happens because the SimilarArtistsApplet is instantiated twice for > some reason, but init() is only called once (and only one applet is shown). > m_headerLabel is initialized in init(), so if init() is not called, > m_headerLabel becomes the Null pointer which causes the crash. > I did not find out yet why the applet is instantiated twice. Could this be related to bug 245513? I think I remember the problem was the same...
*** Bug 248477 has been marked as a duplicate of this bug. ***
*** Bug 248724 has been marked as a duplicate of this bug. ***
Here's some debug output showing how sometimes applets are loaded twice on startup, once by the Plasma::Corona (implicitly, we don't want that), and once by loadConfig (explicitly, what we want). amarok: BEGIN: virtual void ContextDock::polish() amarok: BEGIN: Context::VerticalToolbarContainment::VerticalToolbarContainment(QObject*, const QVariantList&) amarok: applet containment has corona: QObject(0x0) amarok: END__: Context::VerticalToolbarContainment::VerticalToolbarContainment(QObject*, const QVariantList&) - Took 0.0002s amarok: setting applets geom to QRectF(0,0 591x842) amarok: BEGIN: CurrentTrack::CurrentTrack(QObject*, const QVariantList&) amarok: END__: CurrentTrack::CurrentTrack(QObject*, const QVariantList&) - Took 0.00012s amarok: BEGIN: CurrentTrack::CurrentTrack(QObject*, const QVariantList&) amarok: END__: CurrentTrack::CurrentTrack(QObject*, const QVariantList&) - Took 7.1e-05s amarok: setting applets geom to QRectF(0,0 591x842) amarok: BEGIN: void ContextDock::createContextView(Plasma::Containment*) amarok: BEGIN: ContextSubject::ContextSubject() amarok: END__: ContextSubject::ContextSubject() - Took 8.8e-05s amarok: BEGIN: Context::ContextView::ContextView(Plasma::Containment*, Plasma::Corona*, QWidget*) amarok: BEGIN: virtual void Context::VerticalToolbarContainment::setView(Context::ContextView*) amarok: END__: virtual void Context::VerticalToolbarContainment::setView(Context::ContextView*) - Took 7.2e-05s amarok: BEGIN: void Context::AppletsListWidget::updateList() amarok: BEGIN: int Context::AppletsListWidget::maximumVisibleAppletsOnList() const amarok: model row count: 12 amarok: icon average size: 87.1667 amarok: visible rect size: 0 amarok: listTotalSize: 926 amarok: END__: int Context::AppletsListWidget::maximumVisibleAppletsOnList() const - Took 0.00018s amarok: visible icons: 0 amarok: END__: void Context::AppletsListWidget::updateList() - Took 0.00041s amarok: BEGIN: virtual void Context::AppletExplorer::resizeEvent(QGraphicsSceneResizeEvent*) amarok: BEGIN: virtual void Context::AppletsListWidget::resizeEvent(QGraphicsSceneResizeEvent*) amarok: BEGIN: int Context::AppletsListWidget::maximumVisibleAppletsOnList() const amarok: model row count: 12 amarok: icon average size: 87.1667 amarok: visible rect size: 46 amarok: listTotalSize: 926 amarok: END__: int Context::AppletsListWidget::maximumVisibleAppletsOnList() const - Took 0.00011s amarok: END__: virtual void Context::AppletsListWidget::resizeEvent(QGraphicsSceneResizeEvent*) - Took 0.00017s amarok: END__: virtual void Context::AppletExplorer::resizeEvent(QGraphicsSceneResizeEvent*) - Took 0.00031s amarok: END__: Context::ContextView::ContextView(Plasma::Containment*, Plasma::Corona*, QWidget*) - Took 0.49s amarok: applettoolbar created with a real containment amarok: BEGIN: void Context::ContextView::showHome() amarok: BEGIN: virtual void Context::VerticalToolbarContainment::loadConfig(const KConfigGroup&) amarok: plugins.size(): 5 amarok: Adding applet: "currenttrack" amarok: BEGIN: virtual Plasma::Applet* Context::VerticalToolbarContainment::addApplet(const QString&, int) amarok: BEGIN: CurrentTrack::CurrentTrack(QObject*, const QVariantList&) amarok: END__: CurrentTrack::CurrentTrack(QObject*, const QVariantList&) - Took 8.5e-05s amarok: BEGIN: virtual void CurrentTrack::init() QGraphicsLinearLayout::removeAt: invalid index 1 amarok: BEGIN: CurrentEngine::CurrentEngine(QObject*, const QList<QVariant>&) amarok: BEGIN: void CurrentEngine::update() amarok: END__: void CurrentEngine::update() - Took 3.5e-05s amarok: END__: CurrentEngine::CurrentEngine(QObject*, const QList<QVariant>&) - Took 0.0002s amarok: BEGIN: virtual bool CurrentEngine::sourceRequestEvent(const QString&) amarok: END__: virtual bool CurrentEngine::sourceRequestEvent(const QString&) - Took 9e-05s amarok: BEGIN: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) amarok: END__: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) - Took 3.7e-05s amarok: END__: virtual void CurrentTrack::init() - Took 0.1s amarok: layout told to add applet at -1 amarok: BEGIN: int Context::VerticalAppletLayout::minIndexWithAppletOnScreen(int) amarok: END__: int Context::VerticalAppletLayout::minIndexWithAppletOnScreen(int) - Took 3.9e-05s amarok: emitting addApplet with location 0 amarok: BEGIN: void Context::AppletToolbar::appletAdded(Plasma::Applet*, int) amarok: inserting applet icon in position 0 amarok: BEGIN: void Context::ToolbarView::appletAdded(Plasma::Applet*, int) amarok: END__: void Context::ToolbarView::appletAdded(Plasma::Applet*, int) - Took 7.3e-05s amarok: END__: void Context::AppletToolbar::appletAdded(Plasma::Applet*, int) - Took 0.0022s amarok: END__: virtual Plasma::Applet* Context::VerticalToolbarContainment::addApplet(const QString&, int) - Took 0.12s
commit f7221fc674ec3fde1671954b989c12999ee3bd1c Author: Mark Kretschmann <kretschmann@kde.org> Date: Wed Aug 25 19:38:14 2010 +0200 Fix crash caused by applets being loaded twice. Behind our backs Plasma always stores the containment state in "amarok-appletsrc", including loaded applets. When Amarok crashes then the applet list will remain, and on next startup Plasma tries to load the applets in addition to our own loading, which again crashes. BUG: 246756 diff --git a/ChangeLog b/ChangeLog index 8cae766..53afc74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ VERSION 2.3.2 * Use system date/time format for default name when saving user playlists. BUGFIXES: + * Fixed potential crashes related to Applet loading. (BR 246756) * Fixed incorrect layout of applets on startup. * Fixed Collection Browser not properly updating after a full rescan, necessitating Amarok to be closed and reopened. Fixes various bugs. diff --git a/src/context/ContextScene.cpp b/src/context/ContextScene.cpp index adaff4e..f35e20b 100644 --- a/src/context/ContextScene.cpp +++ b/src/context/ContextScene.cpp @@ -20,6 +20,7 @@ #include "amarokconfig.h" #include "core/support/Debug.h" +#include <KStandardDirs> #include <plasma/containment.h> #include <plasma/theme.h> @@ -42,6 +43,12 @@ ContextScene::~ContextScene() void ContextScene::loadDefaultSetup() { + // Delete amarok-appletsrc config file (created by Plasma), because Plasma tries + // to load all applets listed in there, which can lead to duplicated applets which are + // not correctly initialized, and all sorts of crashes. + // See: BUG 246756 + QFile::remove( KStandardDirs::locateLocal( "config", "amarok-appletsrc", false ) ); + Plasma::Containment* c = addContainment( "amarok_containment_vertical" ); c->setScreen( -1 ); c->setFormFactor( Plasma::Planar );
*** Bug 249053 has been marked as a duplicate of this bug. ***
*** Bug 248199 has been marked as a duplicate of this bug. ***
*** Bug 247042 has been marked as a duplicate of this bug. ***
*** Bug 249494 has been marked as a duplicate of this bug. ***
*** Bug 249654 has been marked as a duplicate of this bug. ***
commit a9c47b78a37b1c846495f759be3f3924a7ad7741 Author: Mark Kretschmann <kretschmann@kde.org> Date: Tue Sep 7 11:29:25 2010 +0200 Revert "Fix crash caused by applets being loaded twice." This reverts commit 5cf4947428c2b8e60c0e2ad6822c996676c71603. This reverts commit 330dbaebf6097320672ebfa80a91f92a6112ac75. This reverts commit f7221fc674ec3fde1671954b989c12999ee3bd1c. I seem to have fewer layout issues in the Context View without this patch, so it's probably better to remove it. However, some applets still show with wrong size, e.g. the VideoClip applet. We'll have to wait for the Plasma fixes in KDE 4.5.2. CCBUG: 246756 diff --git a/src/context/ContextScene.cpp b/src/context/ContextScene.cpp index 3ecf6f9..adaff4e 100644 --- a/src/context/ContextScene.cpp +++ b/src/context/ContextScene.cpp @@ -20,7 +20,6 @@ #include "amarokconfig.h" #include "core/support/Debug.h" -#include <KStandardDirs> #include <plasma/containment.h> #include <plasma/theme.h> @@ -43,17 +42,6 @@ ContextScene::~ContextScene() void ContextScene::loadDefaultSetup() { - // WORKAROUND for a bug in KDE 4.5.0 and 4.5.1: - // Delete amarok-appletsrc config file (created by Plasma), because Plasma tries - // to load all applets listed in there, which can lead to crashes due to applets - // being loaded twice. - // See: BUG 246756 - if( ( KDE::versionMajor() == 4 && KDE::versionMinor() == 5 && KDE::versionRelease() == 0 ) || - ( KDE::versionMajor() == 4 && KDE::versionMinor() == 5 && KDE::versionRelease() == 1 ) ) - { - QFile::remove( KStandardDirs::locateLocal( "config", "amarok-appletsrc", false ) ); - } - Plasma::Containment* c = addContainment( "amarok_containment_vertical" ); c->setScreen( -1 ); c->setFormFactor( Plasma::Planar );
Reopening, as the fix had to be reverted.
Created attachment 51456 [details] New crash information added by DrKonqi amarok (2.3-GIT) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0 - What I was doing when the application crashed: Played a podcast, when the podcast ended, tha crash happend Reproducible every time. -- Backtrace (Reduced): #6 0x00007f2553708322 in TextScrollingWidget::requirePlainText (this=0x0) at /home/myriam/kde/src/amarok/src/context/widgets/TextScrollingWidget.cpp:109 #7 0x00007f2553708278 in TextScrollingWidget::setText (this=0x0, text=...) at /home/myriam/kde/src/amarok/src/context/widgets/TextScrollingWidget.cpp:84 #8 0x00007f24fd164812 in SimilarArtistsApplet::enginePlaybackEnded (this=0x2b96540, finalPosition=0, trackLength=0) at /home/myriam/kde/src/amarok/src/context/applets/similarartists/SimilarArtistsApplet.cpp:264 #9 0x00007f255476b2c4 in Engine::EngineSubject::playbackEnded (this=0x1103990, finalPosition=0, trackLength=0, reason=Engine::EngineObserver::EndedStopped) at /home/myriam/kde/src/amarok/src/core/engine/EngineObserver.cpp:149 #10 0x00007f2553b0be02 in EngineController::slotQueueEnded (this=0x1103990) at /home/myriam/kde/src/amarok/src/EngineController.cpp:992
*** Bug 251187 has been marked as a duplicate of this bug. ***
For reference, the Plasma patch for this issue is here: http://websvn.kde.org/?view=revision&revision=1169026
commit b73baeadaca62251be5c38d9f26e1779b0600a84 Author: Mark Kretschmann <kretschmann@kde.org> Date: Sun Sep 12 18:47:54 2010 +0200 Fix crash caused by applets being loaded twice. Behind our backs Plasma always stores the containment state in "amarok-appletsrc", including loaded applets. When Amarok crashes then the applet list will remain, and on next startup Plasma tries to load the applets in addition to our own loading, which again crashes. NOTE: This is a re-commit of a reverted patch. We can use this now since the layout issues have also been worked around. BUG: 246756 diff --git a/src/context/ContextScene.cpp b/src/context/ContextScene.cpp index adaff4e..3ecf6f9 100644 --- a/src/context/ContextScene.cpp +++ b/src/context/ContextScene.cpp @@ -20,6 +20,7 @@ #include "amarokconfig.h" #include "core/support/Debug.h" +#include <KStandardDirs> #include <plasma/containment.h> #include <plasma/theme.h> @@ -42,6 +43,17 @@ ContextScene::~ContextScene() void ContextScene::loadDefaultSetup() { + // WORKAROUND for a bug in KDE 4.5.0 and 4.5.1: + // Delete amarok-appletsrc config file (created by Plasma), because Plasma tries + // to load all applets listed in there, which can lead to crashes due to applets + // being loaded twice. + // See: BUG 246756 + if( ( KDE::versionMajor() == 4 && KDE::versionMinor() == 5 && KDE::versionRelease() == 0 ) || + ( KDE::versionMajor() == 4 && KDE::versionMinor() == 5 && KDE::versionRelease() == 1 ) ) + { + QFile::remove( KStandardDirs::locateLocal( "config", "amarok-appletsrc", false ) ); + } + Plasma::Containment* c = addContainment( "amarok_containment_vertical" ); c->setScreen( -1 ); c->setFormFactor( Plasma::Planar );