Bug 268923

Summary: Amarok crashed after trying to quit it. [@ Oxygen::TileSet::~TileSet]
Product: [Plasma] Oxygen Reporter: Kerberos464 <kerberos464>
Component: generalAssignee: Hugo Pereira Da Costa <hugo.pereira.da.costa>
Status: RESOLVED FIXED    
Severity: crash CC: hugo.pereira.da.costa, kdandfd
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Kerberos464 2011-03-20 00:25:18 UTC
Application: amarok (2.3.2)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic i686
Distribution: Ubuntu 10.10

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

Just tried to quit Amarok by selecting appropriate menu item from Notification area.

The crash does not seem to be reproducible.

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

Thread 8 (Thread 0xa417eb70 (LWP 1894)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x007134dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x03bafd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x011789c7 in wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x0479c030 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9b92588, th=0xa0a8e30) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0479f7dc in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa08f988, th=0xa0a8e30) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0479b55b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9b92588, th=0xa0a8e30) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x0479f8d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa0a8e30) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa0a8e30, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x0479f8f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa0a8e30) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa0a8e30, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x0479f8f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa0a8e30) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa0a8e30, previous=0xade6930) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0x0479d95e in ThreadWeaver::ThreadRunHelper::run (this=0xa417e294, parent=0x9b92588, th=0xa0a8e30) at ../../../threadweaver/Weaver/Thread.cpp:87
#15 0x0479e07b in ThreadWeaver::Thread::run (this=0xa0a8e30) at ../../../threadweaver/Weaver/Thread.cpp:142
#16 0x01177df9 in QThreadPrivate::start (arg=0xa0a8e30) at thread/qthread_unix.cpp:266
#17 0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#18 0x03ba269e in clone () from /lib/libc.so.6

Thread 7 (Thread 0xa297bb70 (LWP 1899)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x007134dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x03bafd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x01832877 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x19311a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x018328c1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x19311a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#6  0x03ba269e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xa03ffb70 (LWP 1926)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x007134dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x03bafd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x011789c7 in wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x0479c030 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9b92588, th=0xa2e16c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0479f7dc in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa08f988, th=0xa2e16c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0479b55b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9b92588, th=0xa2e16c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x0479f8d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa2e16c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa2e16c0, previous=0xaf085f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x0479d95e in ThreadWeaver::ThreadRunHelper::run (this=0xa03ff294, parent=0x9b92588, th=0xa2e16c0) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x0479e07b in ThreadWeaver::Thread::run (this=0xa2e16c0) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x01177df9 in QThreadPrivate::start (arg=0xa2e16c0) at thread/qthread_unix.cpp:266
#13 0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#14 0x03ba269e in clone () from /lib/libc.so.6

Thread 5 (Thread 0x9fbfeb70 (LWP 1927)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x007134dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x03bafd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x011789c7 in wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x0479c030 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9b92588, th=0xa029f58) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0479f7dc in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa08f988, th=0xa029f58) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0479b55b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9b92588, th=0xa029f58) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x0479f8d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa029f58) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa029f58, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x0479f8f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa029f58) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa029f58, previous=0xae63390) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x0479d95e in ThreadWeaver::ThreadRunHelper::run (this=0x9fbfe294, parent=0x9b92588, th=0xa029f58) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0x0479e07b in ThreadWeaver::Thread::run (this=0xa029f58) at ../../../threadweaver/Weaver/Thread.cpp:142
#14 0x01177df9 in QThreadPrivate::start (arg=0xa029f58) at thread/qthread_unix.cpp:266
#15 0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#16 0x03ba269e in clone () from /lib/libc.so.6

Thread 4 (Thread 0x9f3fdb70 (LWP 1928)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x007134dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x03bafd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x011789c7 in wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x9b925a0, mutex=0xa078c88, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x0479c030 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9b92588, th=0xa05b010) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x0479f7dc in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xa08f988, th=0xa05b010) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x0479b55b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9b92588, th=0xa05b010) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x0479f8d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa05b010) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa05b010, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x0479f8f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa05b010) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa05b010, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x0479f8f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa05b010) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa05b010, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0x0479f8f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0xa08f988, th=0xa05b010) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#15 0x0479c533 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9b92588, th=0xa05b010, previous=0xaab6638) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#16 0x0479d95e in ThreadWeaver::ThreadRunHelper::run (this=0x9f3fd294, parent=0x9b92588, th=0xa05b010) at ../../../threadweaver/Weaver/Thread.cpp:87
#17 0x0479e07b in ThreadWeaver::Thread::run (this=0xa05b010) at ../../../threadweaver/Weaver/Thread.cpp:142
#18 0x01177df9 in QThreadPrivate::start (arg=0xa05b010) at thread/qthread_unix.cpp:266
#19 0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#20 0x03ba269e in clone () from /lib/libc.so.6

