Bug 195369

Summary: [steps] Plasma random crash related to extenders [Plasma::ExtenderItem::config, isGroup, isEmpty, Plasma::ExtenderPrivate::updateEmptyExtenderLabel]
Product: [Unmaintained] plasma4 Reporter: Mackenzie Morgan <macoafi>
Component: notificationsAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: a.markiewicz, adix.93, albzey, andresbajotierra, aqeel.padaria, asraniel, babebox666, bruce.lerner, clement.hertling, fizista, gary4gar, gvenour, karl_tatt, knopper67, kovariadam, mo.mashi, nikolai.iossifov, noz, nweibley, pascal, polhallen, revirii, romain.pub, rreese6, thierrybanel, thomas, t_jakob
Priority: NOR Keywords: testcase
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Mackenzie Morgan 2009-06-05 20:28:49 UTC
Application that crashed: plasma-desktop
Version of the application: 0.3
KDE Version: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1))
Qt Version: 4.5.1
Operating System: Linux 2.6.30-6-generic x86_64
Distribution: Ubuntu karmic (development branch)

 -- Backtrace:
Application: Plasma Workspace (plasma-desktop), signal: Segmentation fault
[Current thread is 0 (LWP 4689)]

Thread 2 (Thread 0x7f7895716950 (LWP 4692)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f78b15fe83b in QWaitCondition::wait (this=<value optimized out>, mutex=0x12b4968, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f78ae328d1c in QHostInfoAgent::run (this=0x12b4950) at kernel/qhostinfo.cpp:260
#3  0x00007f78b15fd781 in QThreadPrivate::start (arg=0x12b4950) at thread/qthread_unix.cpp:189
#4  0x00007f78abe2a3ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x00007f78b446e1bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f78b4b68770 (LWP 4689)):
[KCrash Handler]
#5  0x00007f78b40460d0 in Plasma::ExtenderItem::config (this=0x1610730) at ../../plasma/extenderitem.cpp:153
#6  0x00007f78b4047ce2 in Plasma::ExtenderItem::isGroup (this=0x7f78b4136cf7) at ../../plasma/extenderitem.cpp:328
#7  0x00007f78b403ee65 in Plasma::Extender::isEmpty (this=<value optimized out>) at ../../plasma/extender.cpp:656
#8  0x00007f78b403eec9 in Plasma::ExtenderPrivate::updateEmptyExtenderLabel (this=0xffcae0) at ../../plasma/extender.cpp:621
#9  0x00007f78b403f776 in Plasma::Extender::itemAddedEvent (this=0xffc800, item=0x1d22440, pos=<value optimized out>) at ../../plasma/extender.cpp:383
#10 0x00007f78b403e474 in Plasma::ExtenderPrivate::addExtenderItem (this=0xffcae0, item=0x1d22440, pos=@0x7ffffc133870) at ../../plasma/extender.cpp:497
#11 0x00007f78b4048935 in Plasma::ExtenderItem::setExtender (this=0x1d22440, extender=0xffc800, pos=@0x7ffffc133870) at ../../plasma/extenderitem.cpp:234
#12 0x00007f78b404972a in ExtenderItem (this=0x1d22440, hostExtender=<value optimized out>, extenderItemId=<value optimized out>) at ../../plasma/extenderitem.cpp:129
#13 0x00007f7897d4d230 in SystemTray::Applet::addNotification (this=0xf756f0, notification=0xaab330) at ../../../../plasma/applets/systemtray/ui/applet.cpp:539
#14 0x00007f7897d512d4 in SystemTray::Applet::qt_metacall (this=0xf756f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffc133bc0) at ./applet.moc:85
#15 0x00007f78b16fbe12 in QMetaObject::activate (sender=0x1005a00, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x1a78574) at kernel/qobject.cpp:3120
#16 0x00007f7897d311f2 in SystemTray::Manager::notificationAdded (this=0x7ffffc133390, _t1=0xaab330) at ./manager.moc:146
#17 0x00007f7897d32394 in SystemTray::Manager::qt_metacall (this=0x1005a00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffc133d00) at ./manager.moc:109
#18 0x00007f78b16fbe12 in QMetaObject::activate (sender=0x1265cc0, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x1a78574) at kernel/qobject.cpp:3120
#19 0x00007f7897d32692 in SystemTray::Protocol::notificationCreated (this=0x7ffffc133390, _t1=0xaab330) at ./protocol.moc:99
#20 0x00007f7897d3fb4c in SystemTray::DBusNotificationProtocol::dataUpdated (this=0x1265cc0, source=<value optimized out>, data=<value optimized out>)
    at ../../../../plasma/applets/systemtray/protocols/notifications/dbusnotificationprotocol.cpp:122
#21 0x00007f7897d40894 in SystemTray::DBusNotificationProtocol::qt_metacall (this=0x1265cc0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffc134170)
    at ./dbusnotificationprotocol.moc:76
#22 0x00007f78b16eeb97 in QMetaMethod::invoke (this=0x7ffffc134420, object=0x1265cc0, connectionType=<value optimized out>, returnValue=
        {<QGenericArgument> = {_data = 0x0, _name = 0x0}, <No data fields>}, val0={_data = 0x7ffffc134810, _name = 0x7f78b4136039 "QString"}, val1=
      {_data = 0x7ffffc134800, _name = 0x7f78b4136041 "Plasma::DataEngine::Data"}, val2={_data = 0x0, _name = 0x0}, val3={_data = 0x0, _name = 0x0}, val4={_data = 0x0, _name = 0x0}, val5=
      {_data = 0x0, _name = 0x0}, val6={_data = 0x0, _name = 0x0}, val7={_data = 0x0, _name = 0x0}, val8={_data = 0x0, _name = 0x0}, val9={_data = 0x0, _name = 0x0}) at kernel/qmetaobject.cpp:1522
#23 0x00007f78b16ef236 in QMetaObject::invokeMethod (obj=0x1265cc0, member=<value optimized out>, type=<value optimized out>, ret={<QGenericArgument> = {_data = 0x0, _name = 0x0}, <No data fields>}, 
    val0={_data = 0x7ffffc134810, _name = 0x7f78b4136039 "QString"}, val1={_data = 0x7ffffc134800, _name = 0x7f78b4136041 "Plasma::DataEngine::Data"}, val2={_data = 0x0, _name = 0x0}, val3=
      {_data = 0x0, _name = 0x0}, val4={_data = 0x0, _name = 0x0}, val5={_data = 0x0, _name = 0x0}, val6={_data = 0x0, _name = 0x0}, val7={_data = 0x0, _name = 0x0}, val8={_data = 0x0, _name = 0x0}, 
    val9={_data = 0x0, _name = 0x0}) at kernel/qmetaobject.cpp:1114
