Package: xdg-desktop-portal-gnome
Version: 50.0-1
Severity: normal
Dear Maintainer,
it seems there is an issue with the file picker desktop portal when the
current_folder (the location the window is opening at) is a directory
managed by a cloud sync client (in my case nextcloud v33.0.2-1, but I
can't say for
sure if other clients are also affected). When trying to open a file
from an application relying on xdg-desktop-portal for providing the file
picker, e.g. Firefox, it sometimes takes quite a while before the
content of the current
directory is being displayed. It doesn't happen always, but regularly.
During that time both the portal and the application calling it are
frozen, triggering "application doesn't respond" messages, though
selecting "kill" in there
doesn't do anything, it seems something's really getting stuck.
From logs gathered with busctl --user monitor
org.freedesktop.portal.Desktop > portal_dbus.log there are these entries
showing that misbehavior:
the entry where it tries to open the directory:
Type=method_call Endian=l Flags=0 Version=1 Cookie=204 Timestamp="Tue
2026-06-09 10:45:19.695386 UTC"
Sender=:1.1851 Destination=:1.1857
Path=/org/freedesktop/portal/desktop
Interface=org.freedesktop.impl.portal.FileChooser Member=OpenFile
UniqueName=:1.1851
MESSAGE "osssa{sv}" {
OBJECT_PATH
"/org/freedesktop/portal/desktop/request/1_141/firefox_file_picker_16_64073261";
STRING "firefox-beta";
STRING "wayland:R@b4;x] UTl6&D/"Q:vYMt*M)~q74BcE";
STRING <name of the browser window>;
ARRAY "{sv}" {
DICT_ENTRY "sv" {
STRING "modal";
VARIANT "b" {
BOOLEAN true;
};
};
DICT_ENTRY "sv" {
STRING "multiple";
VARIANT "b" {
BOOLEAN true;
};
};
DICT_ENTRY "sv" {
STRING "directory";
VARIANT "b" {
BOOLEAN false;
};
};
DICT_ENTRY "sv" {
STRING "filters";
VARIANT "a(sa(us))" {
ARRAY "(sa(us))" {
STRUCT "sa(us)" {
STRING "All Files";
ARRAY "(us)" {
STRUCT "us" {
UINT32 0;
STRING "*";
};
};
};
};
};
};
DICT_ENTRY "sv" {
STRING "current_filter";
VARIANT "(sa(us))" {
STRUCT "sa(us)" {
STRING "All Files";
ARRAY "(us)" {
STRUCT "us" {
UINT32 0;
STRING "*";
};
};
};
};
};
DICT_ENTRY "sv" {
STRING "current_folder";
VARIANT "ay" {
ARRAY "y" {
BYTE 47;
BYTE 104;
BYTE 111;
BYTE 109;
BYTE 101;
BYTE 47;
BYTE 114;
BYTE 105;
BYTE 99;
BYTE 104;
BYTE 97;
BYTE 114;
BYTE 100;
BYTE 47;
BYTE 115;
BYTE 99;
BYTE 105;
BYTE 101;
BYTE 98;
BYTE 111;
BYTE 47;
BYTE 77;
BYTE 97;
BYTE 115;
BYTE 116;
BYTE 101;
BYTE 114;
BYTE 97;
BYTE 114;
BYTE 98;
BYTE 101;
BYTE 105;
BYTE 116;
BYTE 47;
BYTE 65;
BYTE 98;
BYTE 98;
BYTE 105;
BYTE 108;
BYTE 100;
BYTE 117;
BYTE 110;
BYTE 103;
BYTE 101;
BYTE 110;
BYTE 47;
BYTE 82;
BYTE 101;
BYTE 115;
BYTE 117;
BYTE 108;
BYTE 116;
BYTE 115;
BYTE 47;
BYTE 109;
BYTE 97;
BYTE 105;
BYTE 110;
BYTE 45;
BYTE 101;
BYTE 120;
BYTE 112;
BYTE 101;
BYTE 114;
BYTE 105;
BYTE 109;
BYTE 101;
BYTE 110;
BYTE 116;
BYTE 115;
BYTE 47;
BYTE 78;
BYTE 105;
BYTE 0;
};
};
};
};
};
and the return message 28 seconds later:
Type=method_return Endian=l Flags=1 Version=1 Cookie=205
ReplyCookie=2532 Timestamp="Tue 2026-06-09 10:45:19.695461 UTC"
Sender=:1.1851 Destination=:1.141
UniqueName=:1.1851
MESSAGE "o" {
OBJECT_PATH
"/org/freedesktop/portal/desktop/request/1_141/firefox_file_picker_16_64073261";
};
There are no entries inbetween. Only after this the response is sent to
Firefox:
Type=signal Endian=l Flags=1 Version=1 Cookie=238 Timestamp="Tue
2026-06-09 10:45:47.899116 UTC"
Sender=:1.1851 Destination=:1.141
Path=/org/freedesktop/portal/desktop/request/1_141/firefox_file_picker_16_64073261
Interface=org.freedesktop.portal.Request Member=Response
UniqueName=:1.1851
MESSAGE "ua{sv}" {
UINT32 1;
ARRAY "{sv}" {
DICT_ENTRY "sv" {
STRING "uris";
VARIANT "as" {
ARRAY "s" {
};
};
};
};
};
As I can't tell if this is a bug that needs to be fixed in
xdg-desktop-portal-gnome or in the nextcloud client, kindly let me know
if I should file this report again against a different package.
Best regards
Richard
-- System Information:
Debian Release: forky/sid
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'testing'), (50,
'experimental'), (50, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 7.0.10+deb14-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_USER, TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.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
Versions of packages xdg-desktop-portal-gnome depends on:
ii dbus-user-session 1.16.2-5
ii dbus-x11 1.16.2-5
ii dconf-gsettings-backend [gsettings-backend] 0.49.0-4+b1
ii gsettings-desktop-schemas 50.1-2
ii libadwaita-1-0 1.9.0-1
ii libc6 2.42-16
ii libcairo2 1.18.4-3+b1
ii libfontconfig1 2.17.1-5
ii libgdk-pixbuf-2.0-0 2.44.6+dfsg-2
ii libglib2.0-0t64 2.88.1-2
ii libgnome-bg-4-2t64 44.5-1
ii libgnome-desktop-4-2t64 44.5-1
ii libgraphene-1.0-0 1.10.8-5+b2
ii libgtk-4-1 4.22.4+ds-1
ii libwayland-client0 1.24.0-2+b2
ii libx11-6 2:1.8.13-1
ii nautilus 50.1-2
ii xdg-desktop-portal 1.22.0+ds-1
ii xdg-desktop-portal-gtk 1.15.3-2
Versions of packages xdg-desktop-portal-gnome recommends:
ii gnome-settings-daemon 50.1-1
ii gnome-shell 50.2-3
ii papers 49.3-3
Versions of packages xdg-desktop-portal-gnome suggests:
ii accountsservice 23.13.9-8+b2
-- no debconf information