Bug 257407

Summary: Amarok crashes when pressing quit [@ StatusBar::longMessage]
Product: [Applications] amarok Reporter: Ronald den Otter <ronald.den.otter>
Component: NotificationsAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED DUPLICATE    
Severity: crash CC: john_moore, kfunk, stharward
Priority: NOR    
Version: 2.3.2   
Target Milestone: 2.4.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Ronald den Otter 2010-11-20 13:57:27 UTC
Application: amarok (2.3.2)
KDE Platform Version: 4.5.3 (KDE 4.5.3)
Qt Version: 4.7.0
Operating System: Linux 2.6.32-25-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
Amarok is stopped by using Ctrl-Q or menu Amarok->quit amarok crashes. All settings set are gone the next time you start it up.

The crash can be reproduced every time.

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

Thread 14 (Thread 0x7f0883d03700 (LWP 28706)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f088c7a3081 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f0883502700 (LWP 28707)):
#0  0x00007f08a2e0bafb in g_main_context_check () from /lib/libglib-2.0.so.0
#1  0x00007f08a2e0c4c3 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f08a2e0c8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f08a9a711d6 in QEventDispatcherGlib::processEvents (this=0x2676e90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f08a9a43dd2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f08a9a441bc in QEventLoop::exec (this=0x7f0883501cd0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f08a994f36d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f088c9ff2b0 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#8  0x00007f08a99522ee in QThreadPrivate::start (arg=0x2689210) at thread/qthread_unix.cpp:266
#9  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f0882afc700 (LWP 28708)):
#0  0x00007f08a9102f93 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f08a101c41f in ?? () from /usr/lib/libpulse.so.0
#2  0x00007f08a100bd86 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x00007f08a100d809 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x00007f08a100d8c0 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x00007f08a101c21b in ?? () from /usr/lib/libpulse.so.0
#6  0x00007f089cc030e8 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#8  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f087e2fa700 (LWP 28709)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f088c7b3e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f087d6ee700 (LWP 28710)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f088c7b3e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f087ceed700 (LWP 28711)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f088c7b3e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f087c6ec700 (LWP 28712)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f088c7b3e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f087ace7700 (LWP 28714)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f08a9952eab in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f08a5854d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3472db0, th=0x352a140) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f08a5857f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3475690, th=0x352a140) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f08a58564ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f087ace6d40, parent=0x3472db0, th=0x352a140) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f08a5856a58 in ThreadWeaver::Thread::run (this=0x352a140) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f08a99522ee in QThreadPrivate::start (arg=0x352a140) at thread/qthread_unix.cpp:266
#8  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f086c7db700 (LWP 28715)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f08a061e2be in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f08a061e3d9 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f086affa700 (LWP 28716)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f08a9952eab in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f08a5854d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3472db0, th=0x2f300d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f08a5857f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3475690, th=0x2f300d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f08a5857fa4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3475690, th=0x2f300d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f08a5857fa4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3475690, th=0x2f300d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f08a58564ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f086aff9d40, parent=0x3472db0, th=0x2f300d0) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007f08a5856a58 in ThreadWeaver::Thread::run (this=0x2f300d0) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007f08a99522ee in QThreadPrivate::start (arg=0x2f300d0) at thread/qthread_unix.cpp:266
#10 0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f0863fff700 (LWP 28731)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f08a9952eab in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f08a5854d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3472db0, th=0x3755930) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f08a5857f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3475690, th=0x3755930) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f08a58564ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f0863ffed40, parent=0x3472db0, th=0x3755930) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f08a5856a58 in ThreadWeaver::Thread::run (this=0x3755930) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f08a99522ee in QThreadPrivate::start (arg=0x3755930) at thread/qthread_unix.cpp:266
#8  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f08637fe700 (LWP 28732)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f08a9952eab in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x344cd50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f08a5854d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3472db0, th=0x3560640) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f08a5857f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3475690, th=0x3560640) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f08a58564ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f08637fdd40, parent=0x3472db0, th=0x3560640) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f08a5856a58 in ThreadWeaver::Thread::run (this=0x3560640) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f08a99522ee in QThreadPrivate::start (arg=0x3560640) at thread/qthread_unix.cpp:266
#8  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f08627fc700 (LWP 28734)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f08a50947e4 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f08a539f160) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f08a5094819 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f08a53ad234) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f08a6c039ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f08a910f70d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f08ac33b820 (LWP 28705)):
[KCrash Handler]
#6  QObject::d_func (sender=0x0, m=0x7f08a9b06620, local_signal_index=0, argv=0x7fff39906ad0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:125
#7  QMetaObject::activate (sender=0x0, m=0x7f08a9b06620, local_signal_index=0, argv=0x7fff39906ad0) at kernel/qobject.cpp:3203
#8  0x00007f08ab4a4e73 in StatusBar::signalLongMessage (this=0x6, _t1=<value optimized out>, _t2=StatusBar::Sorry) at ./StatusBar.moc:146
#9  0x00007f08ab4a99de in StatusBar::longMessage (this=0x0, text=..., type=StatusBar::Sorry) at ../../src/statusbar/StatusBar.cpp:371
#10 0x00007f08ab37412a in APG::PresetModel::savePresetsToXml (this=<value optimized out>, filename=..., pl=<value optimized out>) at ../../src/playlistgenerator/PresetModel.cpp:213
#11 0x00007f08ab374443 in APG::PresetModel::destroy () at ../../src/playlistgenerator/PresetModel.cpp:56
#12 0x00007f08ab3e6c53 in ~APGCategory (this=0x6, __in_chrg=<value optimized out>) at ../../src/browsers/playlistbrowser/APGCategory.cpp:139
#13 0x00007f08ab0ccebe in qDeleteAll<QList<BrowserCategory*>::const_iterator> (this=0x30f7ce0, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:322
#14 qDeleteAll<QList<BrowserCategory*> > (this=0x30f7ce0, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:330
#15 ~BrowserCategoryList (this=0x30f7ce0, __in_chrg=<value optimized out>) at ../../src/browsers/BrowserCategoryList.cpp:96
#16 0x00007f08ab41c9ac in ~PlaylistBrowser (this=0x30f7ce0, __in_chrg=<value optimized out>) at ../../src/browsers/playlistbrowser/PlaylistBrowser.cpp:56
#17 0x00007f08ab0ccade in qDeleteAll<QList<BrowserCategory*>::const_iterator> (this=0x30c8b80, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:322
#18 qDeleteAll<QList<BrowserCategory*> > (this=0x30c8b80, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:330
#19 ~BrowserCategoryList (this=0x30c8b80, __in_chrg=<value optimized out>) at ../../src/browsers/BrowserCategoryList.cpp:96
#20 0x00007f08a9a56fff in QObjectPrivate::deleteChildren (this=0x30b0a90) at kernel/qobject.cpp:1957
#21 0x00007f08aa471578 in ~QWidget (this=0x30b04b0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1589
#22 0x00007f08abe6ae51 in ~KVBox (this=0x6, __in_chrg=<value optimized out>) at ../../kdeui/widgets/kvbox.cpp:29
#23 0x00007f08a9a56fff in QObjectPrivate::deleteChildren (this=0x3047560) at kernel/qobject.cpp:1957
#24 0x00007f08aa471578 in ~QWidget (this=0x30ae6c0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1589
#25 0x00007f08ab0d1946 in ~AmarokDockWidget (this=0x30ae6c0, __in_chrg=<value optimized out>) at ../../src/widgets/AmarokDockWidget.h:26
#26 ~BrowserDock (this=0x30ae6c0, __in_chrg=<value optimized out>) at ../../src/browsers/BrowserDock.cpp:47
#27 0x00007f08a9a56fff in QObjectPrivate::deleteChildren (this=0x29f31a0) at kernel/qobject.cpp:1957
#28 0x00007f08aa471578 in ~QWidget (this=0x29f3060, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1589
#29 0x00007f08abe330d5 in ~KMainWindow (this=0x29f3060, __in_chrg=<value optimized out>) at ../../kdeui/widgets/kmainwindow.cpp:473
#30 0x00007f08ab548bb8 in ~MainWindow (this=0x29f3060, __in_chrg=<value optimized out>) at ../../src/MainWindow.cpp:209
#31 0x00007f08ab51f2dd in ~App (this=0x7fff39907370, __in_chrg=<value optimized out>) at ../../src/App.cpp:282
#32 0x0000000000408375 in main (argc=<value optimized out>, argv=0x7fff399092d8) at ../../src/main.cpp:237

Possible duplicates by query: bug 232754.

Reported using DrKonqi
Comment 1 Soren Harward 2010-11-22 17:57:27 UTC
It's a problem with the StatusBar, not the APG, as seen from the duplicate bug triggered by the EngineController.
Comment 2 Kevin Funk 2011-02-06 01:25:10 UTC
Git commit fcbbc5b94acf551195e3a229bcc6b4471b033ffd by Kevin Funk.
Committed on 06/02/11 at 01:00.
Pushed by kfunk into branch 'master'.

Prevent possible double-delete

Possible fix for crashes while destructing objects.

BUG: 253676
BUG: 257407

M  +1    -0    ChangeLog     
M  +0    -5    src/browsers/BrowserCategory.cpp     

http://commits.kde.org/amarok/fcbbc5b94acf551195e3a229bcc6b4471b033ffd
Comment 3 Kevin Funk 2011-02-06 01:27:44 UTC

*** This bug has been marked as a duplicate of bug 253676 ***
Comment 4 Kevin Funk 2011-02-06 22:52:19 UTC
*** Bug 265648 has been marked as a duplicate of this bug. ***