bohning / usdb_syncer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

keyring error

DerGitRob opened this issue · comments

Tested the new release 0.2.0 with Linux (Debian Sid)

usdb_syncer aborted after one second while showing the splash screen
updated gnome-keyring but the problem stays the same

2023-08-20 21:14:42 [DEBUG] Failed to find Chrome cookie
2023-08-20 21:14:42 [WARNING] Failed to retrieve Chrome cookies.
2023-08-20 21:14:42 [DEBUG] Starting new HTTPS connection (1): usdb.animux.de:443
2023-08-20 21:14:42 [DEBUG] https://usdb.animux.de:443 "GET /?link=profil HTTP/1.1" 200 None
2023-08-20 21:14:42 [DEBUG] Loading KWallet
2023-08-20 21:14:42 [DEBUG] Loading SecretService
2023-08-20 21:14:42 [DEBUG] Loading Windows
2023-08-20 21:14:42 [DEBUG] Loading chainer
2023-08-20 21:14:42 [DEBUG] Loading libsecret
2023-08-20 21:14:42 [DEBUG] Loading macOS
2023-08-20 21:14:42 [ERROR] Introspect error on :1.156:/modules/kwalletd5: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
2023-08-20 21:14:42 [DEBUG] Executing introspect queue due to error
2023-08-20 21:14:42 [ERROR] Uncaught exception:
Traceback (most recent call last):
File "keyring/backends/kwallet.py", line 98, in connected
File "dbus/proxies.py", line 72, in call
File "dbus/proxies.py", line 141, in call
File "dbus/connection.py", line 634, in call_blocking
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.156 was not provided by any .service files

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "usdb_syncer/main.py", line 36, in
File "usdb_syncer/main.py", line 31, in cli_entry
File "usdb_syncer/gui/mw.py", line 419, in main
File "usdb_syncer/gui/mw.py", line 428, in _load_main_window
File "usdb_syncer/song_list_fetcher.py", line 21, in get_all_song_data
File "usdb_syncer/song_list_fetcher.py", line 47, in get_available_songs
File "usdb_syncer/usdb_scraper.py", line 340, in get_usdb_available_songs
File "usdb_syncer/usdb_scraper.py", line 238, in get_usdb_page
File "usdb_syncer/usdb_scraper.py", line 229, in page
File "usdb_syncer/usdb_scraper.py", line 84, in session
File "usdb_syncer/usdb_scraper.py", line 49, in establish_usdb_login
File "usdb_syncer/settings.py", line 31, in get_usdb_auth
File "keyring/core.py", line 56, in get_password
File "keyring/backends/chainer.py", line 48, in get_password
File "keyring/backends/kwallet.py", line 109, in get_password
File "keyring/backends/kwallet.py", line 100, in connected
keyring.errors.InitError: Failed to open keyring: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.156 was not provided by any .service files.
[2688023] Failed to execute script 'main' due to unhandled exception!`

due to

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.156 was not provided by any .service files

Have you tried to install libdbus-1-3 (or how ever it is called on debian sid) or verified its existance?

The problem might be related to dbus rather than gnome-keyring. Its been a while since we worked on our linux issues and we definitely have some work to do, but we started a troubleshooting sectin in the readme with some things we already noticed: https://github.com/bohning/usdb_syncer#troubleshooting

A note about the cookie in Chrome:

If I remember correctly I did not get it to work with Chrome (or firefox) on Debian. I had to install Brave Browser. But I think that is not the actual problem here, keeping the syncer from start-up. (Btw. anybody would get that error, as I think we start with chrome by default and that can only be configured in the app settings after the first start up)

Yes, libdbus-1-3 is installed.
Unfortunately, with USDB_Syncer-0.2.1-Linux I get the same error.
What can I provide to get further informations about the cause of the error?

you could try somenof the following options:

  • In order to debug #137 I started usdb_syncer with

    QT_DEBUG_PLUGINS="1" ./USDB_Syncer-0.1.0-Linux
    

    which might probably provide more detail for us here.

  • If you feel comfortable with development and/or python you could also try to clone the repo and run it with the info provided in #137. Maybe the log along the development version provides more details

  • We also had a somewhat related issue here #136. Probably you can relate to it and find something useful there.

I can try to reproduce your error on a live image in the next days. Probably its now finally time to tackle #139 which might also fix this issue.

I am sorry that I cannot provide you any more detailed help for the time being.

Output of QT_DEBUG_PLUGINS="1" ./USDB_Syncer-0.1.0-Linux
https://paste.siduction.org/?3d4b22f4f707888a#3fU618vcreLKYizQJL2T7bH4Gvfkda3x7xuhe8gdN4Ya

xcb seems not to be the cause, because I get
qt.core.library: "/tmp/_MEIeTStmI/PySide6/Qt/plugins/platforms/libqxcb.so" loaded library

gnome-keyring is installed as suggested in #136

I think resolving #139 would solve the problem.

I have found the solution: As I'm KDE user, I just had to activate KDE's own password manager kwallet in the system settings.

Thank you for for digging into this and sharing your solution. We are still struggeling with Linux specifics (to be honest, I am not familiar with the topic Gnome/KDE/etc. - need to look that up), but it seems we need a broader solution for this than just bundeling gnome_keyring.

I want to use this issue to submit a PR with at least a Note in the ReadMe. Probably we can handle the exception tho output something like "you need to enable your Gnome/KDE/... specific password manager" that gives Linux users enough information to enable whatever setting is required.