Memory leak in Xfdesktop when connecting and disconnecting monitors
Submitted by bzcw2020
Assigned to Xfce Bug Triage
Description
Created attachment 9424 Monitor drm event triggers and xfdesktop memory usage at 5 minutes interval
xfdesktop 4.1x leaks memory whenever a HDMI monitor is connected. Maybe duplicate of https://bugzilla.xfce.org/show_bug.cgi?id=16314 and https://bugzilla.xfce.org/show_bug.cgi?id=14844
Steps to reproduce (any of these will do)
- turn monitor off then on
- switch monitor source to another input (2nd HDMI, DVI or DP depending on the monitor) then back again
- trigger KVM to change source (to my laptop) and back
Actual Results
After the monitor is connected back, memory usage by xfreedeskop often increases. Sometimes it drops back a little or doesn't change if interval too short but the persistent trend is to increase until desktop is very sluggish and a reboot is required.
Expected results
Memory usage by xfdesktop should not be affected by reconnecting an existing monitor.
Build date and hardware
Happened since last xfce version in Fedora 30 and 31
- Fedora 31 (upgraded from 30)
- R5-2400G / AMD 5700XT ( added weeks after Fedora 31 upgrade )
- Philips 1920x1080 HDMI (iGPU) and Acer 2560x1440 HDMI (5700XT) via a physical KVM switch
Additional info
I have a udev rule which triggers on drm change action to trigger xrandr and logging of mem info. xrandr fixes an issue where xfce does not configure the Acer properly. It is a 120Hz LCD but after the KVM, 120Hz will cause no display, setting the Display configuration to 60Hz as well as in config text files does not hold for some reason and it frequently reverts to 120Hz and wrong positioning by itself.
It is unlikely to be relevant but the udev script does the following: echo "$(date) : Monitor hotplug event" >> /var/log/xfdesktop_mem.log ps -eo pid,%cpu,%mem,vsz,rss,tty,stat,start,time,cmd | grep [x]fdesktop >> /var/log/xfdesktop_mem.log export XAUTHORITY=/home/user/.Xauthority DISPLAY=:0 /usr/bin/xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync DISPLAY=:0 /usr/bin/xrandr --addmode HDMI-1 2560x1440_60.00 DISPLAY=:0 /usr/bin/xrandr --output HDMI-1 --mode 2560x1440_60.00 --right-of DVI-D-1 sleep 0.5 DISPLAY=:0 /usr/bin/xrandr --output HDMI-1 --right-of DVI-D-1
Every 5 minutes, i have a cronjob that outputs the same ps line to the log file.
Triggering monitor connect/disconnect in rapid succession appears not to cause memory to increase as consistently.
Attached log
contains two types of entry
- udev drm events with date/time
- undated 5 minutes interval logging of xfdesktop memory usage Period includes before a dnf update and reboot.
Attachment 9424, "Monitor drm event triggers and xfdesktop memory usage at 5 minutes interval":
xfdesktop_mem.log.zip
Version: 4.14.1