#24 0x00007f78b4032e78 in Plasma::DataEnginePrivate::connectSource (this=<value optimized out>, s=0x1ab8f20, visualization=0x1265cc0, pollingInterval=<value optimized out>, 
    align=<value optimized out>, immediateCall=<value optimized out>) at /usr/include/qt4/QtCore/qobjectdefs.h:403
#25 0x00007f78b40335a9 in Plasma::DataEngine::connectSource (this=0x12d4690, source=<value optimized out>, visualization=0x1265cc0, pollingInterval=0, intervalAlignment=Plasma::NoAlignment)
    at ../../plasma/dataengine.cpp:96
#26 0x00007f7897d408b0 in SystemTray::DBusNotificationProtocol::qt_metacall (this=0x1265cc0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffc1349a0)
    at ./dbusnotificationprotocol.moc:75
#27 0x00007f78b16fbe12 in QMetaObject::activate (sender=0x12d4690, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x1a78574) at kernel/qobject.cpp:3120
#28 0x00007f78b4032592 in Plasma::DataEngine::sourceAdded (this=0x7ffffc133390, _t1=<value optimized out>) at ./dataengine.moc:176
#29 0x00007f78b4033840 in Plasma::DataEngine::setData (this=0x12d4690, source=@0x7ffffc134c40, data=@0x7ffffc134c00) at ../../plasma/dataengine.cpp:211
#30 0x00007f7895b3bebe in NotificationsEngine::Notify (this=0x12d4690, app_name=<value optimized out>, replaces_id=<value optimized out>, event_id=<value optimized out>, 
    app_icon=<value optimized out>, summary=<value optimized out>, body=@0x1b85b60, actions=@0x1c551f0, hints=@0x19502e0, timeout=0)
    at ../../../../plasma/dataengines/notifications/notificationsengine.cpp:92
