Bug 507304 - Sending many notifications with image data consistently freezes Plasmashell notifications
Summary: Sending many notifications with image data consistently freezes Plasmashell n...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Notifications (other bugs)
Version First Reported In: 6.4.3
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-21 11:17 UTC by Tobias Bohrmann
Modified: 2025-08-02 10:27 UTC (History)
4 users (show)

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


Attachments
Test Python Script (1.38 KB, text/x-python)
2025-07-21 11:17 UTC, Tobias Bohrmann
Details
Backtrace (221.02 KB, text/plain)
2025-07-24 07:02 UTC, Tobias Bohrmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Bohrmann 2025-07-21 11:17:02 UTC
Created attachment 183390 [details]
Test Python Script

SUMMARY
The notification process of Plasmashell freezes when sending many notifications that contain image data.

STEPS TO REPRODUCE
1. Run the attached Python script.
2. Wait around 20 seconds.
3. The stream of notifications stop. The script is now freezing.

OBSERVED RESULT
No notifications are displayed anymore. Any application trying to send a notification freezes.

EXPECTED RESULT
The notifications are displayed.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.4.3
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Kernel Version: 6.15.6-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 PRO 8840U w/ Radeon 780M Graphics
Memory: 32 GiB of RAM (30.0 GiB usable)
Graphics Processor: AMD Radeon 780M Graphics
Manufacturer: LENOVO
Product Name: 21MCCTO1WW
System Version: ThinkPad T14 Gen 5

ADDITIONAL INFORMATION
No notifications can be send after the freeze happens no matter what kind of notification it is.
Also, after producing the freeze, the interface for org.freedesktop.Notifications on the D-Bus user-session is not responding anymore. Applications trying to send notifications freeze until the timeout for sending them occurs.

Seems to be related with https://bugs.kde.org/show_bug.cgi?id=481033
Comment 1 TraceyC 2025-07-23 23:06:57 UTC
As the message at the top of the summary says, if something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl ?

Thanks.
Comment 2 Tobias Bohrmann 2025-07-24 07:02:37 UTC
Created attachment 183478 [details]
Backtrace
Comment 3 Tobias Bohrmann 2025-07-24 14:10:33 UTC
As the process just freezes and not by definition crashes where a backtrace is automatically generated, I have attached the full backtrace of the running plasmashell process.
Comment 4 TraceyC 2025-07-24 18:15:01 UTC
Thanks. I'll let those with deeper knowledge of the code take a look.
Comment 5 Nate Graham 2025-07-28 14:44:16 UTC
In progress with https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5707!
Comment 6 Paul 2025-07-28 15:10:17 UTC
Git commit 81a3ea98b598899e0d72bb5d6ac9068382f69828 by Paul Geerken.
Committed on 28/07/2025 at 15:02.
Pushed by nicolasfella into branch 'master'.

delete image-data from hint

deleting image-data form notification hints to avoid double saving data,
because the image is already cached and also prevents the Notification
DBus from crashing.

M  +5    -0    libnotificationmanager/notification.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/81a3ea98b598899e0d72bb5d6ac9068382f69828
Comment 7 Nicolas Fella 2025-07-28 15:10:54 UTC
Git commit c294161eed394892d8d55b5948d20222948504f2 by Nicolas Fella, on behalf of Paul Geerken.
Committed on 28/07/2025 at 15:10.
Pushed by nicolasfella into branch 'Plasma/6.4'.

delete image-data from hint

deleting image-data form notification hints to avoid double saving data,
because the image is already cached and also prevents the Notification
DBus from crashing.
(cherry picked from commit 81a3ea98b598899e0d72bb5d6ac9068382f69828)

M  +5    -0    libnotificationmanager/notification.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/c294161eed394892d8d55b5948d20222948504f2