-
Notifications
You must be signed in to change notification settings - Fork 21
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
Collection.unlock() blocks indefinitely #33
Comments
Hi!
It looks like gnome-keyring opened a prompt dialog and waits for you to type a password (or at least it thinks so). Do you see any dialogs when it happens? |
Just wanted to say I had this same issue on an Ubuntu server and fixed it by configuring the keyring to automatically unlock. |
@mitya57 some of the Poetry users have been experiencing this issue as well. I have been trying to recreate conditions to reproduce the issue. For context, I am using GNOME Shell and gnome-keyring is installed and working as expected. I was able to narrow down reproduction to the following sequence.
This causes no dialogue to appear, and the python session hangs - obviously waiting for the user to interact with a dialogue that never gets displayed. What I also found interesting was that if I skipped (2, 3), the same (4) will trigger the dialogue successfully and dismissing it without unlocking and retrying (4) still shows the dialogue. Any insights into debugging the root cause will be helpful. If it helps, here are the dbus events for when the unlock get stuck. dbus-events.log
method call time=1736459117.222271 sender=:1.1247 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "sender='org.freedesktop.secrets',interface='org.freedesktop.Secret.Prompt'"
method return time=1736459117.222275 sender=org.freedesktop.DBus -> destination=:1.1247 serial=4294967295 reply_serial=2
method call time=1736459117.222278 sender=:1.1247 -> destination=org.freedesktop.secrets serial=3 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.DBus.Properties; member=Get
string "org.freedesktop.Secret.Collection"
string "Label"
method return time=1736459117.222282 sender=:1.1081 -> destination=:1.1247 serial=229 reply_serial=3
variant string "Login"
method call time=1736459117.222286 sender=:1.1247 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets/aliases/default; interface=org.freedesktop.DBus.Properties; member=Get
string "org.freedesktop.Secret.Collection"
string "Locked"
method return time=1736459117.226750 sender=:1.1081 -> destination=:1.1247 serial=230 reply_serial=4
variant boolean true
method call time=1736459117.227217 sender=:1.1247 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=Unlock
array [
object path "/org/freedesktop/secrets/aliases/default"
]
method return time=1736459117.228304 sender=:1.1081 -> destination=:1.1247 serial=231 reply_serial=5
array [
]
object path "/org/freedesktop/secrets/prompt/u21"
method call time=1736459117.228706 sender=:1.1247 -> destination=org.freedesktop.secrets serial=6 path=/org/freedesktop/secrets/prompt/u21; interface=org.freedesktop.Secret.Prompt; member=Prompt
string ""
method return time=1736459117.228923 sender=:1.1081 -> destination=:1.1247 serial=232 reply_serial=6 |
Environment
operating system: Debian
Python version: 3.9
SecretStorage==3.3.1
Issue
I am trying to get my keyring configuration via this command:
keyring get https://upload.pypi.org/legacy/ <my-username>
.However, this command blocks indefinitely. Terminating the command returns this traceback:
It seems
Collection.unlock()
is blocking indefinitely. What is causing this, and how can this be fixed?The text was updated successfully, but these errors were encountered: