| Summary: | [REGRESSION] X11 file descriptors leak upon showing a notification until maximum reached | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Konstantin Kharlamov <Hi-Angel> |
| Component: | Notifications | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED UPSTREAM | ||
| Severity: | normal | CC: | kde, kde |
| Priority: | NOR | ||
| Version First Reported In: | 5.26.3 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
(In reply to David Edmundson from comment #1) > Potentially https://gitlab.freedesktop.org/mesa/mesa/-/issues/7674 Nope, not it. The bug says it's not present in 22.1, so I downgraded mesa package to 22.2.1-1 and restarted plasmashell. The problem is still reproducible. I also don't use kwin_x11, I have i3 + picom instead, so there's that as well. Omg, wait, sorry, I mistyped the version. I tested 22.1.1-2, and it fixes the issue. So yeah, it's probably the Mesa problem So, I confirm that upgrading to Mesa 22.3.0-6 fixes the issue. Thank you very much! (I don't see a "nor our bug" status, not sure if "upstream" is an appropriate one, please change if you deem necessary) |
SUMMARY This bug appeared after some update. Basically, Xorg have a bunch of these "/memfd:xshmfence (deleted)" fds, and their number keeps increasing over time, until no more graphical apps are able to start (there's a limit of 1024 file descriptors per process AFAIK). Restarting `plasmashell` resets their number. I've also seen other glitches, such as plasmashell hanging completely, or picom suddenly not showing a surface — but now that I found the problem with FDs, I suspect that may cause other ones as well. It's hard to pinpoint the version where it's appeared, mainly because I only yesterday figured out the problem with descriptors, and then upgraded. I know for sure the problem is present since 5.26.3, so I set this version for now. STEPS TO REPRODUCE 1. Log into a Xorg plasma session 2. Execute `sudo ls /proc/$(pgrep Xorg)/fd | wc -l` 3. Execute `notify-send hello` and wait for notification to disappear 4. Execute `sudo ls /proc/$(pgrep Xorg)/fd | wc -l` OBSERVED RESULT The number in step 4 is larger than one in step 2 EXPECTED RESULT The numbers in step 4 and 2 are the same WORKAROUND: Restarting plasmashell resets the number of FDs back: killall plasmashell && kstart5 plasmashell &>/dev/null & SOFTWARE/OS VERSIONS Linux/KDE Plasma: Archlinux KDE Plasma Version: 5.26.4 KDE Frameworks Version: 5.100.0 Qt Version: 5.15.7