#31 0x00007f7895b3e0bf in VisualNotificationsAdaptor::qt_metacall (this=0x127c2c0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffffc134f80) at visualnotificationsadaptor.cpp:45
#32 0x00007f78b19ff024 in QDBusConnectionPrivate::deliverCall (this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=@0x197a330, 
    slotIdx=<value optimized out>) at qdbusintegrator.cpp:891
#33 0x00007f78b1a00263 in QDBusConnectionPrivate::activateCall (this=<value optimized out>, object=0x127c2c0, flags=273, msg=@0x1b8b370) at qdbusintegrator.cpp:803
#34 0x00007f78b1a00af7 in QDBusConnectionPrivate::activateObject (this=<value optimized out>, node=@0x1b8b348, msg=<value optimized out>, pathStartPos=<value optimized out>)
    at qdbusintegrator.cpp:1352
#35 0x00007f78b1a00d88 in QDBusActivateObjectEvent::placeMetaCall (this=0x1b8b300) at qdbusintegrator.cpp:1469
#36 0x00007f78b16f5ef9 in QObject::event (this=0x12d4690, e=0x1b8b300) at kernel/qobject.cpp:1118
#37 0x00007f78b1dec3fc in QApplicationPrivate::notify_helper (this=0xaa4020, receiver=0x12d4690, e=0x1b8b300) at kernel/qapplication.cpp:4057
#38 0x00007f78b1df36ae in QApplication::notify (this=0xa8bb20, receiver=0x12d4690, e=0x1b8b300) at kernel/qapplication.cpp:4022
#39 0x00007f78b2edb526 in KApplication::notify (this=0xa8bb20, receiver=0x12d4690, event=0x1b8b300) at ../../kdeui/kernel/kapplication.cpp:307
#40 0x00007f78b16e63ec in QCoreApplication::notifyInternal (this=0xa8bb20, receiver=0x12d4690, event=0x1b8b300) at kernel/qcoreapplication.cpp:610
#41 0x00007f78b16e6eda in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0xa72e60)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#42 0x00007f78b170fa93 in postEventSourceDispatch (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#43 0x00007f78ac07a8be in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#44 0x00007f78ac07df98 in ?? () from /usr/lib/libglib-2.0.so.0
#45 0x00007f78ac07e0c0 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#46 0x00007f78b170f706 in QEventDispatcherGlib::processEvents (this=0xa72a50, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324
#47 0x00007f78b1e821de in QGuiEventDispatcherGlib::processEvents (this=0x7ffffc133390, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#48 0x00007f78b16e4cc2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#49 0x00007f78b16e5094 in QEventLoop::exec (this=0x7ffffc135ad0, flags=) at kernel/qeventloop.cpp:200
#50 0x00007f78b16e7189 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#51 0x00007f78b473621f in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../plasma/shells/desktop/main.cpp:50
#52 0x00007f78b43a65e6 in __libc_start_main (main=0x400730 <main>, argc=1, ubp_av=0x7ffffc135dd8, init=0x400760 <__libc_csu_init>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7ffffc135dc8) at libc-start.c:220
#53 0x0000000000400669 in _start () at ../sysdeps/x86_64/elf/start.S:113
Comment 1 Dario Andres 2009-06-19 00:00:04 UTC
Bug 197016 seems related to this. Thanks
Comment 2 Aaron J. Seigo 2009-06-23 23:31:36 UTC
*** Bug 197016 has been marked as a duplicate of this bug. ***
Comment 3 Dario Andres 2009-07-13 14:43:04 UTC
*** Bug 199917 has been marked as a duplicate of this bug. ***
Comment 4 Dario Andres 2009-07-17 15:56:44 UTC
*** Bug 200553 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2009-08-06 14:34:25 UTC
*** Bug 202753 has been marked as a duplicate of this bug. ***
Comment 6 Dario Andres 2009-08-16 16:53:50 UTC
*** Bug 204012 has been marked as a duplicate of this bug. ***
Comment 7 Dario Andres 2009-09-01 22:55:48 UTC
*** Bug 205840 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2009-09-27 19:58:11 UTC
*** Bug 208711 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2009-09-30 03:32:54 UTC
*** Bug 208924 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2009-10-02 00:57:16 UTC
*** Bug 209147 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2009-10-28 13:22:01 UTC
*** Bug 212146 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2009-11-03 22:12:47 UTC
*** Bug 212945 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2009-11-04 17:43:14 UTC
*** Bug 213110 has been marked as a duplicate of this bug. ***
Comment 14 Beat Wolf 2009-11-23 10:10:45 UTC
*** Bug 215780 has been marked as a duplicate of this bug. ***
Comment 15 Dario Andres 2009-11-24 14:19:49 UTC
From bug 215930:
---
What I was doing when the application crashed:
After going to the Desktop Search in System settings there was a notification
about suggestions to install extra packages. I clicked on the icon that
appeared in the systray (or what i's called now :) and the installation of
soprano-backend-sesame went fine but the plasma-desktop crashed.

---
Updated backtrace:
---
Thread 1 (Thread 0xb77fe700 (LWP 1449)):
[KCrash Handler]
#6  0x014593f3 in Plasma::ExtenderItem::config (this=0x9bcc0a0) at
../../plasma/extenderitem.cpp:153
#7  0x0145b16d in Plasma::ExtenderItem::isGroup (this=0x9bcc0a0) at
../../plasma/extenderitem.cpp:341
#8  0x014511cf in Plasma::Extender::isEmpty (this=0x9d60a90) at
../../plasma/extender.cpp:717
#9  0x01451237 in Plasma::ExtenderPrivate::updateEmptyExtenderLabel
(this=0x9d606d8) at ../../plasma/extender.cpp:681
#10 0x01451983 in Plasma::Extender::itemAddedEvent (this=0x9d60a90,
item=0xb314cc0, pos=...) at ../../plasma/extender.cpp:432
#11 0x014509d7 in Plasma::ExtenderPrivate::addExtenderItem (this=0x9d606d8,
item=0xb314cc0, pos=...) at ../../plasma/extender.cpp:546
#12 0x0145bef1 in Plasma::ExtenderItem::setExtender (this=0xb314cc0,
extender=0x9d60a90, pos=...) at ../../plasma/extenderitem.cpp:247
#13 0x0145cd9a in ExtenderItem (this=0xb314cc0, hostExtender=0x9d60a90,
extenderItemId=0) at ../../plasma/extenderitem.cpp:129
Comment 16 Dario Andres 2009-11-24 14:19:52 UTC
*** Bug 215930 has been marked as a duplicate of this bug. ***
Comment 17 Dario Andres 2009-12-10 13:45:02 UTC
From bug 218092:
---
The power cord for my laptop was disconnected. I reconnected it within a couple of seconds, and plasma gave me the notifications, but crashed after.
Comment 18 Dario Andres 2009-12-10 13:45:06 UTC
*** Bug 218092 has been marked as a duplicate of this bug. ***
Comment 19 Beat Wolf 2009-12-13 17:56:15 UTC
*** Bug 218539 has been marked as a duplicate of this bug. ***
Comment 20 Beat Wolf 2009-12-18 10:09:26 UTC
did anybody reproduce this with the latest kde? (4.4 beta1 or later). thank you
Comment 21 Beat Wolf 2009-12-29 10:03:44 UTC
*** Bug 220479 has been marked as a duplicate of this bug. ***
Comment 22 Beat Wolf 2009-12-29 14:21:59 UTC
testcase how to reproduce the bug from Dario Andres:

-- Information about the crash:
Here using:
---

Qt: 4.6.0 (kde-qt master commit 747ff8e6ef6f5a1163dfa75bc9ac4755ce7083d1
        Date:   Tue Dec 15 11:58:13 2009 +0100)
KDE Development Platform: 4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2))
kdelibs svn rev. 1066769 / kdebase svn rev. 1066769
on ArchLinux i686 - Kernel 2.6.31.6

Steps to reproduce:
---

- Start with a clean account (or empty KDEHOME)
You should have the Battery widget(in the SystemTray?) and the Clock widget
- Click the Battery widget: the extender appears
- Double click the extender's title to collapse it
- Drag the collapsed battery's extender to the Desktop
- Click the Clock widget, the extender appears
- Drag the Clock's extender ("Calendar") to the same container that holds the
collapse battery extender in the Desktop
- Drag the Calendar out of the container to the Desktop. (it creates its own
extender-container)
- Drag the Calendar back to the battery's-container
The calendar is dropped and then it dissapears. (another bug?)
- Remove the extenders-container widget using the "X"
Plasma Crashes
Comment 23 Beat Wolf 2009-12-30 12:47:56 UTC
*** Bug 220668 has been marked as a duplicate of this bug. ***
Comment 24 Beat Wolf 2010-01-06 23:10:09 UTC
*** Bug 221578 has been marked as a duplicate of this bug. ***
Comment 25 Beat Wolf 2010-01-16 17:26:51 UTC
*** Bug 222991 has been marked as a duplicate of this bug. ***
Comment 26 Nate Weibley 2010-01-18 17:46:10 UTC
*** Bug 223311 has been marked as a duplicate of this bug. ***
Comment 27 Beat Wolf 2010-01-19 08:43:46 UTC
*** Bug 223374 has been marked as a duplicate of this bug. ***
Comment 28 Aaron J. Seigo 2010-02-10 09:36:22 UTC
*** Bug 210079 has been marked as a duplicate of this bug. ***
Comment 29 Dario Andres 2010-02-12 14:39:29 UTC
*** Bug 226539 has been marked as a duplicate of this bug. ***
Comment 30 Dario Andres 2010-02-15 14:36:24 UTC
From bug 226989 (4.4.0):

