Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Troubleshoot ublue-os/bluefin#575 #3

Closed
wants to merge 28 commits into from

Conversation

ethanjli
Copy link
Owner

@ethanjli ethanjli commented Nov 8, 2023

This PR either fixes or works around the root cause of ublue-os#575.

This PR is made to use GitHub Actions to build OS images so that I can try to bisect changes made by my Bluefin-based Containerfile to troubleshoot the manifestation of ublue-os#575 in this repository, according to the troubleshooting plan I described in ublue-os#575 (comment)

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

The above commit resulted in the following changes in rpm-ostree:

Removed:
  firefox-119.0-2.fc39.x86_64
  firefox-langpacks-119.0-2.fc39.x86_64
  ublue-os-update-services-0.8-1.fc38.noarch
Added:
  Judy-1.0.5-32.fc39.x86_64
  avahi-compat-libdns_sd-0.8-24.fc39.x86_64
  cockpit-bridge-304-1.fc39.x86_64
  evtest-1.35-3.fc39.x86_64
  fish-3.6.1-2.fc39.x86_64
  gtksourceview4-4.8.4-3.fc39.x86_64
  input-leap-2.4.0^20230918git004a54fb-1.fc39.x86_64
  input-remapper-2.0.1-1.fc39.noarch
  libnetapi-2:4.19.2-1.fc39.x86_64
  libportal-0.7.1-1.fc39.x86_64
  libxcrypt-compat-4.4.36-2.fc39.x86_64
  lksctp-tools-1.0.19-4.fc39.x86_64
  mesa-libGLU-9.0.3-1.fc39.x86_64
  pulseaudio-utils-16.1-5.fc39.x86_64
  python3-dns-2.4.2-1.fc39.noarch
  python3-email-validator-2.1.0-1.fc39.noarch
  python3-pip-23.2.1-1.fc39.noarch
  python3-psutil-5.9.5-1.fc39.x86_64
  python3-pydantic-1.10.2-4.fc39.noarch
  python3-pydbus-0.6.0-23.fc39.noarch
  python3-typing-extensions-4.8.0-1.fc39.noarch
  python3-ujson-5.8.0-2.fc39.x86_64
  samba-2:4.19.2-1.fc39.x86_64
  samba-common-tools-2:4.19.2-1.fc39.x86_64
  samba-dcerpc-2:4.19.2-1.fc39.x86_64
  samba-ldb-ldap-modules-2:4.19.2-1.fc39.x86_64
  samba-libs-2:4.19.2-1.fc39.x86_64
  samba-winbind-2:4.19.2-1.fc39.x86_64
  samba-winbind-clients-2:4.19.2-1.fc39.x86_64
  samba-winbind-modules-2:4.19.2-1.fc39.x86_64
  stress-ng-0.16.05-1.fc39.x86_64
  tailscale-1.52.1-1.x86_64
  ublue-update-1.1.3+4ee549a-1.fc39.noarch
  wl-clipboard-2.2.0-1.fc39.x86_64
  zsh-5.9-8.fc39.x86_64

The Slack Flatpak app is able to open links.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is unable to open links.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links!

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is still able to open links.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is no longer able to open links! This suggests that something in either ublue-user-flatpak-manager.service or ublue-user-setup.service the proximal cause of the loss of ability to open links in Flatpak apps like Slack.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links!

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links! This suggests that ublue-user-setup.service is the proximal cause of the loss of ability to open links in Flatpak apps like Slack.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is no longer able to open links! This confirms that ublue-user-setup.service is the proximal cause of the loss of ability to open links in Flatpak apps like Slack.

In the above commit, kdeconnectd, xwaylandvideobr, SyncThingy, and crow all crash and make core dumps.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links again! This double-confirms that ublue-user-setup.service is the proximal cause of the loss of ability to open links in Flatpak apps like Slack.

In the above commit, kdeconnectd, xwaylandvideobr, SyncThingy, and crow all don't crash and make core dumps. This confirms that ublue-user-setup.service is the proximal cause of those crashes.

