| Summary: | Plasmashell crash upon updating to new systray | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Hrvoje Senjan <hrvoje.senjan> |
| Component: | System Tray widget | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | ivan.cukic, notmart |
| Priority: | NOR | ||
| Version First Reported In: | master | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | http://commits.kde.org/plasma-workspace/fdd4a14b2e30d10eeee25f481a3e11969194c7ac | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
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 |
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 ()