GNOME Bugzilla – Bug 399017
seahorse no longer caching gnupg passphrases
Last modified: 2007-01-21 15:46:58 UTC
Distribution: Debian 4.0 Package: seahorse Severity: Normal Version: GNOME2.14.3 0.9.10 Gnome-Distributor: Debian Synopsis: seahorse quits and then disables SSH passphrase caching Bugzilla-Product: seahorse Bugzilla-Component: general Bugzilla-Version: 0.9.10 BugBuddy-GnomeVersion: 2.0 (2.14.1) Description: Description of the crash: Steps to reproduce the crash: 1. attempt any process requiring an SSH private key 2. enter passphrase 3. crash dialog is raised - seahorse has quit 4. Subsequent SSH operations become impossible. Expected Results: seahorse should continue How often does this happen? Everytime. Additional Information: Subsequently, SSH operations hang indefinitely - the ssh-agent has to be killed and cannot be successfully restarted. i.e. seahorse disables all subsequent SSH passphrase caching. Debugging Information: Backtrace was generated from '/usr/bin/seahorse-agent' (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 47072809630496 (LWP 4741)] [New Thread 1082132832 (LWP 4852)] 0x00002acffc91400f in waitpid () from /lib/libpthread.so.0
+ Trace 104012
Thread 1 (Thread 47072809630496 (LWP 4741))
------- Bug created by bug-buddy at 2007-01-21 13:41 -------
A zombie process is left behind and even disabling seahorse, logging out and loggin back in does not allow me to use SSH. I have to prefix every single SSH usage with eval 'ssh-agent' and enter the passphrase every single time. i.e. seahorse is completely useless now.
How are you chaining seahorse-agent into your login sequence? Is it like one of the methods at http://live.gnome.org/Seahorse/SessionIntegration ?
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=407800 The running processes are: /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute /usr/bin/gnome-session /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute /usr/bin/gnome-session I'm also running gpg-agent. gpg-agent can be disabled by this crash if the user clicks "Close" in the crash handler. Clicking "Restart Application" allows gpg-agent to operate normally. I've managed to get SSH to operate again but the passphrase cache is not working.
seahorse-agent is a replacement for gpg-agent. They should not be run at the same time. Try running only one and see if the crash still occurs. Before restarting, you should kill both seahorse-agent and gpg-agent and remove any lines in ~/.gnupg/gpg.conf that pertain to agent sockets.
There appears to be no information about this conflict in the relevant manpages - that could be worth adding. Maybe seahorse could even check for a running gpg-agent. It is working now, thanks. I'm not sure why ~/.gnupg/gpg.conf contained a reference to 'use-agent'. I think something changed in the gpg-agent setup upstream because a few days ago, I stopped being able to use seahorse cacheing for GnuPG and adding this line re-enabled it. It was only today that the conflict appeared. (Maybe I should log out more often . . . ) :-) Shall I leave this bug report open as a wishlist bug for seahorse to check for an existing gpg-agent instance?
Disabling gpg-agent allows seahorse to work, but seahorse does not cache the gnupg passphrase, except for email! $ gpg -ab debian.tar.gz You need a passphrase to unlock the secret key for user: "Neil Williams (Debian) <codehelp@debian.org>" 1024-bit DSA key, ID 28BCB3E3, created 2002-01-27 Enter passphrase: *THAT* is why I had to re-enable use-agent in gpg.conf. So I can't use gpg-agent to do this and seahorse has *stopped* doing this. There's still a problematic bug here. $ ps waux | grep agent neil 11657 0.0 0.1 17808 1216 ? Ss 15:15 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute /usr/bin/gnome-session neil 11660 0.0 0.0 7848 664 ? S 15:15 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute /usr/bin/gnome-session neil 11669 0.0 1.3 117372 13604 ? Ssl 15:15 0:00 /usr/bin/seahorse-agent --execute /usr/bin/gnome-session neil 12921 0.0 0.0 4388 724 pts/2 R+ 15:40 0:00 grep --color agent SSH is now being cached nicely, as is signed email in sylpheed - but not command line signing with gpg.
Ahem, ne'er mind. gnupg passphrase caching had been disabled at some point. Re-enabled that and command-line signing is working again. Sorry for the hassle.