Interesting! The ublue-user-setup.service doesn't really seem to do very much 🤔 🤔

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

Interestingly, in the above commit, the Slack Flatpak app is unable to open links, and I get crashes of kdeconnectd, xwaylandvideobr, SyncThingy, and crow!

Note: Here is the status of the xdg-desktop-autostart.target required by ublue-user-setup.service:

> systemctl --user status xdg-desktop-autostart.target
● xdg-desktop-autostart.target - Startup of XDG autostart applications
     Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-autostart.target; static)
     Active: active since Wed 2023-11-08 02:18:32 PST; 16min ago
       Docs: man:systemd.special(7)

Nov 08 02:18:32 lutho systemd[2083]: Reached target xdg-desktop-autostart.target - Startup of XDG autostart applications.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links again! This confirms that ublue-user-setup.service's requirement of xdg-desktop-autostart.target is the proximal cause of the loss of ability to open links in Flatpak apps like Slack.

In the above commit, kdeconnectd, xwaylandvideobr, SyncThingy, and crow all don't crash and make core dumps. This confirms that ublue-user-setup.service's requirement of xdg-desktop-autostart.target is the proximal cause of those crashes.

Note: Here is the status of the xdg-desktop-autostart.target required by ublue-user-setup.service:

● xdg-desktop-autostart.target - Startup of XDG autostart applications
     Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-autostart.target; static)
     Active: active since Wed 2023-11-08 02:38:15 PST; 1min 18s ago
       Docs: man:systemd.special(7)

Nov 08 02:38:15 lutho systemd[1984]: Reached target xdg-desktop-autostart.target - Startup of XDG autostart applications.

Here are the units which depend on xdg-desktop-autostart.target:

> systemctl list-dependencies --user xdg-desktop-autostart.target --all --reverse
xdg-desktop-autostart.target
● └─plasma-workspace.target
●   └─plasma-workspace-wayland.target

Here are the units which plasma-workspace.target depends on:

> systemctl list-dependencies --user plasma-workspace.target
plasma-workspace.target
● ├─kde-baloo.service
○ ├─plasma-foreground-booster.service
● ├─plasma-gmenudbusmenuproxy.service
○ ├─plasma-ksplash-ready.service
○ ├─plasma-kwallet-pam.service
● ├─plasma-polkit-agent.service
● ├─plasma-powerdevil.service
○ ├─plasma-restoresession.service
● ├─plasma-xembedsniproxy.service
● ├─graphical-session.target
○ │ ├─app-at\x2dspi\x2ddbus\x2dbus@autostart.service
× │ ├─app-bluefin\x2dfirstboot@autostart.service
● │ ├─app-com.github.zocker_160.SyncThingy@autostart.service
● │ ├─app-geoclue\x2ddemo\x2dagent@autostart.service
○ │ ├─app-gnome\x2dkeyring\x2dpkcs11@autostart.service
○ │ ├─app-gnome\x2dkeyring\x2dsecrets@autostart.service
○ │ ├─app-gnome\x2dkeyring\x2dssh@autostart.service
× │ ├─app-input\x2dremapper\x2dautoload@autostart.service
● │ ├─app-io.crow_translate.CrowTranslate@autostart.service
● │ ├─app-kaccess@autostart.service
○ │ ├─app-klipper@autostart.service
○ │ ├─app-orca\x2dautostart@autostart.service
● │ ├─app-org.kde.discover.notifier@autostart.service
× │ ├─app-org.kde.kclock@autostart.service
● │ ├─app-org.kde.kdeconnect.daemon@autostart.service
○ │ ├─app-org.kde.plasma\x2dwelcome@autostart.service
● │ ├─app-org.kde.xwaylandvideobridge@autostart.service
○ │ ├─app-spice\x2dvdagent@autostart.service
○ │ ├─app-vboxclient@autostart.service
○ │ ├─app-vmware\x2duser@autostart.service
○ │ ├─app-xdg\x2duser\x2ddirs@autostart.service
○ │ ├─app-xdg\x2duser\x2ddirs\x2dkde@autostart.service
● │ ├─at-spi-dbus-bus.service
● │ ├─flatpak-portal.service
● │ ├─flatpak-session-helper.service
● │ ├─kde-baloo.service
● │ ├─plasma-baloorunner.service
● │ ├─plasma-gmenudbusmenuproxy.service
● │ ├─plasma-kactivitymanagerd.service
○ │ ├─plasma-kcminit-phase1.service
○ │ ├─plasma-kcminit.service
● │ ├─plasma-kded.service
● │ ├─plasma-krunner.service
● │ ├─plasma-ksmserver.service
○ │ ├─plasma-ksplash-ready.service
○ │ ├─plasma-kwallet-pam.service
● │ ├─plasma-kwin_wayland.service
● │ ├─plasma-plasmashell.service
● │ ├─plasma-polkit-agent.service
● │ ├─plasma-powerdevil.service
● │ ├─plasma-xdg-desktop-portal-kde.service
● │ ├─plasma-xembedsniproxy.service
● │ ├─uresourced.service
● │ ├─xdg-desktop-portal.service
● │ ├─xdg-document-portal.service
● │ ├─xdg-permission-store.service
● │ └─basic.target
● │   ├─systemd-tmpfiles-setup.service
● │   ├─paths.target
● │   ├─sockets.target
● │   │ ├─dbus.socket
● │   │ ├─pipewire-pulse.socket
● │   │ └─pipewire.socket
● │   └─timers.target
○ │     ├─flatpak-user-update.timer
● │     ├─grub-boot-success.timer
● │     └─systemd-tmpfiles-clean.timer
● ├─plasma-core.target
○ │ ├─plasma-kcminit-phase1.service
○ │ ├─plasma-kcminit.service
● │ ├─plasma-kded.service
● │ ├─plasma-ksmserver.service
● │ ├─plasma-plasmashell.service
○ │ ├─spice-vdagent.service
● │ ├─ssh-agent.service
● │ └─graphical-session-pre.target
● │   └─basic.target
● │     ├─systemd-tmpfiles-setup.service
● │     ├─paths.target
● │     ├─sockets.target
● │     │ ├─dbus.socket
● │     │ ├─pipewire-pulse.socket
● │     │ └─pipewire.socket
● │     └─timers.target
○ │       ├─flatpak-user-update.timer
● │       ├─grub-boot-success.timer
● │       └─systemd-tmpfiles-clean.timer
● └─xdg-desktop-autostart.target
○   ├─app-at\x2dspi\x2ddbus\x2dbus@autostart.service
×   ├─app-bluefin\x2dfirstboot@autostart.service
●   ├─app-com.github.zocker_160.SyncThingy@autostart.service
●   ├─app-geoclue\x2ddemo\x2dagent@autostart.service
○   ├─app-gnome\x2dkeyring\x2dpkcs11@autostart.service
○   ├─app-gnome\x2dkeyring\x2dsecrets@autostart.service
○   ├─app-gnome\x2dkeyring\x2dssh@autostart.service
×   ├─app-input\x2dremapper\x2dautoload@autostart.service
●   ├─app-io.crow_translate.CrowTranslate@autostart.service
●   ├─app-kaccess@autostart.service
○   ├─app-klipper@autostart.service
○   ├─app-orca\x2dautostart@autostart.service
●   ├─app-org.kde.discover.notifier@autostart.service
×   ├─app-org.kde.kclock@autostart.service
●   ├─app-org.kde.kdeconnect.daemon@autostart.service
○   ├─app-org.kde.plasma\x2dwelcome@autostart.service
●   ├─app-org.kde.xwaylandvideobridge@autostart.service
○   ├─app-spice\x2dvdagent@autostart.service
○   ├─app-vboxclient@autostart.service
○   ├─app-vmware\x2duser@autostart.service
○   ├─app-xdg\x2duser\x2ddirs@autostart.service
○   └─app-xdg\x2duser\x2ddirs\x2dkde@autostart.service