Thread 1 (Thread 0xb3737760 (LWP 8113)):
[KCrash Handler]
#6  Plasma::Applet::config (this=0xb59c5300, group=...) at
../../plasma/applet.cpp:407
#7  0xb755ee8b in Plasma::ExtenderItem::config (this=0x996bdc0) at
../../plasma/extenders/extenderitem.cpp:153
#8  0xb756054d in Plasma::ExtenderItem::isGroup (this=0x996bdc0) at
../../plasma/extenders/extenderitem.cpp:342
#9  0xb7556342 in Plasma::Extender::isEmpty (this=0xa179ca8) at
../../plasma/extenders/extender.cpp:736
#10 0xb7556417 in Plasma::ExtenderPrivate::updateEmptyExtenderLabel
(this=0xa17a318) at ../../plasma/extenders/extender.cpp:692
#11 0xb7556b77 in Plasma::Extender::itemRemovedEvent (this=0xa179ca8,
item=0x9736c38) at ../../plasma/extenders/extender.cpp:451
#12 0xb7555e87 in Plasma::ExtenderPrivate::removeExtenderItem (this=0xa17a318,
item=0x9736c38) at ../../plasma/extenders/extender.cpp:572
#13 0xb756226b in Plasma::ExtenderItem::setExtender (this=0x9736c38,
extender=0x9760200, pos=...) at ../../plasma/extenders/extenderitem.cpp:254
#14 0xb7562b04 in Plasma::ExtenderItem::returnToSource (this=0x9736c38) at
../../plasma/extenders/extenderitem.cpp:468
...
Comment 31 Dario Andres 2010-02-15 14:36:28 UTC
*** Bug 226989 has been marked as a duplicate of this bug. ***
Comment 32 Dario Andres 2010-02-26 21:15:30 UTC
*** Bug 228662 has been marked as a duplicate of this bug. ***
Comment 33 Jonathan Thomas 2010-03-08 00:17:39 UTC
*** Bug 229774 has been marked as a duplicate of this bug. ***
Comment 34 Dario Andres 2010-03-30 15:02:01 UTC
*** Bug 232607 has been marked as a duplicate of this bug. ***
Comment 35 Aaron J. Seigo 2010-05-14 01:03:33 UTC
*** Bug 236536 has been marked as a duplicate of this bug. ***
Comment 36 Marco Martin 2010-05-27 21:53:18 UTC
SVN commit 1131248 by mart:

too much classes clobbers with the Extender's private, protect d->applet behind a QWeakPointer
BUG:195369
BUG:232408
CCBUG:233563
BUG:239022


 M  +4 -1      dialog.cpp  
 M  +43 -20    extenders/extender.cpp  
 M  +18 -14    extenders/extenderitem.cpp  
 M  +1 -1      private/extender_p.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1131248
Comment 37 Beat Wolf 2010-06-18 00:02:47 UTC
*** Bug 242028 has been marked as a duplicate of this bug. ***