After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 399017 - seahorse no longer caching gnupg passphrases
seahorse no longer caching gnupg passphrases
Status: RESOLVED NOTABUG
Product: seahorse
Classification: Applications
Component: general
0.9.10
Other other
: High major
: 1.0.0
Assigned To: Seahorse Maintainer
Seahorse Maintainer
Depends on:
Blocks:
 
 
Reported: 2007-01-21 13:41 UTC by codehelp
Modified: 2007-01-21 15:46 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description codehelp 2007-01-21 13:39:50 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

Thread 1 (Thread 47072809630496 (LWP 4741))

  • #0 waitpid
    from /lib/libpthread.so.0
  • #1 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #2 <signal handler called>
  • #3 raise
    from /lib/libc.so.6
  • #4 abort
    from /lib/libc.so.6
  • #5 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #6 g_log
    from /usr/lib/libglib-2.0.so.0
  • #7 g_assert_warning
    from /usr/lib/libglib-2.0.so.0
  • #8 ??
  • #9 ??
  • #10 ??
  • #11 g_source_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #15 IA__gtk_main
    at gtkmain.c line 1003
  • #16 ??
  • #17 __libc_start_main
    from /lib/libc.so.6
  • #18 ??
  • #19 ??
  • #20 ??
  • #0 waitpid
    from /lib/libpthread.so.0




------- Bug created by bug-buddy at 2007-01-21 13:41 -------

Comment 1 codehelp 2007-01-21 14:05:13 UTC
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.
Comment 2 Adam Schreiber 2007-01-21 14:27:48 UTC
How are you chaining seahorse-agent into your login sequence?  Is it like one of the methods at http://live.gnome.org/Seahorse/SessionIntegration ?
Comment 3 codehelp 2007-01-21 14:47:29 UTC
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.
Comment 4 Adam Schreiber 2007-01-21 14:55:47 UTC
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.
Comment 5 codehelp 2007-01-21 15:25:43 UTC
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?
Comment 6 codehelp 2007-01-21 15:41:55 UTC
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.
Comment 7 codehelp 2007-01-21 15:46:58 UTC
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.