[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1000789: kiosk locked xfce4-panel causes ~/.xsession-errors to rapidly fill with error logspam



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>

Reply to: