Bug 218064

Summary: Plasma-desktop crashes on boot, or on subsequent running [Plasma::PopupAppletPrivate::updateDialogPosition, Plasma::PopupAppletPrivate::popupConstraintsEvent, Plasma::Applet::flushPendingConstraintsEvents]
Product: [Unmaintained] plasma4 Reporter: Stewart Peters <gorgonizer>
Component: widget-systemtrayAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, aseigo, asraniel, carleeto, echidnaman, jal, marokanski.kazak, notmart, sol.jerome, timothy.soehnlin
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Stewart Peters 2009-12-10 02:14:28 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.3.80 (KDE 4.3.80 (KDE 4.4 Beta1))
Qt Version: 4.6.0
Operating System: Linux 2.6.32-7-generic x86_64
Distribution: Ubuntu lucid (development branch)

-- Information about the crash:
Plasma-desktop crashes after logging in to KDE 4.4 Beta 1.  Plasma-desktop appears once, screen turns black, desktop reappears then finally screen goes blank.  Subsequent attempts to run plasma-desktop from either KRunner or console results in the same operation.

The crash can be reproduced everytime.

 -- Backtrace:
Application: Plasma Workspace (plasma-desktop), signal: Segmentation fault
The current source language is "auto; currently c".
[KCrash Handler]
#5  Plasma::PopupAppletPrivate::updateDialogPosition (this=0xd3ce20) at ../../plasma/popupapplet.cpp:702
#6  0x00007f91cf8e8c0a in Plasma::PopupAppletPrivate::popupConstraintsEvent (this=0xd3ce20, constraints=) at ../../plasma/popupapplet.cpp:396
#7  0x00007f91cf88d726 in Plasma::Applet::flushPendingConstraintsEvents (this=0xd3b2d0) at ../../plasma/applet.cpp:1268
#8  0x00007f91ae28703f in SystemTray::PlasmoidTask::forwardConstraintsEvent (this=0xd1fc80, constraints=<value optimized out>)
    at ../../../../../plasma/generic/applets/systemtray/protocols/plasmoid/plasmoidtask.cpp:141
#9  0x00007f91ae285f73 in SystemTray::PlasmoidProtocol::forwardConstraintsEvent (this=<value optimized out>, constraints=)
    at ../../../../../plasma/generic/applets/systemtray/protocols/plasmoid/plasmoidtaskprotocol.cpp:52
#10 0x00007f91ae279c89 in SystemTray::Manager::forwardConstraintsEvent (this=<value optimized out>, constraints=<value optimized out>)
    at ../../../../../plasma/generic/applets/systemtray/core/manager.cpp:243
#11 0x00007f91ae296af3 in SystemTray::Applet::constraintsEvent (this=0xc66610, constraints=) at ../../../../../plasma/generic/applets/systemtray/ui/applet.cpp:345
#12 0x00007f91cf88d744 in Plasma::Applet::flushPendingConstraintsEvents (this=0xc66610) at ../../plasma/applet.cpp:1272
#13 0x00007f91d0017a05 in DesktopCorona::saveDefaultSetup (this=0x6f7fc0) at ../../../../plasma/desktop/shell/desktopcorona.cpp:407
#14 0x00007f91d001ac18 in DesktopCorona::qt_metacall (this=0x6f7fc0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffdc31dc0) at ./desktopcorona.moc:85
#15 0x00007f91cc5c6833 in QMetaObject::activate (sender=0xda1de0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x137e901) at kernel/qobject.cpp:3294
#16 0x00007f91cc5ce0cf in QSingleShotTimer::timerEvent (this=0xda1de0) at kernel/qtimer.cpp:308
#17 0x00007f91cc5c34a3 in QObject::event (this=0xda1de0, e=0x7ffffdc32490) at kernel/qobject.cpp:1224
#18 0x00007f91cccfdf2c in QApplicationPrivate::notify_helper (this=0x658240, receiver=0xda1de0, e=0x7ffffdc32490) at kernel/qapplication.cpp:4242
#19 0x00007f91ccd0453d in QApplication::notify (this=0x6482f0, receiver=0xda1de0, e=0x7ffffdc32490) at kernel/qapplication.cpp:4125
#20 0x00007f91cdeb37d6 in KApplication::notify (this=0x6482f0, receiver=0xda1de0, event=0x7ffffdc32490) at ../../kdeui/kernel/kapplication.cpp:302
#21 0x00007f91cc5b3abc in QCoreApplication::notifyInternal (this=0x6482f0, receiver=0xda1de0, event=0x7ffffdc32490) at kernel/qcoreapplication.cpp:704
#22 0x00007f91cc5e07a2 in QCoreApplication::sendEvent (this=0x65b6b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#23 QTimerInfoList::activateTimers (this=0x65b6b0) at kernel/qeventdispatcher_unix.cpp:603
#24 0x00007f91cc5dd388 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#25 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#26 0x00007f91c5db1d4e in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x00007f91c5db5718 in ?? () from /lib/libglib-2.0.so.0
#28 0x00007f91c5db5840 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x00007f91cc5dd053 in QEventDispatcherGlib::processEvents (this=0x62e1c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#30 0x00007f91ccdac3de in QGuiEventDispatcherGlib::processEvents (this=0x135c030, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#31 0x00007f91cc5b23e2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#32 0x00007f91cc5b27bc in QEventLoop::exec (this=0x7ffffdc32730, flags=) at kernel/qeventloop.cpp:201
#33 0x00007f91cc5b64fb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#34 0x00007f91d0021c92 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../plasma/desktop/shell/main.cpp:112
#35 0x00007f91cfc96add in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7ffffdc32ab8) at libc-start.c:220
#36 0x0000000000400689 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-12-10 13:53:56 UTC
This could be related to bug 217619.
Comment 2 Marco Martin 2009-12-10 21:30:30 UTC
*** Bug 218131 has been marked as a duplicate of this bug. ***
Comment 3 Jonathan Thomas 2009-12-11 14:50:12 UTC
As a note, this happens whenever there isn't either a plasma-desktop-appletsrc  period or the current plasma-desktop-appletsrc lacks a systemtray plasmoid.
Comment 4 Dario Andres 2009-12-14 15:46:08 UTC
@Jonathan: could you upload a "faulty" plasma-desktop-appletsrc ? I have been trying several combinations of possible faulty config files and system tray states but I couldn't reproduce the crash with an updated 4.4 build. Thanks
Comment 5 Jonathan Thomas 2009-12-14 15:48:55 UTC
I'm not sure about the lacking a system tray part anymore, so it may not happen in that case.
It definitely does happen when no plasma-desktop-appletsrc is present and the corona code generates the default layout.
Comment 6 Dario Andres 2009-12-14 15:54:21 UTC
I just tried here using:

Qt: 4.6.0 (kde-qt master commit cd8595efe9aace2afdaa5db37af7cfe82b87e4aa
        Date:   Wed Nov 18 01:33:21 2009 +0100)
KDE Development Platform: 4.3.81 (KDE 4.3.81 (KDE 4.4 >= 20091204))
kdelibs svn rev. 1060674 / kdebase svn rev. 1060675
on ArchLinux i686 - Kernel 2.6.31.6

With a clean environment (empty KDEHOME), Plasma-desktop starts normally and the default "scheme" is created

After the first config files are created, if I remove the plasma-desktop-appletsrc file and I start plasma-desktop again, the file is created without problems

In both cases, plasma-desktop doesn't crash... :?
Comment 7 Stewart Peters 2009-12-14 16:00:43 UTC
Apologies for the delay,subsequent updates seem to have resolved this issue, removed plasma*rc files, restarted KDE 4.4, plasma-desktop started fine, no crashes.

Regards

Stewart
Comment 8 Jonathan Thomas 2009-12-14 16:10:15 UTC
That's because we uploaded kubuntu-default-settings with a plasma-desktop-appletsrc that was known not to fail. ;-)
Before kubuntu-default-settings wasn't providing a plasma-desktop-appletsrc at all, relying on plasma-desktop to generate a plasma-desktop-appletsrc.
Comment 9 Jonathan Thomas 2009-12-15 00:31:07 UTC
*** Bug 218732 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2009-12-18 20:03:23 UTC
*** Bug 219220 has been marked as a duplicate of this bug. ***
Comment 11 Marco Martin 2009-12-23 12:53:02 UTC
and, this backtrace doesn't make sense since the crash occurs calling corona->screenGeometry(-1)
where corona is abtained with a qobjectcast and the result is checked with a Q_ASSERT
so corona MUST be valid there
Comment 12 Beat Wolf 2009-12-29 10:03:00 UTC
*** Bug 220469 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2009-12-29 14:05:21 UTC
The reporter of bug 220469 seems to experience this crash when using the "Container" widget (a special widget from kde-look which allows the user to group several other widgets)
-- Information about the crash:
KDE crashes every time i use Container plasmoid. It doesn't crash instantly but
after i move it a little or add some other plasmoids and try to move it. It
brings down the whole plasma desktop.
Comment 14 Dario Andres 2009-12-29 19:34:15 UTC
*** Bug 220570 has been marked as a duplicate of this bug. ***
Comment 15 Jonathan Thomas 2010-01-08 02:41:58 UTC
Here's the console output right before the crash, which has relevance to the crash:

plasma-desktop(4601)/libplasma Plasma::AppletPrivate::mainConfigGroup: requesting config for "Battery Monitor" without a containment!
Comment 16 Aaron J. Seigo 2010-01-08 03:02:46 UTC
SVN commit 1071437 by aseigo:

if the Applet requests config() before being added to a containment, but is nested in another Applet, it should still use the nest-Applet's config. i doubt it is a fix for 218064, but this is at least accurate and may address comment #15.
CCBUG:218064


 M  +10 -11    applet.cpp  


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