flathub / org.gnome.Lollypop

https://flathub.org/apps/details/org.gnome.Lollypop
5 stars 9 forks source link

Crash on startup #125

Closed aidalgol closed 3 years ago

aidalgol commented 3 years ago

Running commit 4a1e0da0f7aa9d7ea818149e5c0e58d2c2a0e0b3efb6fd93149df1f5e0fb2b95 of Lollypop in an X login with the i3 window-manager crashes immediately with the following output. This is on a Debian 10 system running flatpak from buster-backports, 1.8.4-2~bpo10+1.

$ flatpak run org.gnome.Lollypop 
Traceback (most recent call last):
  File "/app/lib/python3.8/site-packages/lollypop/application.py", line 187, in do_startup
    self.init()
  File "/app/lib/python3.8/site-packages/lollypop/application.py", line 160, in init
    self.ws_director = DirectorWebService()
  File "/app/lib/python3.8/site-packages/lollypop/ws_director.py", line 30, in __init__
    self.__token_ws = TokenWebService()
  File "/app/lib/python3.8/site-packages/lollypop/ws_token.py", line 43, in __init__
    self.__passwords_helper = PasswordsHelper()
  File "/app/lib/python3.8/site-packages/lollypop/helper_passwords.py", line 36, in __init__
    Secret.password_lookup_sync(schema, SecretAttributes)
gi.repository.GLib.Error: g-dbus-error-quark: The name org.freedesktop.secrets was not provided by any .service files (2)
Eonfge commented 3 years ago

Can you try running Lollypop with: flatpak run --no-talk-name=org.freedesktop.secrets org.gnome.Lollypop

It appears that he can't find the secrets portal, which is odd. Let me know if it does work without. Not sure if that is i3 related, but then again I know very little about i3.

aidalgol commented 3 years ago

That gives me a different error with the same stacktrace:

$  flatpak run --no-talk-name=org.freedesktop.secrets org.gnome.Lollypop
Traceback (most recent call last):
  File "/app/lib/python3.8/site-packages/lollypop/application.py", line 187, in do_startup
    self.init()
  File "/app/lib/python3.8/site-packages/lollypop/application.py", line 160, in init
    self.ws_director = DirectorWebService()
  File "/app/lib/python3.8/site-packages/lollypop/ws_director.py", line 30, in __init__
    self.__token_ws = TokenWebService()
  File "/app/lib/python3.8/site-packages/lollypop/ws_token.py", line 43, in __init__
    self.__passwords_helper = PasswordsHelper()
  File "/app/lib/python3.8/site-packages/lollypop/helper_passwords.py", line 36, in __init__
    Secret.password_lookup_sync(schema, SecretAttributes)
gi.repository.GLib.Error: g-dbus-error-quark: org.freedesktop.DBus.Error.ServiceUnknown (2)

I don't think i3 itself has anything to do with this; I mentioned it more to say that I am not running a full desktop environment.

Eonfge commented 3 years ago

Dumb question perhaps, you know of any Linux image that comes with I3 out of the box? I want to test it, but setting it all up manually is quite time consuming.

Flatpak 1.8 should work, so I'm concerned that it's something in your desktop setup that blocks dbus connections.

aidalgol commented 3 years ago

I don't know of any Linux images out there that come with i3 set up, but it shouldn't have to be that window manager in particular, just any bare WM should do.

I definitely have dbus working with other applications, so nothing in my environment is blocking all dbus connections, but the error message makes me suspect that Lollypop expects a service to be running that is never being started on my system.

Eonfge commented 3 years ago

Have you asked upstream?

I'll see if I can reproduce the issue with these guides:

Screenshot from 2021-01-19 17-30-58

aidalgol commented 3 years ago

Have you asked upstream?

Yes, they closed the issue, and directed me here. See https://gitlab.gnome.org/World/lollypop/-/issues/2671#note_1006447

Eonfge commented 3 years ago

Honestly, I'm not sure. Perhaps you should go one level up and ask at the Flatpak project directly. Have you tried another music player like Clementine or Tauon? It's clear that the issue is somewhere in between Flatpak and your custom setup.

aidalgol commented 3 years ago

I have figured out that this error means the application is trying to use the Freedesktop Secrets API, which is provides by GNOME Keyring (whatever KDE's keychain application is called). So the issue is that Lollypop has a hard dependency on the Secrets API, which I do not think it should.

bellegarde-c commented 3 years ago

Already fixed: https://gitlab.gnome.org/World/lollypop/-/merge_requests/1406

Eonfge commented 3 years ago

I'm now distributing the latest version of Lollypop. Please let us know if you experience any further issues.