Bug 235851

Summary: [4.4.74] Plasma crashes when switching to netbook workspace
Product: [Unmaintained] plasma4 Reporter: Johannes Obermayr <johannesobermayr>
Component: plasma-netbookAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: asraniel, johannesobermayr, kde
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
Current backtrace

Description Johannes Obermayr 2010-04-30 22:35:15 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.4.74 (KDE 4.4.74 (KDE 4.5 >= 20100428)) "release 3"
Qt Version: 4.6.3
Operating System: Linux 2.6.34-rc5-22-pae i686
Distribution: "openSUSE 11.2 (i586)"

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

Switching to netbook workspace (since 4.4.73).

- Unusual behavior I noticed:

It also crashes on logout and shutdown.

(This text is for drkonqi ...)

The crash can be reproduced some of the time.

-- Backtrace:
Application: Plasma-Arbeitsfläche (kdeinit4), signal: Segmentation fault
[KCrash Handler]
#7  0xb6dccbeb in size (this=<value optimized out>) at ../../src/corelib/tools/qstring.h:104
#8  qHash (this=<value optimized out>) at tools/qhash.cpp:99
#9  0xb4fc2f90 in QHash<QString, Plasma::FrameData*>::findNode (this=0x866bb42, akey=..., ahp=0x0) at /usr/include/QtCore/qhash.h:875
#10 0xb4fbb470 in constFind (akey=<value optimized out>, this=<value optimized out>) at /usr/include/QtCore/qhash.h:854
#11 Plasma::FrameSvg::enabledBorders (akey=<value optimized out>, this=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/framesvg.cpp:81
#12 0xb4fab5d2 in Plasma::ExtenderPrivate::updateBorders (this=0x854a4c0) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/extenders/extender.cpp:684
#13 0xb4faa11f in Plasma::ExtenderPrivate::removeExtenderItem (this=0x854a4c0, item=0x89242b8) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/extenders/extender.cpp:574
#14 0xb4fad7e0 in Plasma::Extender::qt_metacall (this=0x84ea590, _c=InvokeMetaMethod, _id=3, _a=0xbfe31328) at /usr/src/debug/kdelibs-4.4.74svn1120032/build/plasma/extender.moc:102
#15 0xb6eb899d in QMetaObject::metacall (object=0x84ea590, cl=InvokeMetaMethod, idx=17, argv=0xbfe31328) at kernel/qmetaobject.cpp:237
#16 0xb6ec7bb0 in QMetaObject::activate (sender=0x89242b8, m=0xb516f1c0, local_signal_index=0, argv=0xbfe31328) at kernel/qobject.cpp:3287
#17 0xb4fb2e05 in Plasma::ExtenderItem::destroyed (this=0x89242b8, _t1=0x89242b8) at /usr/src/debug/kdelibs-4.4.74svn1120032/build/plasma/extenderitem.moc:165
#18 0xb4fb379c in Plasma::ExtenderItem::~ExtenderItem (this=0x89242b8, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/extenders/extenderitem.cpp:207
#19 0xb6a5e313 in QGraphicsItem::~QGraphicsItem (this=0x890a2d8, __in_chrg=<value optimized out>) at graphicsview/qgraphicsitem.cpp:1378
#20 0xb6ac1fff in ~QGraphicsObject (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../src/gui/graphicsview/qgraphicsitem.h:537
#21 QGraphicsWidget::~QGraphicsWidget (this=<value optimized out>, __in_chrg=<value optimized out>) at graphicsview/qgraphicswidget.cpp:277
#22 0xb6a5e313 in QGraphicsItem::~QGraphicsItem (this=0x890d8b8, __in_chrg=<value optimized out>) at graphicsview/qgraphicsitem.cpp:1378
#23 0xb6ac1fff in ~QGraphicsObject (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../src/gui/graphicsview/qgraphicsitem.h:537
#24 QGraphicsWidget::~QGraphicsWidget (this=<value optimized out>, __in_chrg=<value optimized out>) at graphicsview/qgraphicswidget.cpp:277
#25 0xb6a5e313 in QGraphicsItem::~QGraphicsItem (this=0x8908b78, __in_chrg=<value optimized out>) at graphicsview/qgraphicsitem.cpp:1378
#26 0xb6ac0a6f in ~QGraphicsObject (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../src/gui/graphicsview/qgraphicsitem.h:537
#27 QGraphicsWidget::~QGraphicsWidget (this=<value optimized out>, __in_chrg=<value optimized out>) at graphicsview/qgraphicswidget.cpp:277
#28 0xb507fcf3 in Plasma::ScrollWidget::~ScrollWidget (this=0x8908b70, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/widgets/scrollwidget.cpp:1038
#29 0xb6a5e313 in QGraphicsItem::~QGraphicsItem (this=0x890b310, __in_chrg=<value optimized out>) at graphicsview/qgraphicsitem.cpp:1378
#30 0xb6ac0a6f in ~QGraphicsObject (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../src/gui/graphicsview/qgraphicsitem.h:537
#31 QGraphicsWidget::~QGraphicsWidget (this=<value optimized out>, __in_chrg=<value optimized out>) at graphicsview/qgraphicswidget.cpp:277
#32 0xb4fb38c4 in Plasma::ExtenderItem::~ExtenderItem (this=0x890b308, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/extenders/extenderitem.cpp:209
#33 0xb4fb026d in Plasma::ExtenderGroup::~ExtenderGroup (this=0x890b308, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/extenders/extendergroup.cpp:106
#34 0xb4fabfd0 in Plasma::Extender::~Extender (this=0x84ea590, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/extenders/extender.cpp:114
#35 0xb4f59b1e in Plasma::AppletPrivate::~AppletPrivate (this=0x86c0b90, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/applet.cpp:2602
#36 0xb4f60c22 in Plasma::Applet::~Applet (this=0x847aac0, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/applet.cpp:214
#37 0xb4fc62f6 in Plasma::PopupApplet::~PopupApplet (this=0x847aac0, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/popupapplet.cpp:83
#38 0xa6e23aaa in Notifications::~Notifications (this=0x847aac0, __in_chrg=<value optimized out>)
    at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/generic/applets/notifications/ui/notifications.cpp:114