We can see that normally plasma-workspace.target starts xdg-desktop-autostart.target and (via graphical-session.target) xdg-desktop-portal.service:

> systemctl list-dependencies --user xdg-desktop-portal.service --all --reverse
xdg-desktop-portal.service
● └─graphical-session.target
●   └─plasma-workspace.target
●     └─plasma-workspace-wayland.target

Here are the units which depend on ublue-user-setup.service:

> systemctl list-dependencies --user ublue-user-setup.service --all --reverse
ublue-user-setup.service
● └─default.target

In this case, default.target is the default systemd target for the user:

> systemctl status --user default.target
● default.target - Main User Target
     Loaded: loaded (/usr/lib/systemd/user/default.target; static)
     Active: active since Wed 2023-11-08 02:38:13 PST; 5h 37min ago
       Docs: man:systemd.special(7)

Nov 08 02:38:13 lutho systemd[1984]: Reached target default.target - Main User Target.

According to https://man.archlinux.org/man/systemd.special.7#UNITS_MANAGED_BY_THE_USER_SERVICE_MANAGER , the user default.target is started by default is the main target of the user session. https://wiki.archlinux.org/title/systemd/User interprets this as meaning that "When a systemd user instance starts, it brings up the per user target default.target".

Additional observations:

  • According to https://www.freedesktop.org/software/systemd/man/latest/systemd-xdg-autostart-generator.html, the xdg-desktop-autostart.target systemd target launches XDG autostart files
  • According to https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html , the XDG autostart files are located in $XDG_CONFIG_DIRS/autostart and ~/.config/autostart
  • On my computer, $XDG_CONFIG_DIRS evaluates to /home/lietk12/.config/kdedefaults:/etc/xdg:/usr/share/kde-settings/kde-profile/default/xdg
  • On my computer, ~/.config/autostart contains bluefin-firstboot.desktop, com.github.zocker_160.SyncThingy.desktop, io.crow_translate.CrowTranslate.desktop, and org.kde.xwaylandvideobridge.desktop. These constitute three of the four programs which crash dump.
  • On my computer, /home/lietk12/.config/kdedefaults/autostart and /usr/share/kde-settings/kde-profile/default/xdg/autostart do not exist
  • On my computer, /etc/xdg/autostart contains: at-spi-dbus-bus.desktop, baloo_file.desktop, geoclue-demo-agent.desktop, gmenudbusmenuproxy.desktop, gnome-keyring-pkcs11.desktop, gnome-keyring-secrets.desktop, gnome-keyring-ssh.desktop, input-remapper-autoload.desktop, kaccess.desktop, klipper.desktop, orca-autostart.desktop, org.kde.discover.notifier.desktop, org.kde.kdeconnect.daemon.desktop, org.kde.plasmashell.desktop, org.kde.plasma-welcome.desktop, pam_kwallet_init.desktop, polkit-kde-authentication-agent-1.desktop, powerdevil.desktop, spice-vdagent.desktop, vboxclient.desktop, vmware-user.desktop, xdg-user-dirs.desktop, xdg-user-dirs-kde.desktop, and xembedsniproxy.desktop. Note that kdeconnectd, the final coredumping process, is started by org.kde.kdeconnect.daemon.desktop.

These observations suggest that the behavior of xdg-desktop-autostart.target reflects some sort of causal link between the inability to open links from Flatpak apps and the crashing+coredumping of certain programs which are autostarted.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is unable to open links, and I get crashes of kdeconnectd, xwaylandvideobr, SyncThingy, and crow. This suggests that the problems are not caused by the possibility of ublue-user-setup.service starting before xdg-desktop-autostart.service.

Here are the units which depend on xdg-desktop-autostart.target:

> systemctl list-dependencies --user xdg-desktop-autostart.target --all --reverse
xdg-desktop-autostart.target
○ ├─ublue-user-setup.service
● │ └─default.target
● └─plasma-workspace.target
●   └─plasma-workspace-wayland.target

