Bug in XFce 4.14.1 kiosk mode causing high CPU and severe memory leak
XFce 4.14.1 from EPEL works nicely on CentOS-8 in the normal, non-locked-down mode. After much effort, I got "locked" and "kiosk" mode working. (An infuriating ordeal until I realized xfconf continues running and preserving old configs even after the user logs-out and I updated the configs on disk. A well-place "pkill xfconf" fixed that issue.)
Once locked/kiosk mode was working, several xfce services were consuming around 50% of a CPU core constantly, and over the course of 4 hours or so locking 8GB of RAM and causing system crashes. The culprits primarily being: xfsettingd, xfconfd and xfce4-panel. A periodic HUP signal sent to them releases gigabytes of RAM. Disabling ALL autostart services made NO improvement.
I traced this further to xfsettingd being the overwhelming offender. With PANEL_DEBUG=1 I see a super-tight loop of errors (20 times per second) from just xfsettingsd that it can't set properties on workspace names:
(xfsettingsd:3706): xfconf-WARNING **: 10:02:38.380: Failed to set property "xfwm4::/general/workspace_names": GDBus.Error:org.xfce.Xfconf.Error.PermissionDenied: Permission denied while modifying property "/general/workspace_names" on channel "xfwm4"
Killing xfsettingsd improves matters greatly. xfconf drops down to normal levels. Only xfce4-panel continues somewhat misbehaving, constantly using 6% of a core; still much higher than on non-locked/kiosk setups. xfce4-panel only causes a much slower loop (once per second) that it can't set properties on every launcher on the panel:
(xfce4-panel:3477):100: xfconf-WARNING **: 09:56:42.665: Failed to set property "xfce4-panel::/plugins/plugin-1/items": GDBus.Error:org.xfce.Xfconf.Error.PermissionDenied: Permission denied while modifying property "/plugins/plugin-1/items" on channel "xfce4-panel"
Exact versions: $ xfsettingsd --version xfsettingsd 4.14.1 (Xfce 4.14)
$ /usr/lib64/xfce4/xfconf/xfconfd --version Xfconfd 4.14.1
xfce4-panel -> Panel -> About 4.14.1