Bug 240106

Summary: plasma crash when handling activities
Product: [Unmaintained] plasma4 Reporter: Martin Koller <kollix>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: alex.merry, asraniel, chanika, mail, mschiff
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Martin Koller 2010-05-30 17:54:11 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.4.81 (KDE 4.4.81 (KDE 4.5 >= 20100527)) "release 3"
Qt Version: 4.6.3
Operating System: Linux 2.6.31.12-0.2-desktop i686
Distribution: "openSUSE 11.2 (i586)"

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

I clicked on the Desktop cashew and got the list of activities above the bottom panel.
As this is 4.5 beta1 and obviously a new feature, I have no idea for what that very long(!) list of activities shall be used for.
However, I started to delete one of them, which worked.
Then when scrolling the list (or maybe it was at clicking the delete icon), plasma crashed.

-- Backtrace:
Application: Plasma Workspace (plasma-desktop), signal: Segmentation fault
[KCrash Handler]
#7  0xb60fbeab in QGraphicsItem::pos() const () from /usr/lib/libQtGui.so.4
#8  0xb6f62ab3 in Plasma::AbstractIconList::itemPosition (this=0x904d2d0, i=27) at /usr/src/debug/kdebase-workspace-4.4.81svn1131245/libs/plasmagenericshell/abstracticonlist.cpp:525
#9  0xb6f6308c in Plasma::AbstractIconList::scrollDownRight (this=0x904d2d0) at /usr/src/debug/kdebase-workspace-4.4.81svn1131245/libs/plasmagenericshell/abstracticonlist.cpp:376
#10 0xb6f5b7f4 in Plasma::AbstractIconList::qt_metacall (this=0x904d2d0, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbf9a633c)
    at /usr/src/debug/kdebase-workspace-4.4.81svn1131245/build/libs/plasmagenericshell/moc_abstracticonlist.cpp:91
#11 0xb7731bc2 in ActivityList::qt_metacall (this=0x904d2d0, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbf9a633c)
    at /usr/src/debug/kdebase-workspace-4.4.81svn1131245/build/plasma/desktop/shell/moc_activitylist.cpp:74
#12 0xb656a99d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#13 0xb6579bb0 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#14 0xb74b3ae5 in Plasma::ToolButton::pressed (this=0x8b98858) at /usr/src/debug/kdelibs-4.4.81svn1131245/build/plasma/toolbutton.moc:168
#15 0xb74b5c20 in Plasma::ToolButton::qt_metacall (this=0x8b98858, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbf9a646c) at /usr/src/debug/kdelibs-4.4.81svn1131245/build/plasma/toolbutton.moc:102
#16 0xb656a99d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#17 0xb6579bb0 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#18 0xb61caa05 in QAbstractButton::pressed() () from /usr/lib/libQtGui.so.4
#19 0xb5e94fed in ?? () from /usr/lib/libQtGui.so.4
#20 0xb5e951ea in QAbstractButton::mousePressEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#21 0xb5f81196 in QToolButton::mousePressEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#22 0xb5aedb67 in QWidget::mouseDoubleClickEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#23 0xb5afbaba in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#24 0xb5e952f0 in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#25 0xb5f80b5c in QToolButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0xb5a9b2ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#27 0xb5aa2aae in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0xb6bb3fc1 in KApplication::notify (this=0x806a330, receiver=0x8ad0e70, event=0x8f11c78) at /usr/src/debug/kdelibs-4.4.81svn1131245/kdeui/kernel/kapplication.cpp:302
#29 0xb656558e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#30 0xb5aa19f4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#31 0xb612e314 in ?? () from /usr/lib/libQtGui.so.4
#32 0xb611b5a1 in QGraphicsItem::sceneEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#33 0xb616f1f6 in QGraphicsWidget::sceneEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#34 0xb6131194 in ?? () from /usr/lib/libQtGui.so.4
#35 0xb61336bb in ?? () from /usr/lib/libQtGui.so.4
#36 0xb61426fa in ?? () from /usr/lib/libQtGui.so.4
#37 0xb6147584 in QGraphicsScene::event(QEvent*) () from /usr/lib/libQtGui.so.4
#38 0xb5a9b2ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#39 0xb5aa20e8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#40 0xb6bb3fc1 in KApplication::notify (this=0x806a330, receiver=0x824bbd8, event=0xbf9a74d4) at /usr/src/debug/kdelibs-4.4.81svn1131245/kdeui/kernel/kapplication.cpp:302
#41 0xb656558e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#42 0xb5a9c1dd in ?? () from /usr/lib/libQtGui.so.4
#43 0xb616855a in QGraphicsView::mouseDoubleClickEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#44 0xb5afbaba in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#45 0xb5ee7555 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#46 0xb5f84541 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#47 0xb61666d4 in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#48 0xb5f86e36 in ?? () from /usr/lib/libQtGui.so.4
#49 0xb656485e in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#50 0xb5a9b27d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#51 0xb5aa2aae in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#52 0xb6bb3fc1 in KApplication::notify (this=0x806a330, receiver=0x94fc6d8, event=0xbf9a7c50) at /usr/src/debug/kdelibs-4.4.81svn1131245/kdeui/kernel/kapplication.cpp:302
#53 0xb656558e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#54 0xb5aa19f4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#55 0xb5b2f91a in ?? () from /usr/lib/libQtGui.so.4
#56 0xb5b2eec4 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#57 0xb5b5c2a8 in ?? () from /usr/lib/libQtGui.so.4
#58 0xb3b584c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#59 0xb3b5bd98 in ?? () from /usr/lib/libglib-2.0.so.0
#60 0xb3b5bebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#61 0xb65921b1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#62 0xb5b5bdfa in ?? () from /usr/lib/libQtGui.so.4
#63 0xb6563bfd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#64 0xb6564049 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#65 0xb65692f0 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#66 0xb5a9b354 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#67 0xb774911f in kdemain (argc=1, argv=0xbf9a8614) at /usr/src/debug/kdebase-workspace-4.4.81svn1131245/plasma/desktop/shell/main.cpp:118
#68 0x0804860b in main (argc=1, argv=0xbf9a8614) at /usr/src/debug/kdebase-workspace-4.4.81svn1131245/build/plasma/desktop/shell/plasma-desktop_dummy.cpp:3

Reported using DrKonqi
Comment 1 Chani 2010-06-01 19:26:20 UTC
and this is what happens when you have a list of unguarded pointers and aren't even trying to update it when they're deleted. :) oops.

Thanks for the report, I'll fix it asap. After I go educate myself on all the shiny safe-pointer types Qt now offers. :P
Comment 2 Chani 2010-06-01 19:28:40 UTC
*** Bug 240031 has been marked as a duplicate of this bug. ***
Comment 3 Andreas Kuhl 2010-06-02 22:15:57 UTC
Created attachment 47621 [details]
New crash information added by DrKonqi

plasma-desktop (0.3) on KDE Platform 4.4.81 (KDE 4.4.81 (KDE 4.5 >= 20100527)) "release 8" using Qt 4.7.0

I deleted an activity in activity manager which crashed plasma, producing the attached backgrace.

-- Backtrace (Reduced):
#8  0xb7447452 in Plasma::AbstractIconList::itemPosition(int) () from /usr/lib/libplasmagenericshell.so.4
#9  0xb74477e2 in Plasma::AbstractIconList::manageArrows() () from /usr/lib/libplasmagenericshell.so.4
#10 0xb7448556 in Plasma::AbstractIconList::eventFilter(QObject*, QEvent*) () from /usr/lib/libplasmagenericshell.so.4
#11 0xb6013f0a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#12 0xb55257d7 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
Comment 4 Marc Schiffbauer 2010-06-04 10:16:31 UTC
Created attachment 47663 [details]
New crash information added by DrKonqi

plasma-desktop (0.3) on KDE Platform 4.4.81 (KDE 4.4.81 (KDE 4.5 >= 20100527)) using Qt 4.6.2

- What I was doing when the application crashed:

For me plasma always crashed when I delete one of those "Unnamed" Activities (A very long list). They all have strange Icons with some random play/stop/x-Buttons on them.

-- Backtrace (Reduced):
#6  0x00007f344b67f0c2 in QGraphicsItem::pos (this=0x2711ae0) at graphicsview/qgraphicsitem.cpp:3419
#7  0x00007f343e1e9475 in Plasma::AbstractIconList::itemPosition(int) () from /usr/lib/libplasmagenericshell.so.4
#8  0x00007f343e1e97e3 in Plasma::AbstractIconList::manageArrows() () from /usr/lib/libplasmagenericshell.so.4
#9  0x00007f343e1ea5f2 in Plasma::AbstractIconList::eventFilter(QObject*, QEvent*) () from /usr/lib/libplasmagenericshell.so.4
#10 0x00007f344bec4766 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x240edf0, event=0x7fffbb55cde0) at kernel/qcoreapplication.cpp:819
Comment 5 Nicolas L. 2010-06-04 20:03:21 UTC
SVN commit 1134617 by nlecureuil:

Use QWeakPointer
BUG: 240106


 M  +6 -2      abstracticonlist.cpp  
 M  +2 -1      abstracticonlist.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1134617