| Summary: | kded5 crashes in ModemMonitor::requestPin(MMModemLock) | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | jan |
| Component: | Networking in general | Assignee: | Jan Grulich <jgrulich> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | frederick888, jgrulich, lamarque, lukas.tinkl, meven29, nate |
| Priority: | NOR | Keywords: | regression |
| Version First Reported In: | master | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| See Also: | https://bugs.kde.org/show_bug.cgi?id=417544 | ||
| Latest Commit: | https://commits.kde.org/plasma-nm/24c9505c67d9569cf276341e2297712ecdd95d2c | Version Fixed/Implemented In: | 5.18.1 |
| Sentry Crash Report: | |||
|
Description
jan
2020-02-13 09:16:49 UTC
I'm also running 5.18.0 on Arch and the shortcut works for me. Could you try re-assign this shortcut in Global Shortcuts -> KDE Daemon -> Show System Activity to see whether there are any issues, e.g. conflicts? There was a second assignment for Ctrl+Esc (close window), but that's not it. Turns out that kded5 crashes on startup and therefore isn't running. If I start it from konsole I get the following messages:
Installing the delayed initialization callback.
org.kde.knotifications: env says KDE is running but SNI unavailable -- check KDE_FULL_SESSION and XDG_CURRENT_DESKTOP
bluedevil: Created
print-manager.kded: unable to register service to dbus
kcm_touchpad: Using X11 backend
Width: 2062 height: 1076
Approx. resX: 22 resY: 21
Touchpad resolution: x: 31 y: 31
Final resolution x: 31 y: 31
Delayed initialization.
Reloading the khotkeys configuration
Version 2 File!
true
Imported file "/usr/share/khotkeys/konqueror_gestures_kde321.khotkeys"
Imported file "/usr/share/khotkeys/konsole.khotkeys"
Imported file "/usr/share/khotkeys/kde32b1.khotkeys"
Imported file "/usr/share/khotkeys/defaults.khotkeys"
Registering ":1.266/org/ayatana/NotificationItem/dropbox_client_4434" to system tray
Registering ":1.252/org/ayatana/NotificationItem/Update_Manager" to system tray
Registering "org.kde.StatusNotifierHost-4103" as system tray
bluedevil: Bluetooth operational changed true
Registering ":1.289/StatusNotifierItem" to system tray
bluedevil: ObexManager operational changed true
plasma-nm: unlockRequired == 2
kf5.ki18n: "0 instead of 1 arguments to message {The mobile broadband...} supplied before conversion."
QSharedPointer: cannot create a QSharedPointer from a QObject-tracking QWeakPointer
KCrash: Attempting to start /usr/bin/kded5 from kdeinit
sock_file=/run/user/1000/kdeinit5__0
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kded5 path = /usr/bin pid = 5394
KCrash: Arguments: /usr/bin/kded5
Segmentation fault (core dumped)
Please add the backtrace for the crash. It could be a duplicate of bug 416961 if you are using a Wayland session. Hm, from the backtrace it seems to be the ModemManager requesting the PIN for my SIM card that fails. If I remove the SIM card, kded5 starts and everything behaves normally including the System Tray (see Bug 417544). #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 () Could install debug symbols for plasma-nm so that we can have a better trace ? https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports Also since you have a sim modem, did you have a prompt asking you for your PIN or did have it stored in kwallet for instance ? Interesting. Thanks for the info so far; can you please provided the additional information that Méven has requested? Yes, I usually had a prompt asking for the PIN, but currently it doesn't appear. If I unlock the SIM, e.g., via ModemManager, I can start kded5 without crashing. I also tried setting the mobile connection to auto connect and storing the PIN there. kded5 crashes before the connection can be established, but once it is established, I can restart it. Unfortunately, Arch Linux doesn't provide packages with debug symbols, so the trace I attached is the best I can do. You can probably build one with debug info yourself with:
diff --git a/repos/extra-x86_64/PKGBUILD b/repos/extra-x86_64/PKGBUILD
index fa028f9..f5f98a0 100644
--- a/repos/extra-x86_64/PKGBUILD
+++ b/repos/extra-x86_64/PKGBUILD
@@ -12,8 +12,9 @@ license=(GPL2)
depends=(plasma-workspace modemmanager-qt networkmanager-qt qca mobile-broadband-provider-info)
makedepends=(extra-cmake-modules openconnect)
optdepends=('openconnect: Cisco AnyConnect VPN plugin')
groups=(plasma)
+options+=(debug !strip)
source=("https://download.kde.org/stable/plasma/$pkgver/$pkgname-$pkgver.tar.xz"{,.sig})
sha256sums=('526cac8d0e189d1fb0a8842b02ca2485e386d3551bd9ef7a9be094c4be9f858e'
'SKIP')
validpgpkeys=('2D1D5B0588357787DE9EE225EC94D18F7F05997E' # Jonathan Riddell <jr@jriddell.org>
@@ -27,9 +28,10 @@ prepare() {
build() {
cd build
cmake ../$pkgname-$pkgver \
- -DBUILD_TESTING=OFF
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo
make
}
package() {
$ asp update
$ asp checkout plasma-nm
$ cd plasma-nm/repos/extra-x86_64
$ git apply "/path/to/diff"
$ makepkg -is
@jan@meinkes.com This is a bug hard to reproduce as it pretty much requires specific hardware and settings. So please find the energy to produce a stacktrace if you want this bug to have a chance to get fixed. Git commit 24c9505c67d9569cf276341e2297712ecdd95d2c by Jan Grulich. Committed on 18/02/2020 at 11:25. Pushed by grulich into branch 'Plasma/5.18'. Fix crash when asking for a modem unlock M +21 -21 kded/modemmonitor.cpp https://commits.kde.org/plasma-nm/24c9505c67d9569cf276341e2297712ecdd95d2c (In reply to Frederick Zhang from comment #8) Thanks for the instructions. I also needed to add options=(debug !strip) to the PKGBUILD file. With this I get the following trace: QSharedPointer: cannot create a QSharedPointer from a QObject-tracking QWeakPointer Thread 1 "kded5" received signal SIGSEGV, Segmentation fault. ModemMonitor::requestPin (this=0x55555593cf20, lock=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:452 452 static void deref(Data *dd) noexcept (gdb) bt #0 ModemMonitor::requestPin(MMModemLock) (this=0x55555593cf20, lock=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:452 #1 0x00007ffff6d2846e in () at /usr/lib/libQt5Core.so.5 #2 0x00007fffe93c2711 in ModemManager::Modem::unlockRequiredChanged(MMModemLock) (this=<optimized out>, _t1=<optimized out>) at /home/meinke/tmp/modemmanager-qt/repos/extra-x86_64/src/build/src/KF5ModemManagerQt_autogen/EWIEGA46WW/moc_modem.cpp:789 #3 0x00007fffe93c6030 in ModemManager::Modem::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x555555b42c70, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/meinke/tmp/modemmanager-qt/repos/extra-x86_64/src/build/src/KF5ModemManagerQt_autogen/EWIEGA46WW/moc_modem.cpp:271 #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 () (In reply to Jan Grulich from comment #10) > Git commit 24c9505c67d9569cf276341e2297712ecdd95d2c by Jan Grulich. > Committed on 18/02/2020 at 11:25. > Pushed by grulich into branch 'Plasma/5.18'. > > Fix crash when asking for a modem unlock > > M +21 -21 kded/modemmonitor.cpp > > https://commits.kde.org/plasma-nm/24c9505c67d9569cf276341e2297712ecdd95d2c Thanks for the fix. Looking forward to the update! I just installed and tested 5.18.1. The problem is fixed. Thanks again! Bulk transfer as requested in T17796 |