#39 0xb6a5e313 in QGraphicsItem::~QGraphicsItem (this=0x832f4b0, __in_chrg=<value optimized out>) at graphicsview/qgraphicsitem.cpp:1378
#40 0xb6ac0a6f in ~QGraphicsObject (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../src/gui/graphicsview/qgraphicsitem.h:537
#41 QGraphicsWidget::~QGraphicsWidget (this=<value optimized out>, __in_chrg=<value optimized out>) at graphicsview/qgraphicswidget.cpp:277
#42 0xa795e94e in SystemTray::TaskArea::~TaskArea (this=0x832f4a8, __in_chrg=<value optimized out>)
    at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/generic/applets/systemtray/ui/taskarea.cpp:238
#43 0xa79552f0 in SystemTray::Applet::~Applet (this=0x8302b38, __in_chrg=<value optimized out>)
    at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/generic/applets/systemtray/ui/applet.cpp:115
#44 0xb4f7f7be in qDeleteAll<QList<Plasma::Applet*>::const_iterator> (end=<value optimized out>, begin=<value optimized out>) at /usr/include/QtCore/qalgorithms.h:322
#45 qDeleteAll<QList<Plasma::Applet*> > (end=<value optimized out>, begin=<value optimized out>) at /usr/include/QtCore/qalgorithms.h:330
#46 ~ContainmentPrivate (end=<value optimized out>, begin=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/private/containment_p.h:63
#47 Plasma::Containment::~Containment (end=<value optimized out>, begin=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/containment.cpp:156
#48 0xa7ae9bcb in Panel::~Panel (this=0x825ea78, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/desktop/containments/panel/panel.cpp:128
#49 0xb4f8c906 in qDeleteAll<QList<Plasma::Containment*>::const_iterator> (end=<value optimized out>, begin=<value optimized out>) at /usr/include/QtCore/qalgorithms.h:322
#50 qDeleteAll<QList<Plasma::Containment*> > (end=<value optimized out>, begin=<value optimized out>) at /usr/include/QtCore/qalgorithms.h:330
#51 ~CoronaPrivate (end=<value optimized out>, begin=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/corona.cpp:80
#52 Plasma::Corona::~Corona (end=<value optimized out>, begin=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/plasma/corona.cpp:297
#53 0xb3158d69 in DesktopCorona::~DesktopCorona (this=0x80d7620, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/desktop/shell/desktopcorona.cpp:67
#54 0xb3179fbc in PlasmaApp::cleanup (this=0x809e4a0) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/desktop/shell/plasmaapp.cpp:342
#55 0xb317a112 in PlasmaApp::quit (this=0x0) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/desktop/shell/plasmaapp.cpp:303
#56 0xb3187a66 in quit (this=0x8123e38) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/build/plasma/desktop/shell/appadaptor.cpp:57
#57 PlasmaAppAdaptor::qt_metacall (this=0x8123e38) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/build/plasma/desktop/shell/appadaptor.moc:110
#58 0xb5efed5e in QDBusConnectionPrivate::deliverCall (this=0x809eb30, object=0x8123e38, msg=..., metaTypes=..., slotIdx=0) at qdbusintegrator.cpp:904
#59 0xb5effbdc in QDBusConnectionPrivate::activateCall (this=0x809eb30, object=0x8123e38, flags=337, msg=...) at qdbusintegrator.cpp:809
#60 0xb5f0061b in QDBusConnectionPrivate::activateObject (this=0x809eb30, node=..., msg=..., pathStartPos=135300752) at qdbusintegrator.cpp:1356
#61 0xb5f00a48 in QDBusActivateObjectEvent::placeMetaCall (this=0x95cfd58) at qdbusintegrator.cpp:1477
#62 0xb6ec44cf in QObject::event (this=0x809e4a0, e=0x95cfd58) at kernel/qobject.cpp:1240
#63 0xb6eb308a in QCoreApplication::event (this=0x809e4a0, e=0x95cfd58) at kernel/qcoreapplication.cpp:1555
#64 0xb63eea98 in QApplication::event (this=0x809e4a0, e=0x95cfd58) at kernel/qapplication.cpp:2355
#65 0xb63ea2ac in QApplicationPrivate::notify_helper (this=0x80a5420, receiver=0x809e4a0, e=0x95cfd58) at kernel/qapplication.cpp:4302
#66 0xb63f10e8 in QApplication::notify (this=0x809e4a0, receiver=0x809e4a0, e=0x95cfd58) at kernel/qapplication.cpp:4185
#67 0xb757ac71 in KApplication::notify (this=0x809e4a0, receiver=0x809e4a0, event=0x95cfd58) at /usr/src/debug/kdelibs-4.4.74svn1120032/kdeui/kernel/kapplication.cpp:302
#68 0xb6eb358e in QCoreApplication::notifyInternal (this=0x809e4a0, receiver=0x809e4a0, event=0x95cfd58) at kernel/qcoreapplication.cpp:726
#69 0xb6eb7097 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#70 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1367
#71 0xb6eb721c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1260
#72 0xb6ee06cd in sendPostedEvents () at kernel/qcoreapplication.h:220
#73 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:276
#74 0xb5c5d4c2 in g_main_dispatch (context=<value optimized out>) at gmain.c:1960
#75 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513
#76 0xb5c60d98 in g_main_context_iterate (context=0x80a7478, block=<value optimized out>, dispatch=1, self=0x80a4978) at gmain.c:2591
#77 0xb5c60ebe in IA__g_main_context_iteration (context=0x80a7478, may_block=1) at gmain.c:2654
#78 0xb6ee01b1 in QEventDispatcherGlib::processEvents (this=0x80a4940, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#79 0xb64aadfa in QGuiEventDispatcherGlib::processEvents (this=0x80a4940, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#80 0xb6eb1bfd in QEventLoop::processEvents (this=0xbfe326f4, flags=) at kernel/qeventloop.cpp:149
#81 0xb6eb2049 in QEventLoop::exec (this=0xbfe326f4, flags=...) at kernel/qeventloop.cpp:201
#82 0xb6eb72f0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#83 0xb63ea354 in QApplication::exec () at kernel/qapplication.cpp:3581
#84 0xb31648af in kdemain (argc=1, argv=0x809a468) at /usr/src/debug/kdebase-workspace-4.4.74svn1120032/plasma/desktop/shell/main.cpp:118
#85 0x0804dfb7 in launch (argc=134844872, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x80991c8 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=
    0x8051479 "0") at /usr/src/debug/kdelibs-4.4.74svn1120032/kinit/kinit.cpp:722
