Package: xfce4-panel Version: 4.16.2-1 Severity: minor https://sources.debian.org/src/xfce4-panel/4.16.3-1/plugins/launcher/launcher.c/?hl=593#L592-L667
This function copy-paste-edits /usr/share/applications/foo.desktop to ~/.config/xfce4/panel/launcher-NUMBER/TIMESTAMP.desktop Then it updates xfconf property xfce4-panel/plugins/plugin-NUMBER/items[] to refer to the new location. When the panel is locked (by <channel unlocked="root">), the update fails. In XFCE 4.10 (Debian 9), this happened once per login. In XFCE 4.16 (Debian 11), this happens about once per second. This is causing ~/.xsession-errors to fill up, eventually filling $HOME and triggering EDQUOT/ENOSPC errors for all applications. The rate of consumption is approximately 655 bytes per launcher item per second. For a quicklaunch bar with 3 items, this is 161 MB/day. A minimum file to reproduce is attached; put it in world-readable /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml. Please provide kiosk operators a way to opt-out of launcher_plugin_item_duplicate. I would be happy with any of these: 1. xfce4-panel sees the xfconf channel is locked, and implicitly skips launcher_plugin_item_duplicate. 2. xfce4-panel checks for an explicit opt-out like xfce4-panel/plugins/plugin-1/duplicate-launcher=false. 3. launcher_plugin_item_duplicate is only tried once-per-login (not once-per-second), so .xsession-errors doesn't fill up. 4. xfconf/garcon warnings/assertions are suppressed, so .xsession-errors doesn't fill up. The errors look like this on Debian 11: (xfce4-panel:658): xfconf-WARNING **: 10:23:49.199: 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" (xfce4-panel:658): garcon-CRITICAL **: 10:23:49.227: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:49.228: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:49.228: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): xfconf-WARNING **: 10:23:50.199: 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" (xfce4-panel:658): garcon-CRITICAL **: 10:23:50.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:50.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:50.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): xfconf-WARNING **: 10:23:51.198: 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" (xfce4-panel:658): garcon-CRITICAL **: 10:23:51.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:51.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:51.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): xfconf-WARNING **: 10:23:52.198: 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" (xfce4-panel:658): garcon-CRITICAL **: 10:23:52.212: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:52.213: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:52.213: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): xfconf-WARNING **: 10:23:53.198: 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" (xfce4-panel:658): garcon-CRITICAL **: 10:23:53.214: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:53.214: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:53.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): xfconf-WARNING **: 10:23:54.199: 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" (xfce4-panel:658): garcon-CRITICAL **: 10:23:54.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:54.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed (xfce4-panel:658): garcon-CRITICAL **: 10:23:54.215: garcon_gtk_menu_get_desktop_actions_menu: assertion 'actions != NULL' failed -- System Information: Debian Release: 11.1 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 5.14.0-0.bpo.2-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
<?xml version="1.0" encoding="UTF-8"?> <channel name="xfce4-panel" version="1.0" unlocked="root"> <property name="configver" type="int" value="2"/> <property name="panels" type="array"> <value type="int" value="1"/> <property name="panel-1" type="empty"> <property name="position" type="string" value="p=8;x=0;y=0"/> <property name="length" type="uint" value="100"/> <property name="plugin-ids" type="array"> <value type="int" value="1"/> </property> </property> </property> <property name="plugins" type="empty"> <property name="plugin-1" type="string" value="launcher"> <property name="items" type="array"> <value type="string" value="chromium.desktop"/> </property> </property> </property> </channel>