As expected, ublue-user-setup adds a dependency.

Here are the units which depend on xdg-desktop-portal.service:

❯ systemctl list-dependencies --user xdg-desktop-portal.service --all --reverse
xdg-desktop-portal.service
● └─graphical-session.target
●   └─plasma-workspace.target
●     └─plasma-workspace-wayland.target

Interestingly, this is the same as in the previous commit where everything was working. So I can't see a clear link between the weird behavior of xdg-desktop-portal and the brokenness of the various .desktop files included in xdg-desktop-autostart.target when ublue-user-setup.service has a Requires dependency on xdg-desktop-autostart.target.

I looked at the ~/.config/autostart/bluefin-firstboot.desktop file which is included in xdg-desktop-autostart.target, and it looks like it just runs yafti. Presumably this is the only reason for the existence of the Requires=xdg-desktop-autostart.target directive in ublue-user-setup.service. Here is what I see from systemd about bluefin-firstboot:

> systemctl status --user app-bluefin\\x2dfirstboot@autostart.service 
× app-bluefin\x2dfirstboot@autostart.service - Bluefin First Boot Setup
     Loaded: loaded (/home/lietk12/.config/autostart/bluefin-firstboot.desktop; generated)
    Drop-In: /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Wed 2023-11-08 08:37:37 PST; 34min ago
   Duration: 380ms
       Docs: man:systemd-xdg-autostart-generator(8)
    Process: 2963 ExecStart=/usr/bin/yafti /etc/yafti.yml (code=exited, status=1/FAILURE)
   Main PID: 2963 (code=exited, status=1/FAILURE)
        CPU: 432ms

Nov 08 08:37:37 lutho yafti[2963]:   File "/usr/lib/python3.12/site-packages/yafti/__main__.py", line 23, in <module>
Nov 08 08:37:37 lutho yafti[2963]:     import yafti.setup  # noqa
Nov 08 08:37:37 lutho yafti[2963]:     ^^^^^^^^^^^^^^^^^^
Nov 08 08:37:37 lutho yafti[2963]:   File "/usr/lib/python3.12/site-packages/yafti/setup.py", line 22, in <module>
Nov 08 08:37:37 lutho yafti[2963]:     gi.require_version("Adw", "1")
Nov 08 08:37:37 lutho yafti[2963]:   File "/usr/lib64/python3.12/site-packages/gi/__init__.py", line 126, in require_version
Nov 08 08:37:37 lutho yafti[2963]:     raise ValueError('Namespace %s not available' % namespace)
Nov 08 08:37:37 lutho yafti[2963]: ValueError: Namespace Adw not available
Nov 08 08:37:37 lutho systemd[2186]: app-bluefin\x2dfirstboot@autostart.service: Main process exited, code=exited, status=1/FAILURE
Nov 08 08:37:37 lutho systemd[2186]: app-bluefin\x2dfirstboot@autostart.service: Failed with result 'exit-code'.

It will be interesting to see what would happen if we changed Requires/Wants=xdg-desktop-autostart.target to Requires/Wants=app-bluefin\\x2dfirstboot@autostart.service. Also, I wonder whether yafti encounters the same error if we remove Requires=xdg-desktop-autostart.target.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is unable to open links, and I get crashes of kdeconnectd, xwaylandvideobr, SyncThingy, and crow. This suggests that the problems are not caused by the possibility of ublue-user-setup.service starting before xdg-desktop-autostart.service. I'm guessing everything else is the same, too.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links again, and I no longer get crashes of kdeconnectd, xwaylandvideobr, SyncThingy, and crow. However, it looks like I didn't correctly change the dependency to bluefin-firstboot:

> systemctl list-dependencies --user app-bluefin\\x2dfirstboot@autostart.service --all --reverse
app-bluefin\x2dfirstboot@autostart.service
● ├─graphical-session.target
● │ └─plasma-workspace.target
● │   └─plasma-workspace-wayland.target
● └─xdg-desktop-autostart.target
●   └─plasma-workspace.target
●     └─plasma-workspace-wayland.target

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is able to open links, and I don't get crashes of kdeconnectd, xwaylandvideobr, SyncThingy, and crow. Additionally, ublue-user-setup.service does indeed depend on bluefin-firstboot:

> systemctl list-dependencies --user app-bluefin\\x2dfirstboot@autostart.service --all --reverse
app-bluefin\x2dfirstboot@autostart.service
○ ├─ublue-user-setup.service
● │ └─default.target
● ├─graphical-session.target
● │ └─plasma-workspace.target
● │   └─plasma-workspace-wayland.target
● └─xdg-desktop-autostart.target
●   └─plasma-workspace.target
●     └─plasma-workspace-wayland.target

And now xdg-desktop-autostart.service is no longer depended upon by ublue-user-setup.service:

> systemctl list-dependencies --user xdg-desktop-autostart.target --all --reverse
xdg-desktop-autostart.target
● └─plasma-workspace.target
●   └─plasma-workspace-wayland.target

This suggests that we might we able to work around whatever bizarre interaction is caused by Requires/Wants=xdg-desktop-autostart.target by changing it to Wants=app-bluefin\x2dfirstboot@autostart.service.

As expected (because bluefin-firstboot is still directly/indirectly depended upon by ublue-user-setup.service), I am still getting the same errors in yafti:

> systemctl status --user app-bluefin\\x2dfirstboot@autostart.service
× app-bluefin\x2dfirstboot@autostart.service - Bluefin First Boot Setup
     Loaded: loaded (/home/lietk12/.config/autostart/bluefin-firstboot.desktop; generated)
    Drop-In: /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Wed 2023-11-08 10:07:34 PST; 8min ago
   Duration: 386ms
       Docs: man:systemd-xdg-autostart-generator(8)
    Process: 2774 ExecStart=/usr/bin/yafti /etc/yafti.yml (code=exited, status=1/FAILURE)
   Main PID: 2774 (code=exited, status=1/FAILURE)
        CPU: 479ms

Nov 08 10:07:34 lutho yafti[2774]:   File "/usr/lib/python3.12/site-packages/yafti/__main__.py", line 23, in <module>
Nov 08 10:07:34 lutho yafti[2774]:     import yafti.setup  # noqa
Nov 08 10:07:34 lutho yafti[2774]:     ^^^^^^^^^^^^^^^^^^
Nov 08 10:07:34 lutho yafti[2774]:   File "/usr/lib/python3.12/site-packages/yafti/setup.py", line 22, in <module>
Nov 08 10:07:34 lutho yafti[2774]:     gi.require_version("Adw", "1")
Nov 08 10:07:34 lutho yafti[2774]:   File "/usr/lib64/python3.12/site-packages/gi/__init__.py", line 126, in require_version
Nov 08 10:07:34 lutho yafti[2774]:     raise ValueError('Namespace %s not available' % namespace)
Nov 08 10:07:34 lutho yafti[2774]: ValueError: Namespace Adw not available
Nov 08 10:07:34 lutho systemd[2121]: app-bluefin\x2dfirstboot@autostart.service: Main process exited, code=exited, status=1/FAILURE
Nov 08 10:07:34 lutho systemd[2121]: app-bluefin\x2dfirstboot@autostart.service: Failed with result 'exit-code'.

Beyond seeing whether we still get these errors when bluefin-firstboot is not a direct/indirect dependency of ublue-user-setup.service, it would also be useful to bisect the various applications contained in xdg-desktop-autostart.target to see whether we can isolate an interaction with xdg-desktop-portal:

