Bug#800617: Fails to provide secrets

Josh Triplett josh at joshtriplett.org
Fri Oct 2 00:00:13 UTC 2015


On Thu, Oct 01, 2015 at 04:27:01PM -0700, Josh Triplett wrote:
> On Fri, Oct 02, 2015 at 12:39:36AM +0200, Michael Biebl wrote:
> > Control: tags -1 moreinfo unreproducible
> > 
> > Am 01.10.2015 um 19:54 schrieb Josh Triplett:
> > > Package: gnome-keyring
> > > Version: 3.18.0-1
> > > Severity: grave
> > > 
> > > Since upgrading gnome-keyring from 3.16.0-4 to 3.18.0-1, applications
> > > trying to retrieve secrets from gnome-keyring no longer can.  I see log
> > > messages like the following:
> > > 
> > > Oct 01 10:36:37 jtriplet-mobl1 gnome-keyring-daemon[5801]: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory
> > > Oct 01 10:36:37 jtriplet-mobl1 gnome-session[5731]: ** Message: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory
> > > Oct 01 10:36:37 jtriplet-mobl1 gnome-keyring-daemon[5803]: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory
> > > Oct 01 10:36:37 jtriplet-mobl1 gnome-session[5731]: ** Message: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory
> > > [...]
> > > Oct 01 10:36:38 jtriplet-mobl1 gnome-keyring-daemon[5808]: couldn't register in session: Timeout was reached
> > > Oct 01 10:36:38 jtriplet-mobl1 gnome-keyring-daemon[5803]: couldn't communicate with already running daemon: Timeout was reached
> > > Oct 01 10:36:38 jtriplet-mobl1 gnome-session[5731]: ** Message: couldn't communicate with already running daemon: Timeout was reached
> > > Oct 01 10:36:38 jtriplet-mobl1 gnome-session[5731]: SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
> > > Oct 01 10:36:39 jtriplet-mobl1 gnome-keyring-daemon[5844]: couldn't register in session: Timeout was reached
> > > [...]
> > > Oct 01 10:37:03 jtriplet-mobl1 gnome-keyring-daemon[5808]: couldn't request name 'org.freedesktop.secrets' on session bus: Timeout was reached
> > > [...]
> > > Oct 01 10:48:34 jtriplet-mobl1 org.gnome.evolution.dataserver.Sources4[5783]: server_side_source_credentials_lookup_cb: Failed to lookup password: Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached
> > > Oct 01 10:48:35 jtriplet-mobl1 org.gnome.seahorse.Application[5783]: (seahorse:8293): seahorse-WARNING **: gkr-backend.vala:85: couldn't connect to secret service: Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached
> > > 
> > > In addition to that, it also looks like every time an application tries to
> > > access the org.freedesktop.secrets service, dbus spawns an instance of
> > > gnome-keyring with the --foreground option, likely based on
> > > /usr/share/dbus-1/services/org.freedesktop.secrets.service ; does this conflict
> > > with the instance already run via /etc/xdg/autostart?
> > > 
> > 
> > Works fine here. Is this maybe a D-Bus problem? Do you use
> > dbus-user-session/kdbus? Any custom config?
> 
> No custom configuration, and not using kdbus or dbus-user-session.  It
> certainly seems possible that the fault lies with DBus; any additional
> information I could supply to evaluate that?

Some further investigation produced interesting results.

With ps, I observed two separate gnome-keyring-daemon processes running
with --components=secrets (in addition to those for ssh and pkcs11).
One sat in the same group as the other components, while the other
appeared to have launched separately and used --foreground, consistent
with getting dynamically launched from DBus.

If I killed the process launched with --foreground, and re-attempted
something that looked for secrets, the process with --foreground
reappeared, and I still couldn't obtain those secrets.

However, if I killed the process launched *without* --foreground first,
then the one launched with --foreground, and re-attempted something that
looked for secrets, the process with --foreground reappeared and I could
obtain the secrets successfully.

So, it looks like those two processes conflicted.  Somehow, programs
looking for the secrets interface couldn't talk to the
gnome-keyring-daemon process launched as part of the session, only the
one launched by dbus; and the one launched by dbus didn't work until I
stopped the one launched as part of the session first.

- Josh Triplett




More information about the pkg-gnome-maintainers mailing list