Package: nextcloud-desktop
Version: 3.16.7-1~deb13u1
Followup-For: Bug #1072382

I can confirm this bug on Debian 13 (trixie), and I found that it can have a substantially more serious consequence than merely restarting the Nextcloud client unexpectedly.

On logout from a GNOME Wayland session, Firefox requested activation of com.nextcloudgmbh.Nextcloud after the already running Nextcloud instance had been terminated:

|dbus-daemon: Activating service name='com.nextcloudgmbh.Nextcloud' requested by ... firefox-esr|

The newly D-Bus-activated Nextcloud process was started while the graphical session was already being torn down. It consequently failed to connect to Wayland/X11, but before terminating it requested org.freedesktop.portal.Desktop.

This raced with gnome-session-restart-dbus.service. systemd then refused to stop/restart the user D-Bus because xdg-desktop-portal.service had a start job queued:

|Transaction for dbus.service/stop is destructive (xdg-desktop-portal.service has 'start' job queued, but 'stop' is included in transaction).|

gnome-session-ctl consequently reported:

|Failed to restart DBus service: GDBus.Error:org.freedesktop.systemd1.TransactionIsDestructive|

The following graphical login then inherited the broken user-bus/portal state. Applications launched after login were delayed until portal/D-Bus activation timeouts of up to 120 seconds had expired.

I tested the workaround suggested in this bug by overriding the per-user D-Bus service:

|~/.local/share/dbus-1/services/com.nextcloudgmbh.Nextcloud.service|

with:

|[D-BUS Service] Name=com.nextcloudgmbh.Nextcloud Exec=/bin/false|

After reloading the D-Bus configuration, the same Firefox request still occurred during logout, but failed immediately with status 1. gnome-session-restart-dbus was then able to stop the user D-Bus normally in the same second.

The subsequent login was immediate. Nextcloud was still started normally by GNOME autostart and could use xdg-desktop-portal successfully.

I repeated the logout/login test and deliberately waited for a Nextcloud notification before launching applications. They still started immediately, excluding the Nextcloud notifications themselves as the cause of the delay.

Thus disabling only the unintended D-Bus activation of Nextcloud provides a reproducible A/B test for the problem.

Relevant versions:

|Debian 13 (trixie) nextcloud-desktop 3.16.7-1~deb13u1 firefox-esr 140.16.0esr-1~deb13u1 gnome-session-bin 48.0-1+deb13u1 gnome-session-common 48.0-1+deb13u1 dbus-user-session 1.16.2-2 systemd 257.13-1~deb13u1|

I will report the resulting gnome-session D-Bus restart race separately, since the same race can in principle be triggered by applications other than Nextcloud.

Reply via email to