https://bugs.kde.org/show_bug.cgi?id=507239
Bug ID: 507239
Summary: Old inotify instances not cleaned up when changing
desktop location in Folder View settings
Classification: Plasma
Product: plasmashell
Version First 6.3.5
Reported In:
Platform: Debian testing
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Desktop icons & Folder View widget
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: 1.0
Created attachment 183348
--> https://bugs.kde.org/attachment.cgi?id=183348&action=edit
Location tab
SUMMARY
When changing the location of the desktop in the Folder View widget (right
click on the desktop -> Desktop and Wallpaper -> Location tab), changing back
to the previous location after applying does not clean up the inotify instance
associated with the old directory.
STEPS TO REPRODUCE
1. Navigate to the Location tab in the Desktop Folder Settings
2. Open a terminal and use the command "kde-inotify-survey" and look for the
number of watches and instances under plasmashell:
kunal@Kunal-deb:~$ kde-inotify-survey | grep -A 4 "plasmashell"
"cmdline": "/usr/bin/plasmashell\u0000",
"instances": 6,
"pid": 2853529,
"uid": 1000,
"watches": 20
3. Change the folder to anything else (for example changing from the "Desktop
folder" option (first option) to "Places panel item: Home" (3rd option)
4. Hit Apply
5. Change the folder back to what it was before and hit Apply again.
6. Rerun the command and note the number of watches:
kunal@Kunal-deb:~$ kde-inotify-survey | grep -A 4 "plasmashell"
"cmdline": "/usr/bin/plasmashell\u0000",
"instances": 8,
"pid": 2853529,
"uid": 1000,
"watches": 21
Continue changing the option, applying, and changing back, applying again, and
notice how the number watches will permanently increment without being cleaned
up:
kunal@Kunal-deb:~$ kde-inotify-survey | grep -A 4 "plasmashell"
"cmdline": "/usr/bin/plasmashell\u0000",
"instances": 32,
"pid": 2851731,
"uid": 1000,
"watches": 33
OBSERVED RESULT
Each time the desktop location is changed and changed back, the number of
watches increases by 1 and the number of instances increases by 2 for
plasmashell when observing the output of kde-inotify-survey.
EXPECTED RESULT
Inotify instances that are no longer in use should be cleaned up instead of
duplicates being created. The number of "watches" and "instances" under
plasmashell in kde-inotify-survey should revert back to baseline prior to
changing the folder and back.
SOFTWARE/OS VERSIONS
Operating System: Debian GNU/Linux 13
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Kernel Version: 6.12.35+deb13-amd64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 9800X3D 8-Core Processor
Memory: 60.5 GiB of RAM
Graphics Processor 1: NVIDIA GeForce RTX 5080
Graphics Processor 2: AMD Radeon Graphics
ADDITIONAL INFORMATION
This also occurs when programmatically changing the the desktop config using
DBus and executing a script (qdbus6 org.kde.plasmashell /PlasmaShell
org.kde.PlasmaShell.evaluateScript), which can exhaust the inotify instance
pool over time. The current workaround seems to be killing and restarting
plasmashell entirely.
tracing the inotify_add_watch syscall and changing the folders back and forth
confirms plasmashell is not removing the old inotify instances while adding new
ones:
kunal@Kunal-deb:~$ sudo bpftrace -e
'tracepoint:syscalls:sys_enter_inotify_add_watch /comm == "plasmashell"/ {
printf("Path: %s\n", str(args->pathname)); }'
Attaching 1 probe...
Path: file:///home/kunal
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: /home/kunal/Desktop/
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: file:///home/kunal
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: /home/kunal/Desktop/
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: file:///home/kunal
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: /home/kunal/Desktop/
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: file:///home/kunal
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
Path: /home/kunal/Desktop/
Path: /home/kunal/.config/plasma-org.kde.plasma.desktop-appletsrc
--
You are receiving this mail because:
You are watching all bug changes.