Bug 417544 - When kded5 is crashing, System Tray does not show all icons and behavior of icons is incorrect
Summary: When kded5 is crashing, System Tray does not show all icons and behavior of i...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray (show other bugs)
Version: 5.18.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-02-13 09:01 UTC by jan
Modified: 2020-02-19 09:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.18.1
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jan 2020-02-13 09:01:21 UTC
SUMMARY

After the upgrade to Plasma 5.18 several icons are no longer shown in the system tray. These include the keyboard layout switcher and the owncloud client. 

STEPS TO REPRODUCE
1. Upgrade to Plasma 5.18 

OBSERVED RESULT

Several icons are no longer shown in the system tray. These include the keyboard layout switcher and the owncloud client. 

When I click on the Vault icon, it first shows the applet as if I did not have any vaults configured, then the vaults appear. At the same time the dropbox and software update icons are shown in the system tray. After a second, the vaults and the additional icons disappear again.

EXPECTED RESULT

Icons including dropbox, owncloud, and the keyboard layout indicator should be visible at all times. Vaults should show up.


SOFTWARE/OS VERSIONS

Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.18.0
KDE Frameworks Version: 5.67.0
Qt Version: 5.14.1

ADDITIONAL INFORMATION
Comment 1 jan 2020-02-13 19:55:52 UTC
The problem turns out to be caused by kded5 dying because the ModemManager crashes when it tries to request the PIN for my SIM card (c.f. Bug 417545). The backtrace looks like this:

#0  0x00007fffe9a84c19 in ModemMonitor::requestPin(MMModemLock) () at /usr/lib/qt/plugins/kf5/kded/networkmanagement.so
#1  0x00007ffff6d2846e in  () at /usr/lib/libQt5Core.so.5
#2  0x00007fffe93c0522 in ModemManager::Modem::unlockRequiredChanged(MMModemLock) () at /usr/lib/libKF5ModemManagerQt.so.6
#3  0x00007fffe93c3fec in  () at /usr/lib/libKF5ModemManagerQt.so.6
#4  0x00007ffff6d2026a in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#5  0x00007ffff7a16362 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#6  0x00007ffff7a1f819 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#7  0x00007ffff6cf2962 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#8  0x00007ffff6cf51c6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#9  0x00007ffff6d4b9d4 in  () at /usr/lib/libQt5Core.so.5
#10 0x00007ffff592339e in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#11 0x00007ffff59251b1 in  () at /usr/lib/libglib-2.0.so.0
#12 0x00007ffff59251f1 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#13 0x00007ffff6d4b020 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#14 0x00007ffff6cf14cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007ffff6cf94d6 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#16 0x000055555555a6ad in  ()
#17 0x00007ffff66c5023 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x000055555555a9be in  ()
Comment 2 Konrad Materka 2020-02-16 23:04:21 UTC
Nothing can be done in System Tray. KDED starts a DBus service which holds all StatusNotifierIcons (SNI). When it is killed (or crashed) service is lost and icons disappear. When you clicked on the vault applet it (re)started KDED, which also started SNI daemon.

Proper solution is to fix this crash in KDED. Maybe KDED should automatically restart after crash? Is it possible?

Can you install debug symbols and generate stack trace again? The crash is in ModemMonitor::requestPin(MMModemLock) but it is hard to guess where exactly.
Comment 3 jan 2020-02-19 09:10:42 UTC
Thank you! The problem is fixed in 5.18.1.