| Summary: | Plasmashell hangs for ~20 sec. after login when a phone paired via kdeconnect is connected to Wifi | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Jan Rathmann <jan.rathmann> |
| Component: | generic-performance | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | normal | CC: | nate |
| Priority: | NOR | Keywords: | efficiency-and-performance |
| Version First Reported In: | master | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SUMMARY Most of the time, after logging into my Plasma session, there is a ~20 sec. long period where plasmashell hangs (Panel is not responsive). It happens only if my phone that I paired via kdeconnect is connected to my Wifi. The backtrace of the hanging plasmashell gives a hint to kdeconnect too. STEPS TO REPRODUCE 1. Ensure my phone is connected to Wifi. 2. Log into Plasma session. 3. Wait for ~20-30 seconds. During this time, the panel stays responsive (I check it by hovering over the pinned apps with the mouse to see if the tooltips still change). OBSERVED RESULT After those ~20-30 seconds, the panel will become unresponsive, plasmashell hangs. This state persists for ~20 seconds (backtrace below). Then plasmashell unfreezes and the panel becomes responsive again as usual. EXPECTED RESULT Plasmashell does not hang :) SOFTWARE/OS VERSIONS Distro: Kubuntu 25.10 + Backports- & Backports-Beta-PPA KDE Plasma Version: 6.5.4 KDE Frameworks Version: 6.20.0 KDE Connect Version: 25.08.3 Qt Version: 6.9.2 Graphics platform: Wayland ADDITIONAL INFORMATION * I can't reproduce the hang when the phone is offline, or unpaired. * I have been seeing this kind of hangs for more than 6 months, when I was still using Kubuntu 25.04 (or even 24.10? Sorry for taking such a long time to write a report.) * Deleting all kdeconnect related config/state files (that I could find) from my home dir made no difference. * Phone is a Fairphone 5 with /e/ OS, version 3.2-a15-20251022539003-official-FP5. KDE Connect Android Client is installed from F-Droid. BACKTRACE of plasmashell during hang: #0 __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56 #1 0x0000741aed4a00ac in __internal_syscall_cancel ( a1=a1@entry=95419285720136, a2=<optimized out>, a3=a3@entry=580844608, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49 #2 0x0000741aed4a0807 in __futex_abstimed_wait_common64 (private=0, futex_word=0x56c888a14c48, expected=580844608, op=393, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57 #3 __futex_abstimed_wait_common (futex_word=0x56c888a14c48, expected=580844608, clockid=0, abstime=0x0, private=0, cancel=true) at ./nptl/futex-internal.c:87 #4 __GI___futex_abstimed_wait_cancelable64 ( futex_word=futex_word@entry=0x56c888a14c48, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #5 0x0000741aed4a3067 in __pthread_cond_wait_common (cond=<optimized out>, mutex=0x56c888a14c00, clockid=0, abstime=0x0) at ./nptl/pthread_cond_wait.c:421 #6 ___pthread_cond_wait (cond=<optimized out>, mutex=0x56c888a14c00) at ./nptl/pthread_cond_wait.c:453 #7 0x0000741aedf0ca5c in QWaitConditionPrivate::wait (this=0x56c888a14c00, deadline=...) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/thread/qwaitcondition_unix.cpp:67 #8 QWaitCondition::wait (this=this@entry=0x56c8884f3a90, mutex=mutex@entry=0x56c8884f3a88, deadline=...) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/thread/qwaitcondition_unix.cpp:145 #9 0x0000741aeedc58e5 in QDBusPendingCallPrivate::waitForFinished ( this=0x56c8884f3a40) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/dbus/qdbuspendingcall.cpp:207 #10 0x0000741aeedc5f5a in QDBusPendingReplyBase::argumentAt ( this=0x7ffd229efe10, index=index@entry=0) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/dbus/qdbuspendingreply.cpp:237 #11 0x0000741a902cc765 in QDBusPendingReply<bool>::argumentAt<0> ( this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtDBus/qdbuspendingreply.h:82 #12 0x0000741a902d13c3 in QDBusPendingReply<bool>::operator bool ( this=<optimized out>, this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtDBus/qdbuspendingreply.h:103 --Type <RET> for more, q to quit, c to continue without paging--c #13 DevicesModel::passesFilter (this=<optimized out>, dev=<optimized out>) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/interfaces/devicesmodel.cpp:279 #14 DevicesModel::passesFilter (dev=dev@entry=0x741adc010100, this=0x56c887307310) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/interfaces/devicesmodel.cpp:274 #15 0x0000741a902d8156 in DevicesModel::deviceAdded (this=0x56c887307310, id=...) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/interfaces/devicesmodel.cpp:77 #16 DevicesModel::deviceAdded (this=0x56c887307310, id=...) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/interfaces/devicesmodel.cpp:67 #17 0x0000741aedde4a95 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/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qobjectdefs_impl.h:461 #18 doActivate<false> (sender=0x56c886d3c980, signal_index=5, argv=0x7ffd229f0100) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qobject.cpp:4157 #19 0x0000741a902ec9e5 in QMetaObject::activate<void, QString> ( sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized out>, ret=<optimized out>, sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:306 #20 OrgKdeKdeconnectDaemonInterface::deviceAdded (this=<optimized out>, _t1=...) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/obj-x86_64-linux-gnu/interfaces/generated/moc_daemoninterface.cpp:288 #21 OrgKdeKdeconnectDaemonInterface::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/obj-x86_64-linux-gnu/interfaces/generated/moc_daemoninterface.cpp:170 #22 0x0000741a902eefe7 in OrgKdeKdeconnectDaemonInterface::qt_metacall ( this=0x56c886d3c980, _c=<optimized out>, _id=2, _a=0x7ffd229f0308) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/obj-x86_64-linux-gnu/interfaces/generated/moc_daemoninterface.cpp:256 #23 0x0000741a902d539e in DaemonDbusInterface::qt_metacall ( this=0x56c886d3c980, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffd229f0308) at /usr/src/kdeconnect-25.08.3-0ubuntu1.1~ubuntu25.10~ppa1/obj-x86_64-linux-gnu/interfaces/kdeconnectinterfaces_autogen/include/moc_dbusinterfaces.cpp:114 #24 0x0000741aeed7a75d in QDBusConnectionPrivate::deliverCall ( this=0x741ae0001700, object=0x56c886d3c980, msg=..., metaTypes=..., slotIdx=7) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/dbus/qdbusintegrator.cpp:1008 #25 0x0000741aeddd61d4 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qobject.cpp:1432 #26 0x0000741af019d49f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6 #27 0x0000741aedd8add8 in QCoreApplication::notifyInternal2 ( receiver=0x56c886d3c980, event=0x741ae0048600) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qcoreapplication.cpp:1106 #28 0x0000741aedd8ae1d in QCoreApplication::sendEvent ( receiver=<optimized out>, event=<optimized out>) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qcoreapplication.cpp:1546 #29 0x0000741aedd8b04e in QCoreApplicationPrivate::sendPostedEvents ( receiver=0x0, event_type=0, data=0x56c885596020) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qcoreapplication.cpp:1891 #30 0x0000741aedff445f in postEventSourceDispatch (s=0x56c88559cc20) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #31 0x0000741aec797bfb in g_main_dispatch (context=0x741ae0000f50) at ../../../glib/gmain.c:3565 #32 0x0000741aec799237 in g_main_context_dispatch_unlocked ( context=0x741ae0000f50) at ../../../glib/gmain.c:4425 #33 g_main_context_iterate_unlocked (context=context@entry=0x741ae0000f50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4490 #34 0x0000741aec799423 in g_main_context_iteration (context=0x741ae0000f50, may_block=1) at ../../../glib/gmain.c:4556 #35 0x0000741aedff130d in QEventDispatcherGlib::processEvents ( this=0x56c88555ec70, flags=...) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #36 0x0000741aedd944c3 in QEventLoop::exec (this=0x7ffd229f0950, flags=...) at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/global/qflags.h:77 #37 0x0000741aedd8dc07 in QCoreApplication::exec () at /usr/src/qt6-base-6.9.2+dfsg-1ubuntu1/src/corelib/kernel/qcoreapplication.cpp:1449 #38 0x000056c85ced36b1 in ?? () #39 0x0000741aed42a575 in __libc_start_call_main ( main=main@entry=0x56c85ced28d0, argc=argc@entry=2, argv=argv@entry=0x7ffd229f0f68) at ../sysdeps/nptl/libc_start_call_main.h:58 #40 0x0000741aed42a628 in __libc_start_main_impl (main=0x56c85ced28d0, argc=2, argv=0x7ffd229f0f68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd229f0f58) at ../csu/libc-start.c:360 #41 0x000056c85ced37e5 in ?? ()