-
-
Notifications
You must be signed in to change notification settings - Fork 161
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
Importing keyring takes two minutes #434
Comments
Must be coming from kwallet or secret storage as they are the only ones using dbus. |
I updated my system and the problem went the way it came. Silently. |
Actually, it didn't go away. It came back after logging out and then logging back in. During the session the behaviour stays consistent. Either it imports quickly as it should or it takes two minutes. |
This is a problem with your D-Bus daemon (e.g. gnome-keyring) — it does not reply in time. Either fix it or set a different backend in the configuration file. |
@mitya57 Okay, then how do I fix it? Do you have any clues for me? Commands I can run to figure out what the problem exactly is? |
Perhaps not, but in your case, it probably wouldn't help much to defer the initialization... because when pip went to check for the credentials, it would then need to initialize and would encounter the issue.
Can keyring or its client be configured to time out more quickly? Why does it need a 120s timeout? Is that because there may be a user-interactive prompt during that time? As a workaround, keyring now documents techniques to disable keyring. Consider using one of those techniques to bypass the issue. |
This is configured in <limit name="service_start_timeout">120000</limit> This is the timeout for 'service activation'. When you try to talk to a service that's not currently running, D-Bus can start (activate) a program for it, as defined by files like I don't think there's any way to override that timeout when talking to D-Bus. But the client (that's us) can give up waiting for a reply sooner than the message bus does - that might explain why the timeout is set so long. I'm working on an overhaul of Jeepney which will include the ability to set a timeout on blocking calls, so keyring or SecretStorage could decide that 5 or 10 seconds is enough. |
This should be fixed by #474. |
Describe the bug
import keyring
takes approximately 120 seconds, sometimes less, but on average 120 seconds:To Reproduce
This is probably not easily reproducable!
Expected behavior
Short import time.
Environment
Additional Information
import keyring
, becausekeyring
initialises itself when it is imported.dbus
call takes two minutes before it returns (I don't even know if it fails or if it is successfull). But I don't speak dbus so my digging ends here.strace
dqtile
, see here. Arecvfrom
takes 120 seconds.pip
, the commands I execute do not produce an output for two minutes. That is becausepip
useskeyring
.keyring.core.init_backend
when importingkeyring
?Questions
The text was updated successfully, but these errors were encountered: