quexten / goldwarden

A feature-packed Bitwarden compatible desktop client
MIT License
777 stars 27 forks source link

"context deadline exceeded" login failure followed by sometimes unkillable process hang [Flatpak] #289

Open jkatzmewing opened 1 month ago

jkatzmewing commented 1 month ago

Hi, on trying to log into my Bitwarden account, I get a notification with the following:

Could not login via password: Post "https://identity.bitwarden.com/connect/token": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

After this Goldwarden hangs, sometimes becoming unkillable by anything short of a reboot.

Console output is as follows:

melpomene@clevergirl:/var/home/melpomene$ flatpak run com.quexten.Goldwarden 
starting goldwarden daemon /app/bin/goldwarden
running locked status daemon
[INF] [12:03] [Goldwarden > Keyring] >>> Creating new memguard keyring
[WRN] [12:03] [Goldwarden > Agent] >>> Could not read config: open /home/melpomene/.var/app/com.quexten.Goldwarden/config/goldwarden.json: no such file or directory
[WRN] [12:03] [Goldwarden > Agent] >>> Config is not locked. SET A PIN!!
[INF] [12:03] [Goldwarden > Agent] >>> Agent listening on /home/melpomene/.var/app/com.quexten.Goldwarden/data/goldwarden.sock...
[INF] [12:03] [Goldwarden > SSH] >>> SSH Agent listening on /home/melpomene/.var/app/com.quexten.Goldwarden/data/ssh-auth-sock
[WRN] [12:03] [Goldwarden > Agent] >>> Could not monitor idle: org.freedesktop.DBus.Error.ServiceUnknown
listening for pinentry /app/bin/goldwarden
Running in flatpak, registering with background portal for autostart.
[INF] [12:03] [Goldwarden > Agent] >>> Received pinentry registration request
[INF] [12:03] [Goldwarden > Agent] >>> Pinentry registration success: true
create authenticated connection
[INF] [12:03] [Goldwarden > Agent] >>> Verified: true
[INF] [12:04] [Goldwarden > Pinentry] >>> Asking for pin |Pin Change|Enter your desired pin|
[INF] [12:04] [Goldwarden > Pinentry] >>> Got pin from user
/app/bin/src/gui/login.py:6: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk, Adw, GLib, Notify, Gdk
[INF] [12:05] [Goldwarden > Actions] >>> Logging in with master password
[INF] [12:05] [Goldwarden > Pinentry] >>> Asking for pin |Bitwarden Password|Enter your Bitwarden password|
[INF] [12:05] [Goldwarden > Pinentry] >>> Got pin from user
^CTraceback (most recent call last):
  File "/app/bin/goldwarden_ui_main.py", line 10, in <module>

    linux_main.main()
  File "/app/bin/src/linux/main.py", line 53, in main
    time.sleep(60)
KeyboardInterrupt
melpomene@clevergirl:/var/home/melpomene$ panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x84a281]

goroutine 4736 [running]:
github.com/quexten/goldwarden/cli/agent.serveAgentSession({0x0, 0x0}, 0xc00007c140, 0xc000002180)
        /home/runner/work/goldwarden/goldwarden/cli/agent/unixsocketagent.go:53 +0x61
created by github.com/quexten/goldwarden/cli/agent.StartUnixAgent.func9 in goroutine 13
        /home/runner/work/goldwarden/goldwarden/cli/agent/unixsocketagent.go:529 +0x49

This is on Fedora Kinoite 40, on an AMD Ryzen 5 custom desktop.

h0useofdupree commented 1 month ago

Did you set your client_id and client_secret?

shvchk commented 1 month ago

@h0useofdupree I experience the same problem, and I did not set neither client_id nor client_secret. IIRC these are optional and are used to log in with API key?

h0useofdupree commented 1 month ago

@shvchk are you using two factor? I think you need to do it this way, via API, since there is no way to login via 2F. Correct me if I am wrong, but that's the only thing that worked for me

shvchk commented 1 month ago

@h0useofdupree no, not using 2FA

quexten commented 2 weeks ago

Sorry, took a while to get back around to this. The client secret and id are optional on self hosted. On cloud, they are needed because of bot protection. The cloud servers sometimes just give back false responses (instead of errors) or time you out (this issue). 0.3.6 should make things work again without client_id and client_secret, even on the us cloud servers, but bot protection might be changed at some point in the future breaking it again.

0.3.6 should be released in a few hours on flathub.

quexten commented 2 weeks ago

Anyone experiencing this, please test when you get 0.3.6 and let me know if it's resolved. Thank you and apologies for the delay!

shvchk commented 1 week ago

@quexten With 0.3.6 I can log in fine, thank you!