So after new tray commits, can't get plasma to start. Reproducible: Always Plasma::Applet::id (this=0x0) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:131 131 /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp: No such file or directory. (gdb) bt #0 0x00007ffff6144340 in Plasma::Applet::id() const (this=0x0) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:131 #1 0x00007fffbde54353 in () at /usr/lib64/qt5/plugins/plasma/applets/org.kde.plasma.systemtray.so #2 0x00007ffff6144d20 in Plasma::Applet::flushPendingConstraintsEvents() (this=0x1517ce0) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:552 #3 0x00007ffff6146e0b in Plasma::Applet::timerEvent(QTimerEvent*) (this=0x1517ce0, event=<optimized out>) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:773 #4 0x00007ffff1d8dfc4 in QObject::event(QEvent*) (this=0x1517ce0, e=<optimized out>) at kernel/qobject.cpp:1237 #5 0x00007ffff2eeb60c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #6 0x00007ffff2eefa22 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #7 0x00007ffff1d63005 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x1517ce0, event=event@entry=0x7fffffffd640) at kernel/qcoreapplication.cpp:1015 #8 0x00007ffff1db2d4e in QTimerInfoList::activateTimers() (event=0x7fffffffd640, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:227 #9 0x00007ffff1db2d4e in QTimerInfoList::activateTimers() (this=0x770660) at kernel/qtimerinfo_unix.cpp:637 #10 0x00007ffff1db3111 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176 #11 0x00007fffedb90c84 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #12 0x00007fffedb90ed8 in () at /usr/lib64/libglib-2.0.so.0 #13 0x00007fffedb90f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #14 0x00007ffff1db33dc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7735b0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #15 0x00007ffff1d6104b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd880, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #16 0x00007ffff1d68f56 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1285 #17 0x000000000041cfec in () #18 0x00007ffff13eab05 in __libc_start_main () at /lib64/libc.so.6 #19 0x000000000041d165 in _start ()
with plasma-workspace debuginfo: #0 0x00007ffff6144340 in Plasma::Applet::id() const (this=0x0) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:131 #1 0x00007fffbde54353 in SystemTrayContainer::constraintsEvent(QFlags<Plasma::Types::Constraint>) (this=0xfc3050, constraints=...) at /usr/src/debug/plasma-workspace-5.5.90git~20160308T142059~972cc4d/applets/systemtray/container/systemtraycontainer.cpp:90 #2 0x00007ffff6144d20 in Plasma::Applet::flushPendingConstraintsEvents() (this=0xfc3050) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:552 #3 0x00007ffff6146e0b in Plasma::Applet::timerEvent(QTimerEvent*) (this=0xfc3050, event=<optimized out>) at /usr/src/debug/plasma-framework-5.20.0git.20160308T153950~5b0ec83/src/plasma/applet.cpp:773 #4 0x00007ffff1d8dfc4 in QObject::event(QEvent*) (this=0xfc3050, e=<optimized out>) at kernel/qobject.cpp:1237 #5 0x00007ffff2eeb60c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #6 0x00007ffff2eefa22 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #7 0x00007ffff1d63005 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0xfc3050, event=event@entry=0x7fffffffd640) at kernel/qcoreapplication.cpp:1015 #8 0x00007ffff1db2d4e in QTimerInfoList::activateTimers() (event=0x7fffffffd640, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:227 #9 0x00007ffff1db2d4e in QTimerInfoList::activateTimers() (this=0x770740) at kernel/qtimerinfo_unix.cpp:637 #10 0x00007ffff1db3111 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176 #11 0x00007fffedb90c84 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #12 0x00007fffedb90ed8 in () at /usr/lib64/libglib-2.0.so.0 #13 0x00007fffedb90f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #14 0x00007ffff1db33dc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7733a0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #15 0x00007ffff1d6104b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd880, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #16 0x00007ffff1d68f56 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1285 #17 0x000000000041cfec in main(int, char**) (argc=1, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.5.90git~20160308T142059~972cc4d/shell/main.cpp:139
I've tracked down the problem: - plasmashell tries to create a new containment, systemtraycontainer.cpp:89 - plasma framework rejects because (corona.cpp:244) immutability != Mutable
Additionally, once the new tray is initialised by force, everything works properly on subsequent runs.
Git commit fdd4a14b2e30d10eeee25f481a3e11969194c7ac by Ivan Čukić. Committed on 09/03/2016 at 10:53. Pushed by ivan into branch 'master'. Forcing the creation of the systray containment even if plasma is not mutable This requires the latest master of plasma-framework (as of a minute ago) Reviewed-by: mart M +1 -1 applets/systemtray/container/systemtraycontainer.cpp http://commits.kde.org/plasma-workspace/fdd4a14b2e30d10eeee25f481a3e11969194c7ac