#86 0x0804ec57 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/kinit/kinit.cpp:1214
#87 0x0804f0a4 in handle_requests (waitForPid=<value optimized out>) at /usr/src/debug/kdelibs-4.4.74svn1120032/kinit/kinit.cpp:1407
#88 0x0804fe57 in main (argc=4, argv=0xbfe33184, envp=0xbfe33198) at /usr/src/debug/kdelibs-4.4.74svn1120032/kinit/kinit.cpp:1855

Possible duplicates by query: bug 234634.

Reported using DrKonqi
Comment 1 Johannes Obermayr 2010-05-13 08:56:47 UTC
Created attachment 43528 [details]
New crash information added by DrKonqi

plasma-desktop (0.3) on KDE Platform 4.4.75 (KDE 4.4.75 (KDE 4.5 >= 20100505)) "release 2" using Qt 4.6.3

This is the plasma crash on closing. Unlike the plasma crash when switching to netbook workspace this crash occurs only sometimes.

-- Backtrace (Reduced):
#7  0xb6decbeb in size (this=<value optimized out>) at ../../src/corelib/tools/qstring.h:104
#8  qHash (this=<value optimized out>) at tools/qhash.cpp:99
#9  0xb4fdfef0 in QHash<QString, Plasma::FrameData*>::findNode (this=0x852c5ef, akey=..., ahp=0x0) at /usr/include/QtCore/qhash.h:875
#10 0xb4fd83d0 in constFind (akey=<value optimized out>, this=<value optimized out>) at /usr/include/QtCore/qhash.h:854
#11 Plasma::FrameSvg::enabledBorders (akey=<value optimized out>, this=<value optimized out>) at /usr/src/debug/kdelibs-4.4.75svn1123195/plasma/framesvg.cpp:81
Comment 2 Marco Martin 2010-05-13 12:08:46 UTC
SVN commit 1126216 by mart:

check if d->frames is empty
BUG:235851


 M  +4 -0      framesvg.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1126216
Comment 3 Aaron J. Seigo 2010-05-14 02:13:54 UTC
*** Bug 234634 has been marked as a duplicate of this bug. ***
Comment 4 Johannes Obermayr 2010-05-26 16:22:46 UTC
Created attachment 43908 [details]
New crash information added by DrKonqi

plasma-desktop (0.3) on KDE Platform 4.4.80 (KDE 4.4.80 (KDE 4.5 Beta1)) "release 2" using Qt 4.6.3

The bug is not fixed ...

(Add a line for making drkonqi happy ...)

-- Backtrace (Reduced):
#7  0xb4f92d09 in Plasma::FrameSvg::enabledBorders (this=0x8783c08) at /usr/src/debug/kdelibs-4.4.80/plasma/framesvg.cpp:81
#8  0xb4f82e22 in Plasma::ExtenderPrivate::updateBorders (this=0x85cb4d8) at /usr/src/debug/kdelibs-4.4.80/plasma/extenders/extender.cpp:687
#9  0xb4f8196f in Plasma::ExtenderPrivate::removeExtenderItem (this=0x85cb4d8, item=0x8aa14e8) at /usr/src/debug/kdelibs-4.4.80/plasma/extenders/extender.cpp:577
#10 0xb4f85040 in Plasma::Extender::qt_metacall (this=0x85bb140, _c=InvokeMetaMethod, _id=3, _a=0xbffa15b8) at /usr/src/debug/kdelibs-4.4.80/build/plasma/extender.moc:102
[...]
[...]
#13 0xb4f8a665 in Plasma::ExtenderItem::destroyed (this=0x8aa14e8, _t1=0x8aa14e8) at /usr/src/debug/kdelibs-4.4.80/build/plasma/extenderitem.moc:165
Comment 5 Nicolas L. 2010-06-05 10:25:54 UTC
do you have a way to reproduce each time ?
Comment 6 Johannes Obermayr 2010-06-05 11:29:33 UTC
Created attachment 47692 [details]
Current backtrace

Here is a new backtrace with 4.4.82. DrKonqi says it is useless. It also says that debug symbols for /usr/bin/kdeinit4 are missing (but I know they are installed) ...

It is only on first switch from Desktop to Netbook workspace (each time after login). All further switches do not cause crashes.
Comment 7 Aaron J. Seigo 2010-06-10 22:03:55 UTC
SVN commit 1136808 by aseigo:

foreach takes a copy, use a mutable iterator. prevents crashes. also make a few more sanity checks in places to be ++sure about the health when executing those methods.
BUG:235851
BUG:240996


 M  +11 -3     extender.cpp  


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