Bug 495101

Summary: KDE Connect Notifications May Cause Plasmashell to Freeze
Product: [Applications] kdeconnect Reporter: augustinateal
Component: plasmoidAssignee: Albert Vaca Cintora <albertvaka>
Status: REPORTED ---    
Severity: normal CC: mksybr
Priority: NOR Keywords: usability
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
URL: https://templaterex.com/
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description augustinateal 2024-10-20 16:44:31 UTC
Summary
When waking up a computer with KDE Connect enabled and receiving multiple notifications from a phone, plasmashell may freeze while waiting for data from KDE Connect. This likely happens because KDE Connect stalls when sending the notifications to plasmashell.

Steps to Reproduce

Put a KDE-running computer to sleep.
Receive several notifications on an Android phone (including a call), leaving them in the phone's notification tray.
Wake up the computer to trigger the notifications being sent to KDE.
Observed Result
Plasmashell freezes. After attaching gdb, retrieving the stack trace, and continuing gdb, the notifications from KDE Connect appear all at once.

Expected Result
Plasmashell should not freeze.

Software/OS Versions

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.109.0
Qt Version: 5.15.10
Kernel Version: 6.4.12-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 9 5950X 16-Core Processor
Memory: 32 GiB of RAM
Graphics Processor: AMD Radeon RX 7900 XTX
Motherboard: ASUS ROG Strix X570-E Gaming
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: ROG Strix X570-E Gaming


Additional Information
I wasn’t able to capture a backtrace for kdeconnectd and couldn’t easily reproduce the freeze. Routine notifications, like file downloads, are not transferred through KDE Connect, and messaging notifications didn’t trigger the bug. The OrgKdeKdeconnectDeviceNotificationsNotificationInterface resides in generated code, and I didn’t attempt to compile KDE Connect or inspect its files for debugging.