Bug 190025 - widget bubblemon after a plasma crash does not reload
Summary: widget bubblemon after a plasma crash does not reload
Status: RESOLVED INTENTIONAL
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-misc (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-19 07:04 UTC by SlashDevDsp
Modified: 2009-04-28 01:05 UTC (History)
3 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 SlashDevDsp 2009-04-19 07:04:14 UTC
Version:            (using Devel)
Compiler:          g++ 4.1.3 
OS:                Linux
Installed from:    Compiled sources

1. load the 'bubblemon' widget on the desktop
2. if for some reason plasma crashes, and plasma reloads the desktop it loads every other widget but not bubblemon.

i.e., if i have clock, cpuinfo, bubblemon widgets loaded before plasma crashed. On plasma-desktop crash the cpuinfo, clock reappear but the bubblemon widget does not auto load after the crash
Comment 1 Dario Andres 2009-04-19 15:48:30 UTC
Can you try this:
- Start Plasma
- Load the BubbleMon widget
- Quit plasma safely (run kquitapp plasma-desktop)
- Restart Plasma
(BubbleMon should be still there)
- Now wait for a Plasma crash (or force it with "kill" and some crash signal)
Plasma crashes and restarts itself

Is Bubblemon still there ?

Also, what KDE svn revision/branch are you using ?
Thanks
Comment 2 SlashDevDsp 2009-04-19 23:38:53 UTC
svn info

qt-copy: 942255
kdelibs:956023
kdebase:956038
Comment 3 SlashDevDsp 2009-04-19 23:50:36 UTC
hmm interesting,

I tried what you mentioned Dario, but it seems that, bubblemon does load back after a plasma crash. I will try to logout and login as sometimes after a plasma crash and plasma reload, on next login bubblemon does not load, I will confirm it now.
Comment 4 SlashDevDsp 2009-04-19 23:55:05 UTC
hmm it loads now - with me forcing a kill -11 plasma-desktop and on re-login, but i am not sure if it autoloads in some instances of a plasma-desktop crash.
Comment 5 Dario Andres 2009-04-25 13:03:12 UTC
I remember some bug/feature about the widgets being saved only on logout/ Plasma exiting properly. So if you added a widget and plasma crashed you lost it. May be it is some kind of regression , or may be it is still there.
Have you tried to add some other widget and forcing a crash ?
Thanks
Comment 6 SlashDevDsp 2009-04-27 14:18:10 UTC
Dario, it might be that sometimes kdesession does not fully quit for me, so i have to force a ctrl+c/d so plasma might have not exited properly causing the bubblemon widget not being saved.
Comment 7 SlashDevDsp 2009-04-27 14:30:00 UTC
ok, it seems if kwin/plasma gets killed bubblemon does not reload on plasma reload. I just tried 

Current trunk details:
qt-copy:959834
kdelibs:959832
kdebase:959843

with clean $HOME and '.' directories, added 'bubblemon' ran systemsettings and changed some settings, upon logout plasma crashed with sigabrt. and plasma tried to reload-itself and bang no bubblemon loaded.

backtrace below:
Application: Plasma Workspace (plasma-desktop), signal SIGABRT
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[New Thread -1279486240 (LWP 14109)]
[New Thread -1503900784 (LWP 14492)]
[Current thread is 0 (LWP 14109)]

Thread 2 (Thread -1503900784 (LWP 14492)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb61cc2a1 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0xb64a69ca in QProcessManager::run (this=0x8089f18) at /home/kde-devel/kdesvn/qt-copy/src/corelib/io/qprocess_unix.cpp:305
#3  0xb63db614 in QThreadPrivate::start (arg=0x8089f18) at /home/kde-devel/kdesvn/qt-copy/src/corelib/thread/qthread_unix.cpp:189
#4  0xb637246b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5  0xb61d36de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1279486240 (LWP 14109)):
[KCrash Handler]
#6  0xffffe410 in __kernel_vsyscall ()
#7  0xb612a875 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb612c201 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb63d33d1 in qt_message_output (msgType=QtFatalMsg, buf=0xd1c99d0 "QWidget: Must construct a QApplication before a QPaintDevice")
    at /home/kde-devel/kdesvn/qt-copy/src/corelib/global/qglobal.cpp:2017
#10 0xb63d349f in qFatal (msg=0xb6e08ab8 "QWidget: Must construct a QApplication before a QPaintDevice") at /home/kde-devel/kdesvn/qt-copy/src/corelib/global/qglobal.cpp:2216
#11 0xb67bf21b in QWidgetPrivate (this=0x8cbeaf8, version=263425) at /home/kde-devel/kdesvn/qt-copy/src/gui/kernel/qwidget.cpp:204
#12 0xb6be2283 in QMenuPrivate (this=0x8cbeaf8) at /home/kde-devel/kdesvn/qt-copy/src/gui/widgets/qmenu_p.h:139
#13 0xb6bd89cc in QMenu (this=0x84945e0, parent=0x0) at /home/kde-devel/kdesvn/qt-copy/src/gui/widgets/qmenu.cpp:1324
#14 0xb76ef512 in KMenu (this=0x84945e0, parent=0x0) at /home/kde-devel/kdesvn/kdelibs/kdeui/widgets/kmenu.cpp:160
#15 0xb752b1f5 in KActionMenu::menu (this=0x8494b28) at /home/kde-devel/kdesvn/kdelibs/kdeui/actions/kactionmenu.cpp:163
#16 0xb752b834 in ~KActionMenu (this=0x8494b28) at /home/kde-devel/kdesvn/kdelibs/kdeui/actions/kactionmenu.cpp:77
#17 0xb64d7a1a in QObjectPrivate::deleteChildren (this=0x84944a0) at /home/kde-devel/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:1854
#18 0xb64de07f in ~QObject (this=0x8470b38) at /home/kde-devel/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:844
#19 0xb6775de8 in ~QAction (this=0x8470b38) at /home/kde-devel/kdesvn/qt-copy/src/gui/kernel/qaction.cpp:622
#20 0xb67d4981 in ~QWidgetAction (this=0x8470b38) at /home/kde-devel/kdesvn/qt-copy/src/gui/kernel/qwidgetaction.cpp:130
#21 0xb7529ccb in ~KAction (this=0x8470b38) at /home/kde-devel/kdesvn/kdelibs/kdeui/actions/kaction.cpp:128
#22 0xb752b588 in ~KActionMenu (this=0x8470b38) at /home/kde-devel/kdesvn/kdelibs/kdeui/actions/kactionmenu.cpp:78
#23 0xa877d001 in ~KNewMenu (this=0x8470b38) at /home/kde-devel/kdesvn/kdebase/apps/lib/konq/knewmenu.cpp:159
#24 0xa87b36fb in ~FolderView (this=0x822f838) at /home/kde-devel/kdesvn/kdebase/apps/plasma/applets/folderview/folderview.cpp:416
#25 0xb7d57686 in qDeleteAll<QList<Plasma::Applet*>::const_iterator> (begin=@0xbf8311a4, end=@0xbf8311a8) at /home/kde-devel/qt4/include/QtCore/qalgorithms.h:350
#26 0xb7d4b99d in ~Containment (this=0x825afb0) at /home/kde-devel/qt4/include/QtCore/qalgorithms.h:358
#27 0xb231e03f in ~DefaultDesktop (this=0x825afb0) at /home/kde-devel/kdesvn/kdebase/workspace/plasma/containments/desktop/desktop.cpp:92
#28 0xb7d5cc3e in qDeleteAll<QList<Plasma::Containment*>::const_iterator> (begin=@0xbf831234, end=@0xbf831238) at /home/kde-devel/qt4/include/QtCore/qalgorithms.h:350
#29 0xb7d5aca5 in ~Corona (this=0x813ffe0) at /home/kde-devel/qt4/include/QtCore/qalgorithms.h:358
#30 0xb7ed9a01 in ~DesktopCorona (this=0x813ffe0) at /home/kde-devel/kdesvn/kdebase/workspace/plasma/shells/desktop/desktopcorona.h:40
#31 0xb64d7a1a in QObjectPrivate::deleteChildren (this=0x8086d48) at /home/kde-devel/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:1854
#32 0xb64de07f in ~QObject (this=0x807e198) at /home/kde-devel/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:844
#33 0xb64cb7f8 in ~QCoreApplication (this=0x807e198) at /home/kde-devel/kdesvn/qt-copy/src/corelib/kernel/qcoreapplication.cpp:537
#34 0xb677c19f in ~QApplication (this=0x807e198) at /home/kde-devel/kdesvn/qt-copy/src/gui/kernel/qapplication.cpp:1074
#35 0xb760a57c in ~KApplication (this=0x807e198) at /home/kde-devel/kdesvn/kdelibs/kdeui/kernel/kapplication.cpp:928
#36 0xb76119d4 in ~KUniqueApplication (this=0x807e198) at /home/kde-devel/kdesvn/kdelibs/kdeui/kernel/kuniqueapplication.cpp:371
#37 0xb7ef16b7 in ~PlasmaApp (this=0x807e198) at /home/kde-devel/kdesvn/kdebase/workspace/plasma/shells/desktop/plasmaapp.cpp:188
#38 0xb7edd983 in kdemain (argc=1, argv=0xbf831554) at /home/kde-devel/kdesvn/kdebase/workspace/plasma/shells/desktop/main.cpp:51
#39 0x080487d6 in main (argc=) at /home/kde-devel/kdesvn/build/kdebase/workspace/plasma/shells/desktop/plasma-desktop_dummy.cpp:3

I hope the bt was useful
Comment 8 Aaron J. Seigo 2009-04-28 00:20:54 UTC
the backtrace is something else (which i'm aware of and working on), the widget-not-appearing-after-reload depends on what your fs is doing; we do save the widget settings out to disk asap. there's not much more we can do than that.
Comment 9 SlashDevDsp 2009-04-28 01:05:29 UTC
Aaron, can you point me to the bug report for the backtrace, so I can keep a track. thanks