bohning / usdb_syncer

MIT License
72 stars 10 forks source link

keyring error #149

Open DerGitRob opened 1 year ago

DerGitRob commented 1 year ago

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!`

mjhalwa commented 1 year ago

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)

DerGitRob commented 1 year ago

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?

mjhalwa commented 1 year ago

you could try somenof the following options:

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.

DerGitRob commented 1 year ago

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.

DerGitRob commented 1 year ago

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.

mjhalwa commented 1 year ago

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.