Bug 221827 - plasmoid fancy tasks crashes kde 4.4 rc1, works fine in beta2 and before
Summary: plasmoid fancy tasks crashes kde 4.4 rc1, works fine in beta2 and before
Status: RESOLVED DOWNSTREAM
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-01-08 18:04 UTC by Paulo Dias
Modified: 2010-01-09 00:34 UTC (History)
2 users (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 Paulo Dias 2010-01-08 18:04:53 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.3.90 (KDE 4.3.90 (KDE 4.4 RC1))
Qt Version: 4.6.0
Operating System: Linux 2.6.32-9-generic i686
Distribution: Ubuntu lucid (development branch)

-- Information about the crash:
plasmoid fancy tasks 0.9.9 works fine with beta2 but crashes plasma-desktop after a few seconds (some event it triggers).

To trigger this behaviour just run fancy tasks and open some window (like systemseetings), it will crash plasma after a few seconds.. this is reproducible every single time.

The crash can be reproduced every time.

 -- Backtrace:
Application: Plasma Workspace (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb76c8760 (LWP 3679))]

Thread 3 (Thread 0xaa840b70 (LWP 3680)):
#0  0x00c8c422 in __kernel_vsyscall ()
#1  0x00b4ef55 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x00cf42e7 in QWaitConditionPrivate::wait (this=0x99adb50, mutex=0x99adb4c, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x99adb50, mutex=0x99adb4c, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0x03a4ee82 in QHostInfoAgent::run (this=0x99adb40) at kernel/qhostinfo.cpp:252
#5  0x00cf338e in QThreadPrivate::start (arg=0x99adb40) at thread/qthread_unix.cpp:244
#6  0x00b4a8de in start_thread (arg=0xaa840b70) at pthread_create.c:300
#7  0x07c097be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xa88f8b70 (LWP 3685)):
#0  0x00c8c422 in __kernel_vsyscall ()
#1  0x00b4ef55 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x026e0927 in WTF::TCMalloc_PageHeap::scavengerThread (this=0x27b91a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#3  0x026e0971 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x27b91a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#4  0x00b4a8de in start_thread (arg=0xa88f8b70) at pthread_create.c:300
#5  0x07c097be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb76c8760 (LWP 3679)):
[KCrash Handler]
#6  0x024d6baa in TaskManager::Task::icon() () from /usr/lib/libtaskmanager.so.4
#7  0x04665f4f in ?? () from /usr/lib/kde4/plasma_applet_fancytasks.so
#8  0x0464532c in ?? () from /usr/lib/kde4/plasma_applet_fancytasks.so
#9  0x04647914 in ?? () from /usr/lib/kde4/plasma_applet_fancytasks.so
#10 0x016ce0ec in _q_paintItem (item=<value optimized out>, painter=<value optimized out>, option=0x911d810, widget=0xa7634a8, useWindowOpacity=true, painterStateProtection=true)
    at graphicsview/qgraphicsscene.cpp:4193
#11 0x016e8834 in QGraphicsScenePrivate::drawItemHelper (this=0x911d6b0, item=0xa808388, painter=0xbfa878a4, option=0x911d810, widget=0xa7634a8, painterStateProtection=<value optimized out>)
    at graphicsview/qgraphicsscene.cpp:4262
#12 0x016eaf45 in QGraphicsScenePrivate::draw (this=0x911d6b0, item=0xa808388, painter=0xbfa878a4, viewTransform=0xbfa87714, transformPtr=0xbfa86b88, exposedRegion=0xa763bfc, widget=0xa7634a8, 
    opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4736
#13 0x016eb8a3 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x911d6b0, item=0xa808388, painter=0xbfa878a4, viewTransform=0xbfa87714, exposedRegion=0xa763bfc, widget=0xa7634a8, 
    parentOpacity=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4669
#14 0x016ead9c in QGraphicsScenePrivate::draw (this=0x911d6b0, item=0xa6be948, painter=0xbfa878a4, viewTransform=0xbfa87714, transformPtr=0xbfa86fd8, exposedRegion=0xa763bfc, widget=0xa7634a8, 
    opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4750
#15 0x016eb8a3 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x911d6b0, item=0xa6be948, painter=0xbfa878a4, viewTransform=0xbfa87714, exposedRegion=0xa763bfc, widget=0xa7634a8, 
    parentOpacity=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4669
#16 0x016ead9c in QGraphicsScenePrivate::draw (this=0x911d6b0, item=0xa751b38, painter=0xbfa878a4, viewTransform=0xbfa87714, transformPtr=0xbfa87428, exposedRegion=0xa763bfc, widget=0xa7634a8, 
    opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4750
#17 0x016eb8a3 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x911d6b0, item=0xa751b38, painter=0xbfa878a4, viewTransform=0xbfa87714, exposedRegion=0xa763bfc, widget=0xa7634a8, 
    parentOpacity=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4669
#18 0x016ebf86 in QGraphicsScenePrivate::drawItems (this=0x911d6b0, painter=0xbfa878a4, viewTransform=0xbfa87714, exposedRegion=0xa763bfc, widget=0xa7634a8) at graphicsview/qgraphicsscene.cpp:4565
#19 0x01705ef3 in QGraphicsView::paintEvent (this=0xa6af5d0, event=0xbfa87f54) at graphicsview/qgraphicsview.cpp:3352
#20 0x01b89969 in ?? () from /usr/lib/libkdeinit4_plasma-desktop.so
#21 0x0109c245 in QWidget::event (this=0xa6af5d0, event=0xbfa87f54) at kernel/qwidget.cpp:8120
#22 0x014951a3 in QFrame::event (this=0xa6af5d0, e=0xbfa87f54) at widgets/qframe.cpp:557
#23 0x0152ebb2 in QAbstractScrollArea::viewportEvent (this=0xa825a40, e=0x0) at widgets/qabstractscrollarea.cpp:1032
#24 0x0170236b in QGraphicsView::viewportEvent (this=0xa6af5d0, event=0xbfa87f54) at graphicsview/qgraphicsview.cpp:2747
#25 0x01531495 in QAbstractScrollAreaPrivate::viewportEvent (this=0xa769e70, o=0xa7634a8, e=0xbfa87f54) at widgets/qabstractscrollarea_p.h:100
#26 QAbstractScrollAreaFilter::eventFilter (this=0xa769e70, o=0xa7634a8, e=0xbfa87f54) at widgets/qabstractscrollarea_p.h:116
#27 0x00df399a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x90cb230, receiver=0xa7634a8, event=0xbfa87f54) at kernel/qcoreapplication.cpp:819
#28 0x0103f1b9 in QApplicationPrivate::notify_helper (this=0x90cb230, receiver=0xa7634a8, e=0xbfa87f54) at kernel/qapplication.cpp:4238
#29 0x01045ef7 in QApplication::notify (this=0x90adeb0, receiver=0xa7634a8, e=0xbfa87f54) at kernel/qapplication.cpp:4207
#30 0x0096eb0a in KApplication::notify (this=0x90adeb0, receiver=0xa7634a8, event=0xbfa87f54) at ../../kdeui/kernel/kapplication.cpp:302
#31 0x00df46fb in QCoreApplication::notifyInternal (this=0x90adeb0, receiver=0xa7634a8, event=0xbfa87f54) at kernel/qcoreapplication.cpp:704
#32 0x010a5416 in QCoreApplication::sendSpontaneousEvent (this=0xa7634c8, pdev=0xa76fb14, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0xa76c268)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#33 QWidgetPrivate::drawWidget (this=0xa7634c8, pdev=0xa76fb14, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0xa76c268) at kernel/qwidget.cpp:5322
#34 0x010a6255 in QWidgetPrivate::paintSiblingsRecursive (this=0xa763898, pdev=0xa76fb14, siblings=..., index=3, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa76c268)
    at kernel/qwidget.cpp:5435
#35 0x010a5165 in QWidgetPrivate::drawWidget (this=0xa763898, pdev=0xa76fb14, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0xa76c268) at kernel/qwidget.cpp:5371
#36 0x01278860 in QWidgetBackingStore::sync (this=0xa76c268) at painting/qbackingstore.cpp:1289
#37 0x01095c93 in QWidgetPrivate::syncBackingStore (this=0xa763898) at kernel/qwidget.cpp:1662
#38 0x0109cb7c in QWidget::event (this=0xa6af5d0, event=0xa178698) at kernel/qwidget.cpp:8266
#39 0x014951a3 in QFrame::event (this=0xa6af5d0, e=0xa178698) at widgets/qframe.cpp:557
#40 0x0152f5c7 in QAbstractScrollArea::event (this=0xa6af5d0, e=0xa178698) at widgets/qabstractscrollarea.cpp:985
#41 0x017051b6 in QGraphicsView::event (this=0xa6af5d0, event=0xa178698) at graphicsview/qgraphicsview.cpp:2625
#42 0x01b8c043 in ?? () from /usr/lib/libkdeinit4_plasma-desktop.so
#43 0x0103f1dc in QApplicationPrivate::notify_helper (this=0x90cb230, receiver=0xa178698, e=0xa6af5d0) at kernel/qapplication.cpp:4242
#44 0x01045ef7 in QApplication::notify (this=0x90adeb0, receiver=0xa6af5d0, e=0xa178698) at kernel/qapplication.cpp:4207
#45 0x0096eb0a in KApplication::notify (this=0x90adeb0, receiver=0xa6af5d0, event=0xa178698) at ../../kdeui/kernel/kapplication.cpp:302
#46 0x00df46fb in QCoreApplication::notifyInternal (this=0x90adeb0, receiver=0xa6af5d0, event=0xa178698) at kernel/qcoreapplication.cpp:704
#47 0x00df7133 in QCoreApplication::sendEvent (receiver=0xa6af5d0, event_type=77, data=0x9064eb8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#48 QCoreApplicationPrivate::sendPostedEvents (receiver=0xa6af5d0, event_type=77, data=0x9064eb8) at kernel/qcoreapplication.cpp:1345
#49 0x00df729d in QCoreApplication::sendPostedEvents (receiver=0xa6af5d0, event_type=77) at kernel/qcoreapplication.cpp:1238
#50 0x016e7fc6 in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=0x911d6b0) at ../../include/QtGui/private/../../../src/gui/graphicsview/qgraphicsview_p.h:178
#51 QGraphicsScenePrivate::_q_processDirtyItems (this=0x911d6b0) at graphicsview/qgraphicsscene.cpp:487
#52 0x016e8516 in QGraphicsScene::qt_metacall (this=0x9164c38, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0x985e3e0) at .moc/release-shared/moc_qgraphicsscene.cpp:130
#53 0x01cf90aa in Plasma::Corona::qt_metacall (this=0x9164c38, _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0x985e3e0) at ./corona.moc:107
#54 0x01b79f9a in ?? () from /usr/lib/libkdeinit4_plasma-desktop.so
#55 0x00df995a in QMetaObject::metacall (object=0x9164c38, cl=176314944, idx=18, argv=0x0) at kernel/qmetaobject.cpp:237
#56 0x00e04096 in QMetaCallEvent::placeMetaCall (this=0xa79e7d0, object=0x9164c38) at kernel/qobject.cpp:574
#57 0x00e050ee in QObject::event (this=0x9164c38, e=0xa79e7d0) at kernel/qobject.cpp:1260
#58 0x016e41e4 in QGraphicsScene::event (this=0x9164c38, event=0xa79e7d0) at graphicsview/qgraphicsscene.cpp:3450
#59 0x0103f1dc in QApplicationPrivate::notify_helper (this=0x90cb230, receiver=0x9164c38, e=0xa79e7d0) at kernel/qapplication.cpp:4242
#60 0x01045e37 in QApplication::notify (this=0x90adeb0, receiver=0x9164c38, e=0xa79e7d0) at kernel/qapplication.cpp:3661
#61 0x0096eb0a in KApplication::notify (this=0x90adeb0, receiver=0x9164c38, event=0xa79e7d0) at ../../kdeui/kernel/kapplication.cpp:302
#62 0x00df46fb in QCoreApplication::notifyInternal (this=0x90adeb0, receiver=0x9164c38, event=0xa79e7d0) at kernel/qcoreapplication.cpp:704
#63 0x00df7133 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x9064eb8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#64 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9064eb8) at kernel/qcoreapplication.cpp:1345
#65 0x00df729d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#66 0x00e208ff in QCoreApplication::sendPostedEvents (s=0x90cd320) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#67 postEventSourceDispatch (s=0x90cd320) at kernel/qeventdispatcher_glib.cpp:276
#68 0x05809fd8 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#69 0x0580d880 in ?? () from /lib/libglib-2.0.so.0
#70 0x0580d9b3 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#71 0x00e203f5 in QEventDispatcherGlib::processEvents (this=0x90b13f0, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#72 0x010fcba5 in QGuiEventDispatcherGlib::processEvents (this=0x90b13f0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#73 0x00df2d19 in QEventLoop::processEvents (this=0xbfa89724, flags=) at kernel/qeventloop.cpp:149
#74 0x00df316a in QEventLoop::exec (this=0xbfa89724, flags=...) at kernel/qeventloop.cpp:201
#75 0x00df735f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#76 0x0103f277 in QApplication::exec () at kernel/qapplication.cpp:3570
#77 0x01b81d4e in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so
#78 0x0804dff7 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x909cf48 "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x8051429 "0") at ../../kinit/kinit.cpp:706
#79 0x0804ec15 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at ../../kinit/kinit.cpp:1198
#80 0x0804f153 in handle_requests (waitForPid=<value optimized out>) at ../../kinit/kinit.cpp:1391
#81 0x0804fe37 in main (argc=4, argv=0xbfa8a1d4, envp=0xbfa8a1e8) at ../../kinit/kinit.cpp:1830

