Re: gnome-keyring segfault in with multiple concurrent ssh sessions



On 23/11/11 12:07 PM, Stef Walter wrote:
On 2011-11-19 17:45, Daniel Villeneuve wrote:
I regularly execute scripts that launch multiple ssh connections
concurrently (e.g., "make -j 4" with each target invoking ssh).
 From time to time (approx. twice a week), gnome-keyring crashes
(segmentation fault) on one of these connection attempts.
I've filed a bug report to Red Hat, but they could not reproduce the
problem.

The packages related to gnome-keyring on my RHEL6 box are:

gnome-keyring-2.28.2-6.el6.i686
gnome-python2-gnomekeyring-2.28.0-4.el6.i686
gnome-keyring-pam-2.28.2-6.el6.i686
gnome-keyring-devel-2.28.2-6.el6.i686

Is there a way I could setup my system to debug this problem? (e.g.,
compile some parts in debug, get a core, ...)

The gnome-keyring versions are pretty old. But I'll see what I can do.

Modern versions of gnome-keyring-daemon in the foreground like so:

$ gnome-keyring-daemon --foreground --replace

But I think in your version, the '--replace' argument won't exist. So what you need to do is kill all the gnome-keyring-daemon processes, and then run:

$ gnome-keyring-daemon --foreground

Then copy and paste the environment variables that are printed out into a new terminal window, and run your scripts from that terminal so they use that gnome-keyring-daemon running in the foreground.

Then we can see what it says. This may involve some back and forth. If you want quicker help you can join us on #keyring on gimp.net IRC, I can try and help you there when I'm around.


I've just done the above, and on the first try I got the following:

$ gnome-keyring-daemon --foreground
GNOME_KEYRING_SOCKET=/tmp/keyring-vgfLF1/socket
SSH_AUTH_SOCK=/tmp/keyring-vgfLF1/socket.ssh
GNOME_KEYRING_PID=15643
** Message: couldn't set environment variable in session: Setenv interface is only available during the Initialization phase

gnome-keyring-daemon: egg-secure-memory.c:560: sec_free: Assertion `cell->next == ((void *)0)' failed.
Aborted (core dumped)

Unfortunately, I had "ulimit -c 0" active at that time.

Another test with "ulimit -c unlimited" gives me:

$ gnome-keyring-daemon --foreground
GNOME_KEYRING_SOCKET=/tmp/keyring-pcxAMf/socket
SSH_AUTH_SOCK=/tmp/keyring-pcxAMf/socket.ssh
GNOME_KEYRING_PID=21070
** Message: couldn't set environment variable in session: Setenv interface is only available during the Initialization phase gnome-keyring-daemon: egg-secure-memory.c:323: sec_check_guards: Assertion `((void**)cell->words)[0] == (void*)cell' failed.
Aborted (core dumped)

The core file is 122M and I don't have a symbol table. Is the above enough or would you suggest I try to compile a debug version of the pacakge(s)?
--
Daniel



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]