> systemctl list-dependencies --user xdg-desktop-autostart.target
xdg-desktop-autostart.target
○ ├─app-at\x2dspi\x2ddbus\x2dbus@autostart.service
× ├─app-bluefin\x2dfirstboot@autostart.service
● ├─app-com.github.zocker_160.SyncThingy@autostart.service
● ├─app-geoclue\x2ddemo\x2dagent@autostart.service
○ ├─app-gnome\x2dkeyring\x2dpkcs11@autostart.service
○ ├─app-gnome\x2dkeyring\x2dsecrets@autostart.service
○ ├─app-gnome\x2dkeyring\x2dssh@autostart.service
× ├─app-input\x2dremapper\x2dautoload@autostart.service
● ├─app-io.crow_translate.CrowTranslate@autostart.service
● ├─app-kaccess@autostart.service
○ ├─app-klipper@autostart.service
○ ├─app-orca\x2dautostart@autostart.service
● ├─app-org.kde.discover.notifier@autostart.service
● ├─app-org.kde.kdeconnect.daemon@autostart.service
○ ├─app-org.kde.plasma\x2dwelcome@autostart.service
● ├─app-org.kde.xwaylandvideobridge@autostart.service
○ ├─app-spice\x2dvdagent@autostart.service
○ ├─app-vboxclient@autostart.service
○ ├─app-vmware\x2duser@autostart.service
○ ├─app-xdg\x2duser\x2ddirs@autostart.service
○ └─app-xdg\x2duser\x2ddirs\x2dkde@autostart.service

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

Everything is still the same in the above commit - so changing Wants=app-bluefin\x2dfirstboot@autostart.service to Requires=app-bluefin\x2dfirstboot@autostart.service doesn't seem to have an effect on our behavior of interest.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, everything is still the same - including the errors from systemctl status --user app-bluefin\\x2dfirstboot@autostart.service. This suggests that the errors I'm getting in yafti are unrelated to everything else I'm troubleshooting, and are more likely to be resulting from the changes I made to this repository in order to base off Kinoite rather than Silverblue.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

As expected, in the above commit, the Slack Flatpak app is unable to open links, and I get crashes of kdeconnectd, xwaylandvideobr, SyncThingy, and crow. This establishes a starting point for bisecting which applications in xdg-desktop-autostart.target could be having weird interactions with xdg-desktop-portal when their start is driven by default.target via ublue-user-setup.service rather than being driven by plasma-workspace-wayland.target via plasma-workspace.target.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

As expected, in the above commit, the Slack Flatpak app is unable to open links, and I no longer get crashes of xwaylandvideobr, SyncThingy, and crow, but I still get crashes of kdeconnectd.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak app is still unable to open links, and I don't get crashes of xwaylandvideobr, SyncThingy, and crow, but I still get crashes of kdeconnectd.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

As expected, in the above commit, the Slack Flatpak app is still unable to open links, and I don't get crashes of xwaylandvideobr, SyncThingy, and crow, but I still get crashes of kdeconnectd.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

As expected, in the above commit, the Slack Flatpak app is still unable to open links, and I don't get crashes of xwaylandvideobr, SyncThingy, and crow, but I still get crashes of kdeconnectd.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak becomes able to open links! And, as expected, I don't get crashes of kdeconnectd. So including Requires=app-org.kde.kdeconnect.daemon@autostart.service is sufficient to break something with xdg-desktop-portal. Next, I should test whether it's also necessary.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 8, 2023

In the above commit, the Slack Flatpak becomes unable to open links. So including Requires=app-org.kde.kdeconnect.daemon@autostart.service is both necessary and sufficient to break something with xdg-desktop-portal. I'm guessing that kdeconnect is interacting in some weird way with xdg-desktop-portal, and that either KDE Connect or something else on Bluefin (e.g. GSConnect) has the same kind of interaction with xdg-desktop-portal on Bluefin.

@ethanjli
Copy link
Owner Author

ethanjli commented Nov 9, 2023

This issue should be resolved by #6

@ethanjli ethanjli closed this Nov 9, 2023
@ethanjli ethanjli deleted the troubleshooting/flatpak-link-xdg-desktop-portal branch November 9, 2023 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant