| Summary: | KDED crashed in std::__uniq_ptr_impl<KNotification::Private, std::default_delete<KNotification::Private> >::_M_ptr while a plasma-nm connectivity status change notification was being deleted | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | BryanLiang <liangrui.ch> |
| Component: | Networking in general | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | crash | CC: | kdelibs-bugs-null, nate, sitter |
| Priority: | NOR | ||
| Version First Reported In: | 6.2.2 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | the stack trace of the coredump file | ||
It seems that the plasma-kded6.service will not be restarted when crashed unless user restart it manually or re-login according to its service file. [Unit] Description=KDE Daemon 6 PartOf=graphical-session.target After=plasma-kcminit.service [Service] ExecStart=/usr/bin/kded6 BusName=org.kde.kded6 Slice=session.slice TimeoutStopSec=5sec I think something like `Restart=on-failure` should be added to it. Please file a separate bug about the daemon not restarting. We'll use this one to track the crash, which actually happens inside plasma-nm it seems. Bulk transfer as requested in T17796 Crashed while clicking a plasma-nm notification, seemingly:
#5 std::__uniq_ptr_impl<KNotification::Private, std::default_delete<KNotification::Private> >::_M_ptr (this=0x10) at /usr/include/c++/14.2.1/bits/unique_ptr.h:193
No locals.
#6 std::unique_ptr<KNotification::Private, std::default_delete<KNotification::Private> >::get (this=0x10) at /usr/include/c++/14.2.1/bits/unique_ptr.h:464
No locals.
#7 std::unique_ptr<KNotification::Private, std::default_delete<KNotification::Private> >::operator-> (this=0x10) at /usr/include/c++/14.2.1/bits/unique_ptr.h:457
No locals.
#8 KNotification::xdgActivationToken (this=0x0) at /usr/src/debug/knotifications/knotifications-6.7.0/src/knotification.cpp:628
No locals.
#9 0x00007a4554295008 in operator() (__closure=0x7a4560050290) at /usr/src/debug/plasma-nm/plasma-nm-6.2.2/kded/connectivitymonitor.cpp:77
job = 0x5cea2c466e80
this = 0x7a456003e700
this = <optimized out>
job = <optimized out>
#10 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:141
arg = <optimized out>
f = <optimized out>
arg = <optimized out>
f = <optimized out>
#11 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, ConnectivityMonitor::connectivityChanged(NetworkManager::Connectivity)::<lambda()> >::call(ConnectivityMonitor::connectivityChanged(NetworkManager::Connectivity)::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
No locals.
#12 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, ConnectivityMonitor::connectivityChanged(NetworkManager::Connectivity)::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:140
No locals.
#13 QtPrivate::FunctorCallable<ConnectivityMonitor::connectivityChanged(NetworkManager::Connectivity)::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:362
No locals.
#14 QtPrivate::QCallableObject<ConnectivityMonitor::connectivityChanged(NetworkManager::Connectivity)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x7a4560050280, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:572
that = 0x7a4560050280
#15 0x00007a456c3b2229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486
No locals.
#16 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120
obj = {m_slotObject = std::unique_ptr<QtPrivate::QSlotObjectBase> = {get() = 0x7a4560050280}}
receiver = 0x7a456003e700
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x7a456003e700, sender = 0x5cea2c1e6780, signal = 3}
c = 0x5cea2c720000
connections = <optimized out>
list = <optimized out>
inSenderThread = <optimized out>
highestConnectionId = <optimized out>
signalVector = 0x5cea2c748e60
currentThreadId = <optimized out>
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#17 0x00007a456603f773 in KNotification::activate (this=0x5cea2c788a00, actionId=...) at /usr/src/debug/knotifications/knotifications-6.7.0/src/knotification.cpp:383
action = 0x5cea2c1e6780
__for_range = <optimized out>
__for_begin = <optimized out>
__for_end = <optimized out>
#18 KNotificationManager::notificationActivated (this=0x7a4566065cb0 <_ZZN13QGlobalStaticIN14QtGlobalStatic6HolderIN12_GLOBAL__N_112Q_QGS_s_selfEEEE8instanceEvE6holder.lto_priv.0>, id=18, actionId=...) at /usr/src/debug/knotifications/knotifications-6.7.0/src/knotificationmanager.cpp:150
n = 0x5cea2c788a00
Bryan, do you remember what you were doing when this happened? And specifically what you clicked on? Was it a "Connect" or "Disconnect" button in a notification? And if so, for what network type?
If I remember correctly, I was using my school network at the time, which requires logging in through a captive portal. After connecting to the Wi-Fi, a login notification appeared in the bottom-right corner. I ignored it and logged in through the browser instead. Even after logging in, the notification remained, and when I clicked the ‘Login’ button on it, `kded` crashed. Thanks. Any chance you've got a setup to replicate it to see if it still happens in Plasma 6.4 or later? (In reply to Nate Graham from comment #6) > Thanks. Any chance you've got a setup to replicate it to see if it still > happens in Plasma 6.4 or later? I'm afraid not. I have leaved the school and I cannot find a wifi requiring logging through the portal now. Thanks. Given that you can't reproduce it anymore and it was reported against an older version of Plasma, I'm afraid there's likely nothing we can do about this. For what it's worth, I travel fairly frequently and use captive portals a lot, and haven't encountered this crash. I can keep an eye out for it in the future. |
Created attachment 175509 [details] the stack trace of the coredump file SUMMARY Kded crashed, which make all the 3rd application like solaar, keepassxc tray not visable. OBSERVED RESULT All the 3rd application like solaar, keepassxc tray not visable. EXPECTED RESULT Kded did not crash SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.2.2 KDE Frameworks Version: 6.7.0 Qt Version: 6.8.0 Kernel Version: 6.11.6-zen1-1-zen-cjktty (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 5800H with Radeon Graphics Memory: 13.5 GiB of RAM Graphics Processor: AMD Radeon Graphics ADDITIONAL INFORMATION