Thread 3 (Thread 0x98a9db70 (LWP 1929)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x03b93df6 in poll () from /lib/libc.so.6
#2  0x04d7ea1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x04d7143c in ?? () from /lib/libglib-2.0.so.0
#4  0x04d71848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x012a859f in QEventDispatcherGlib::processEvents (this=0xa4210e0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#6  0x01278609 in QEventLoop::processEvents (this=0x98a9d230, flags=) at kernel/qeventloop.cpp:149
#7  0x01278a8a in QEventLoop::exec (this=0x98a9d230, flags=...) at kernel/qeventloop.cpp:201
#8  0x01174b7e in QThread::exec (this=0xa420c88) at thread/qthread.cpp:490
#9  0x0125735b in QInotifyFileSystemWatcherEngine::run (this=0xa420c88) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x01177df9 in QThreadPrivate::start (arg=0xa420c88) at thread/qthread_unix.cpp:266
#11 0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#12 0x03ba269e in clone () from /lib/libc.so.6

Thread 2 (Thread 0x9ebf4b70 (LWP 1930)):
#0  0x00751416 in __kernel_vsyscall ()
#1  0x007134dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x03bafd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x079023a5 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0x07902481 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0x0070ecc9 in start_thread () from /lib/libpthread.so.0
#6  0x03ba269e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb77bb9a0 (LWP 1847)):
[KCrash Handler]
#7  QTessellatorPrivate::Scanline::~Scanline (this=0x15, __in_chrg=<value optimized out>) at painting/qtessellator.cpp:435
#8  0x055ca473 in ~QTessellatorPrivate (this=0xae41378, __in_chrg=<value optimized out>) at painting/qtessellator.cpp:74
#9  QTessellator::~QTessellator (this=0xae41378, __in_chrg=<value optimized out>) at painting/qtessellator.cpp:1206
#10 0x056399f5 in QXRenderTessellator::~QXRenderTessellator (this=0xae41378, __in_chrg=<value optimized out>) at painting/qpaintengine_x11.cpp:256
#11 0x0562e687 in QX11PaintEngine::~QX11PaintEngine (this=0xade5fc0, __in_chrg=<value optimized out>) at painting/qpaintengine_x11.cpp:472
#12 0x055025fc in QX11PixmapData::release (this=0xae43100) at image/qpixmap_x11.cpp:1249
#13 0x055030d6 in QX11PixmapData::~QX11PixmapData (this=0xae43100, __in_chrg=<value optimized out>) at image/qpixmap_x11.cpp:1244
#14 0x054ee116 in ~QExplicitlySharedDataPointer (this=0xae931dc, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:159
#15 QPixmap::~QPixmap (this=0xae931dc, __in_chrg=<value optimized out>) at image/qpixmap.cpp:324
#16 0x09110c6a in QVector<QPixmap>::free (this=0xa11f03c, x=0xae931c0) at /usr/include/qt4/QtCore/qvector.h:437
#17 0x09110cd8 in ~QVector (this=0xa11f038, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qvector.h:119
#18 Oxygen::TileSet::~TileSet (this=0xa11f038, __in_chrg=<value optimized out>) at ../../../libs/oxygen/oxygentileset.h:75
#19 0x08b7114f in QCache<unsigned long long, Oxygen::TileSet>::clear (this=0x97119ac) at /usr/include/qt4/QtCore/qcache.h:139
#20 0x08b705d9 in Oxygen::StyleHelper::invalidateCaches (this=0x9711848) at ../../../kstyles/oxygen/oxygenstylehelper.cpp:56
#21 0x08b3f042 in cleanupBefore () at ../../../kstyles/oxygen/oxygenstyle.cpp:102
#22 0x0127a002 in qt_call_post_routines () at kernel/qcoreapplication.cpp:203
#23 0x053ff238 in QApplication::~QApplication (this=0xbfbfde3c, __in_chrg=<value optimized out>) at kernel/qapplication.cpp:1044
#24 0x003b004a in KApplication::~KApplication (this=0xbfbfde3c, __in_chrg=<value optimized out>) at ../../kdeui/kernel/kapplication.cpp:908
#25 0x003b7a08 in KUniqueApplication::~KUniqueApplication (this=0xbfbfde3c, __in_chrg=<value optimized out>) at ../../kdeui/kernel/kuniqueapplication.cpp:353
#26 0x00d0d610 in App::~App (this=0xbfbfde3c, __in_chrg=<value optimized out>) at ../../src/App.cpp:304
#27 0x0804fbb3 in main (argc=3, argv=0xbfbfe6b4) at ../../src/main.cpp:237

Reported using DrKonqi
Comment 1 Hugo Pereira Da Costa 2011-03-25 17:13:09 UTC
The "cleanupBefore" method that was used until kde4.5; and is at the origin of the crash, probably because it is sometimes called too late; has been removed (made unnecessary) from KDE4.6 and later versions. So *this* crash should not happen any more.

Since there will not be any other kde4.5 release, I wont backport.

Closing as fixed.
Comment 2 Myriam Schweingruber 2012-01-07 23:14:12 UTC
*** Bug 290902 has been marked as a duplicate of this bug. ***