Bug 242307 - Plasma Workspace crashes with no interaction
Summary: Plasma Workspace crashes with no interaction
Status: RESOLVED UPSTREAM
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-20 23:57 UTC by Colin Crowley
Modified: 2010-06-24 23:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Colin Crowley 2010-06-20 23:57:08 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-22-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
Working in Firefox, just running the same flash program I'd been running for a very long time. Absolutely no interaction with the workspace when it went down.

 -- Backtrace:
Application: Plasma Workspace (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0x7f15ad37d760 (LWP 1304))]

Thread 2 (Thread 0x7f15883e9710 (LWP 1307)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f15aa30b3ac in _L_lock_12430 () from /lib/libc.so.6
#2  0x00007f15aa309e48 in *__GI___libc_free (mem=0x7f15aa609e40) at malloc.c:3736
#3  0x00007f15ab96d981 in socketNotifierSourceCheck (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:92
#4  0x00007f15a6d29b0a in g_main_context_check () from /lib/libglib-2.0.so.0
#5  0x00007f15a6d2a4c3 in ?? () from /lib/libglib-2.0.so.0
#6  0x00007f15a6d2a8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#7  0x00007f15ab96d566 in QEventDispatcherGlib::processEvents (this=0x1d0d790, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#8  0x00007f15ab942992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#9  0x00007f15ab942d6c in QEventLoop::exec (this=0x7f15883e8db0, flags=) at kernel/qeventloop.cpp:201
#10 0x00007f15ab84cd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#11 0x00007f15ab923178 in QInotifyFileSystemWatcherEngine::run (this=0x1d08e20) at io/qfilesystemwatcher_inotify.cpp:248
#12 0x00007f15ab84f775 in QThreadPrivate::start (arg=0x1d08e20) at thread/qthread_unix.cpp:248
#13 0x00007f15ab5bf9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#14 0x00007f15aa3726cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f15ad37d760 (LWP 1304)):
[KCrash Handler]
#5  0x00007f15aa2bfa75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f15aa2c35c0 in *__GI_abort () at abort.c:92
#7  0x00007f15aa2f94fb in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#8  0x00007f15aa3035b6 in malloc_printerr (action=3, str=0x7f15aa3d2453 "free(): invalid pointer", ptr=<value optimized out>) at malloc.c:6264
#9  0x00007f15aa309e53 in *__GI___libc_free (mem=<value optimized out>) at malloc.c:3738
#10 0x00007f15aac26d01 in QScopedPointerDeleter<QPaintEnginePrivate>::cleanup (this=0x2564760, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:62
#11 ~QScopedPointer (this=0x2564760, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:100
#12 ~QPaintEngine (this=0x2564760, __in_chrg=<value optimized out>) at painting/qpaintengine.cpp:722
#13 0x00007f15aacdfea0 in ~QX11PaintEngine (this=0x2564760, __in_chrg=<value optimized out>) at painting/qpaintengine_x11.cpp:469
#14 0x00007f15aabd5868 in QX11PixmapData::release (this=0x255ebe0) at image/qpixmap_x11.cpp:1243
#15 0x00007f15aabd609a in ~QX11PixmapData (this=0x255ebe0, __in_chrg=<value optimized out>) at image/qpixmap_x11.cpp:1238
#16 0x00007f15aabc3e69 in ~QExplicitlySharedDataPointer (this=0x2539d48, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:159
#17 ~QPixmap (this=0x2539d48, __in_chrg=<value optimized out>) at image/qpixmap.cpp:323
#18 0x00007f15a43e2fdd in QHash<QString, QPixmap>::deleteNode2(QHashData::Node*) () from /usr/lib/libplasma.so.3
#19 0x00007f15ab86b9bd in QHashData::free_helper (this=0x16dc2e0, node_delete=0x7f15a43e2fd0 <QHash<QString, QPixmap>::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:275
#20 0x00007f15a43dc113 in QHash<QString, QPixmap>::freeData (this=0x14cd9f0) at /usr/include/qt4/QtCore/qhash.h:567
#21 QHash<QString, QPixmap>::operator= (this=0x14cd9f0) at /usr/include/qt4/QtCore/qhash.h:593
#22 QHash<QString, QPixmap>::clear (this=0x14cd9f0) at /usr/include/qt4/QtCore/qhash.h:573
#23 Plasma::ThemePrivate::discardCache (this=0x14cd9f0) at ../../plasma/theme.cpp:225
#24 0x00007f15a43dc2fd in Plasma::ThemePrivate::compositingChanged (this=0x14cd9f0) at ../../plasma/theme.cpp:213
#25 0x00007f15a43e0cd2 in Plasma::Theme::qt_metacall (this=0x147f120, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff9186a650) at ./theme.moc:108
#26 0x00007f15ab956e3f in QMetaObject::activate (sender=0x14ce140, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3293
#27 0x00007f15abf02eff in KSelectionWatcher::newOwner (this=0x518, _t1=67108895) at ./kmanagerselection.moc:152
#28 0x00007f15abf0315a in KSelectionWatcher::owner (this=0x14ce140) at ../../kdeui/util/kmanagerselection.cpp:451
#29 0x00007f15abf045ed in KSelectionWatcher::Private::x11Event (this=<value optimized out>, ev_P=0x518) at ../../kdeui/util/kmanagerselection.cpp:395
#30 0x00007f15abe8ad06 in KAppX11HackWidget::publicx11Event (this=<value optimized out>, _event=0x7fff9186ae10) at ../../kdeui/kernel/kapplication.cpp:903
#31 KApplication::x11EventFilter (this=<value optimized out>, _event=0x7fff9186ae10) at ../../kdeui/kernel/kapplication.cpp:953
#32 0x00007f15a09948c7 in PlasmaApp::x11EventFilter (this=0x140c6b0, event=0x7fff9186ae10) at ../../../../plasma/desktop/shell/plasmaapp.cpp:600
#33 0x00007f15aab55641 in qt_x11EventFilter (ev=0x7fff9186ae10) at kernel/qapplication_x11.cpp:399
#34 0x00007f15aab64191 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff9186ae10) at kernel/qapplication_x11.cpp:3231
#35 0x00007f15aab90882 in x11EventSourceDispatch (s=0x1426230, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#36 0x00007f15a6d268c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#37 0x00007f15a6d2a748 in ?? () from /lib/libglib-2.0.so.0
#38 0x00007f15a6d2a8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#39 0x00007f15ab96d513 in QEventDispatcherGlib::processEvents (this=0x13a2140, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#40 0x00007f15aab9046e in QGuiEventDispatcherGlib::processEvents (this=0x518, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007f15ab942992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#42 0x00007f15ab942d6c in QEventLoop::exec (this=0x7fff9186b140, flags=) at kernel/qeventloop.cpp:201
#43 0x00007f15ab946aab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#44 0x00007f15a0982fb2 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../plasma/desktop/shell/main.cpp:112
#45 0x00000000004070f3 in launch (argc=1, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=0, envs=<value optimized out>, reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x40a4f9 "0") at ../../kinit/kinit.cpp:717
#46 0x0000000000407cb0 in handle_launcher_request (sock=8, who=<value optimized out>) at ../../kinit/kinit.cpp:1209
#47 0x000000000040823a in handle_requests (waitForPid=0) at ../../kinit/kinit.cpp:1402
#48 0x0000000000408e22 in main (argc=4, argv=<value optimized out>, envp=<value optimized out>) at ../../kinit/kinit.cpp:1845

Reported using DrKonqi
Comment 1 Aaron J. Seigo 2010-06-24 23:50:14 UTC
explanation of crash: compositing changed (perhaps due to battery power level or the user turning it off or a driver issue), plasma discarded the cache and in the Plasma::ThemePrive::discardCache method it does this:

     pixmapsToCache.clear(); 

pixmapsToCache is a QHash<QString, QPixmap>.

so nothing wrong going on there in libplasma, instead this looks like a crash inside of Qt in the x11 painter backend when freeing an x11 pixmap. :/