Bug 638637 - gnome-keyring no longer functioning
Summary: gnome-keyring no longer functioning
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: glib2
Version: 14
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 638813 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-29 14:43 UTC by Jeff Layton
Modified: 2014-06-18 07:40 UTC (History)
7 users (show)

Fixed In Version: glib2-2.26.0-2.fc14
Clone Of:
Environment:
Last Closed: 2011-03-16 12:58:31 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jeff Layton 2010-09-29 14:43:51 UTC
Opening as a gnome-keyring bug, but it may be something other gnome component that's broken:

Within the last day, gnome-keyring has stopped functioning on my main workstation. When I log in and then try to ssh into another machine, I get prompted for the passphrase for my public key.

Looking at my environment vars in gnome-terminal:

    $ env | grep SSH
    SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass

...no setting for SSH_AUTH_SOCK. empathy IM is also completely unusable due to this problem. I updated the machine to:

    gnome-keyring-2.32.0-1.fc14.x86_64
    libgnome-keyring-2.32.0-1.fc14.x86_64
    gnome-keyring-pam-2.32.0-1.fc14.x86_64

...but the problem still persists.

Comment 1 Jeff Layton 2010-09-29 15:01:08 UTC
.xsession-errors has this in it:

gnome-session[2807]: WARNING: Application 'gnome-keyring-pkcs11.desktop' failed to register before timeout
gnome-session[2807]: WARNING: Application 'gnome-keyring-secrets.desktop' failed to register before timeout
gnome-session[2807]: WARNING: Application 'gnome-keyring-gpg.desktop' failed to register before timeout
gnome-session[2807]: WARNING: Application 'gnome-keyring-ssh.desktop' failed to register before timeout

Comment 2 Jeff Layton 2010-09-29 15:29:56 UTC
I see some SSH_AUTH_SOCK lines later in .xsession-errors, so I'm going to go on the assumption that something is making it take too long to register. stracing gnome-keyring-daemon in gnome-keyring-ssh.desktop:

5356  11:15:49.667353 lstat("/tmp/keyring-uhG5ST/control", {st_mode=S_IFSOCK|0755, st_size=0, ...}) = 0 <0.000053>
5356  11:15:49.667519 geteuid()         = 4447 <0.000021>
5356  11:15:49.667625 socket(PF_FILE, SOCK_STREAM, 0) = 4 <0.000048>
5356  11:15:49.667769 fcntl(4, F_SETFD, FD_CLOEXEC) = 0 <0.000021>
5356  11:15:49.667883 connect(4, {sa_family=AF_FILE, path="/tmp/keyring-uhG5ST/control"}, 110) = 0 <0.000122>
     ^^^^
Open a AF_FILE socket, and connect it. The "main" gnome-keyring-daemon is attached to this as well. I assume this daemon is communicating with that.

5356  11:15:49.668124 write(4, "\0", 1) = 1 <0.000027>
5356  11:15:49.668232 write(4, "\0\0\1\206\0\0\0\0\0\0\0\3ssh\0\0\0\7\0\0\0\fDISPLAY=:"..., 390) = 390 <0.000028>
5356  11:15:49.668347 read(4, "\0\0\0\220", 4) = 4 <25.036789>

^^^ so we read off the socket, and it takes 25s, I guess this is why it times out.


5356  11:16:14.705458 read(4, "\0\0\0\0\0\0\0\3\0\0\0)GNOME_KEYRING_CONTRO"..., 140) = 140 <0.000127>
5356  11:16:14.706016 close(4)          = 0 <0.000089>
5356  11:16:14.706444 fstat(1, {st_mode=S_IFREG|0600, st_size=5202, ...}) = 0 <0.000054>
5356  11:16:14.706943 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9c0c2d3000 <0.000042>
5356  11:16:14.707354 write(1, "GNOME_KEYRING_CONTROL=/tmp/keyri"..., 123) = 123 <0.000463>
5356  11:16:14.708181 exit_group(0)     = ?

...and then it eventually exits after writing the env var info to stdout.

Comment 3 Tomáš Bžatek 2010-09-30 12:50:37 UTC
*** Bug 638813 has been marked as a duplicate of this bug. ***

Comment 4 Tomáš Bžatek 2010-09-30 12:51:50 UTC
Interesting, so long delay. Is there any dialog asking for master keyring password right after the login?

Comment 5 Jeff Layton 2010-09-30 13:02:22 UTC
When I have gdm autologin, then yes I get a password for it.

After talking this over with jlaska, I think this is probably due to an update of glib2 that was submitted just after the beta. It has apparently broken a bunch of stuff including this and evince.

Looking now at confirming it.

Comment 6 Jeff Layton 2010-09-30 13:31:31 UTC
Yes, downgrading glib2 seems to have fixed this.

Was this upgrade ever tested? It certainly broke a ton of stuff...

Comment 7 Jeff Layton 2010-09-30 13:35:45 UTC
To be clear:

Broken: glib2-2.26.0-1.fc14.x86_64
Working: glib2-2.25.15-1.fc14.x86_64

Comment 8 Tomáš Bžatek 2010-09-30 13:48:23 UTC
(In reply to comment #6)
> Yes, downgrading glib2 seems to have fixed this.
> 
> Was this upgrade ever tested? It certainly broke a ton of stuff...
Can you test glib2-2.26.0-1.fc14.1 ? (weird NVR)
http://koji.fedoraproject.org/koji/buildinfo?buildID=198028
 - it's a rebuild with fixed gcc

Comment 9 Jeff Layton 2010-09-30 14:05:48 UTC
(In reply to comment #8)
> (In reply to comment #6)
> > Yes, downgrading glib2 seems to have fixed this.
> > 
> > Was this upgrade ever tested? It certainly broke a ton of stuff...
> Can you test glib2-2.26.0-1.fc14.1 ? (weird NVR)
> http://koji.fedoraproject.org/koji/buildinfo?buildID=198028
>  - it's a rebuild with fixed gcc

It's also broken in the same way.

Comment 10 Tomáš Bžatek 2010-10-01 12:04:10 UTC
Can you please test the new glib2-2.26.0-2.fc14?

Comment 11 Richard W.M. Jones 2010-10-01 12:31:28 UTC
(In reply to comment #10)
> Can you please test the new glib2-2.26.0-2.fc14?

Not tried gnome-keyring yet, but that version of glib2
seems to be broken in other ways.  In particular evince
doesn't work (I will file a BZ shortly).

Comment 12 Jeff Layton 2010-10-01 16:52:30 UTC
That version of glib2 seems to fix the problem for me. A quick test shows that evince also seems to work fine with it. Richard, are you possibly confusing that version with one of the earlier broken ones?

Comment 13 Richard W.M. Jones 2010-10-01 18:31:18 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=639316#c1

Anyway, I haven't tested gnome-keyring with the newer
glib2, so if it fixes it for someone else then I'm fine
with that.  evince is a different bug ...


Note You need to log in before you can comment on or make changes to this bug.