Reported using DrKonqi
Comment 1 Dario Andres 2010-01-08 18:41:16 UTC
- Have you recompiled FancyTasks after the update to KDE SC 4.4 RC1 ?
Regards
Comment 2 Paulo Dias 2010-01-08 18:56:35 UTC
Thanks for the quick answer, yes i did... this trace is already with the new compile.

using qt4 4.6.0 final and kde 4.4 rc1.
gcc version 4.4.3 20100105 (prerelease) (Ubuntu 4.4.2-8ubuntu2)

feel free to contact me at any time.
Comment 3 Dario Andres 2010-01-08 19:00:55 UTC
May be you could contact the author of FancyTasks and ask if someone else experienced this issue.. may be the code needs to be adjusted a bit ?
As far as I know, libtaskbarmanager doesn't have an stable API..
Comment 4 Paulo Dias 2010-01-08 21:42:17 UTC
I did contacted him, waiting for an answer, but that doesnt invalidate the notion that plasma-desktop shouldnt (in a perfect world) crash because of a plasmoid misbehavior (or well just go back to 1995 and use that other OS) ;)
Comment 5 Dario Andres 2010-01-08 21:48:07 UTC
That topic involves another big discussion with the Plasma developers (bug 199754, and several other webpages with explanations and such)
(Note that I'm not a Plasma developer..)
Regards
Comment 6 Aaron J. Seigo 2010-01-09 00:08:12 UTC
the crash is in fancytasks, it needs to be fixed there. and yes, as i've said numerous times before, linking against libtaskmanager by a 3rd party plasmoid is just asking for trouble.

as for not crashing and your oh-so-humorous quip about 1995, note that kicker was exactly the same in this regard. however, plasma has two important differences here: there are a TON more widgets available for plasma due to the ease of getting into it and what you can do with it (so more chance for errors such as this one), BUT we are providing increasingly sophisticated scripting support that can help developers not shoot themselves in the foot.
Comment 7 Paulo Dias 2010-01-09 00:29:57 UTC
Relax aaron, i know you too well ;) I was merely noticing that if the kde devs allow for third parties to trample all over plasma, plasma would have the same problems that plagued/still plague the windows world.

I use kde for many years and contribute whenever i can (mostly packaging for kubuntu nowadays and the ocasional patch/bug fixing), but i know plasma is very good and always getting better. so relax, i didn't mean to push your buttons.

best regards and keep up the good work.
Comment 8 Paulo Dias 2010-01-09 00:34:23 UTC
Relax aaron, i know you too well ;) I was merely noticing that if the kde devs allow for third parties to trample all over plasma, plasma would have the same problems that plagued/still plague the windows world.

I use kde for many years and contribute whenever i can (mostly packaging for kubuntu nowadays and the ocasional patch/bug fixing), but i know plasma is very good and always getting better. so relax, i didn't mean to push your buttons.

best regards and keep up the good work.