Bug 638637

Summary: gnome-keyring no longer functioning
Product: [Fedora] Fedora Reporter: Jeff Layton <jlayton>
Component: glib2Assignee: Matthias Clasen <mclasen>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 14CC: danw, davej, mclasen, rjones, steved, tbzatek, walters
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: glib2-2.26.0-2.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-16 12:58:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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 ...