Bug 907156 - gnome-keyring-daemon fails to unlock/spawn popup in shell when auto-loggedin
Summary: gnome-keyring-daemon fails to unlock/spawn popup in shell when auto-loggedin
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: gcr
Version: 18
Hardware: All
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 890522 906261 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-03 13:51 UTC by Cedric Sodhi
Modified: 2014-02-05 18:49 UTC (History)
23 users (show)

Fixed In Version: gcr-3.6.2-3.fc18
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 955143 (view as bug list)
Environment:
Last Closed: 2014-02-05 18:49:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Possible solution for the problem (700 bytes, patch)
2013-02-04 15:10 UTC, Stef Walter
no flags Details | Diff
dbus-monitor output when it doesnt work (1.95 KB, text/plain)
2013-02-04 17:37 UTC, Cedric Sodhi
no flags Details
dbus-monitor output when it works (6.60 KB, text/plain)
2013-02-04 17:40 UTC, Cedric Sodhi
no flags Details
Debugging output patch (1.68 KB, patch)
2013-02-04 21:34 UTC, Stef Walter
no flags Details | Diff
Systemlog seconds after auto-login (47.38 KB, text/plain)
2013-02-04 23:16 UTC, Cedric Sodhi
no flags Details
Systemlog after attempting to unlock the keyring (85.61 KB, text/plain)
2013-02-04 23:19 UTC, Cedric Sodhi
no flags Details
WIP backport deadlock fix, Start with all possible patches (45.91 KB, patch)
2013-02-06 10:37 UTC, Stef Walter
no flags Details | Diff
Updated WIP patch (48.71 KB, patch)
2013-02-06 14:09 UTC, Stef Walter
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 693145 0 Normal NEW Race with gnome-keyring while starting up gnome-shell 2020-12-23 01:47:54 UTC
Red Hat Bugzilla 906701 0 unspecified CLOSED Malfunctions when current user is logged in automatically (User Accounts Setting) 2021-02-22 00:41:40 UTC

Internal Links: 906701

Description Cedric Sodhi 2013-02-03 13:51:19 UTC
The following bug affects a large part of Fedora for many components depend on gnome-keyring-daemon in a non-failsafe fashion.

The symptoms are the following, on a clean F18 install with only an "Online Account" set-up (gmail.com).

In the given setup, there is only one keyring "Default keyring". (No keyring called "Login", however the same problem has been observed with an additional "Login"-Keyring -- or only the "Login"-Keyring, for that matter -- too).

It's not certain that all of the following symptoms are actually caused by the dysfunction of gnome-keyring-daemon/gnome-shell, but they may provide hints

When the (one and only) user is automatically logged in, you would expect a popup asking to unlock the keyring of "Online-Accounts".

However, no such popup appears.

Applications, which, at this point, have inquired for passwords time-out. For example "Online Accounts" fails to connect with an Authentication error. "Evolution" times out on connections to gmail.com and does not finish operations on another IMAP. When instructed to quite, Evolution refuses to quit and can only be killed with kill -1.
While these are bugs in how the respective applications depend on the keyring and will not function properly when the keyring is unresponsive, it illustrates the severity of the problem.

When attempting to unlock the keyring manually by "Right-Click >> Unlock" on the name of "Default keyring" in "Passwords and Keys", nothing happens.

When restarted with "gnome-keyring-daemon --replace --foreground" at any point, the popup asking for a password to unlock "Default keyring" suddenly appears.

From that point on, the keyring responds properly.

Comment 1 Cedric Sodhi 2013-02-03 18:39:34 UTC
It can be noted that the keyring popup appears right after (auto-)login in an estimated 5% of the cases.

If I had to speculate, I'd say this is some sort of race on the dbus - but this is purely a guess.

Comment 2 Stef Walter 2013-02-04 15:10:47 UTC
Created attachment 692799 [details]
Possible solution for the problem

I tried reproducing this, and couldn't reproduce it exactly as described. I didn't get the hang (at least not yet), but I did see some odd behavior.

Does the attached patch fix the issue?

You can just apply this patch like so:

$ sudo -s
# cd /usr/share/gnome-shell
# patch -p1 < /path/to/keyring-race.patch

And then to revert the old behavior

# yum reinstall gnome-shell

Comment 3 Cedric Sodhi 2013-02-04 17:19:38 UTC
Applying the changes from the patch did not change anything about the symptoms.

Comment 4 Cedric Sodhi 2013-02-04 17:37:59 UTC
Created attachment 692894 [details]
dbus-monitor output when it doesnt work

I attach the results of dbus-monitor --session when I right-click the Keyring-entry in "Passwords and Keys" and choose "Unlock" (and nothing happens).

Comment 5 Cedric Sodhi 2013-02-04 17:40:02 UTC
Created attachment 692895 [details]
dbus-monitor output when it works

Similarly, it follows the output of dbus-monitor --session AFTER I executed "gnome-keyring-daemon --replace", from which moment on everything works as expected. I.e. clicking "Unlock" on the keyring entry spawns a popup in the shell. The output is from the moment when I click "Unlock" through the moment when the popup appears.

Comment 6 Stef Walter 2013-02-04 21:34:27 UTC
Created attachment 693003 [details]
Debugging output patch

Thanks for the dbus output. That  does help narrow the problem down. It appears the problem is not in the gcr library or gnome-shell but in gnome-keyring somehow. 

This also confirms that this problem has a different cause than the rather innocuous race condition prompt style some others were having, where prompts did not show up as shell styled in certain situations.

Cedric, could you apply the attached patch to gnome-keyring, install the new gnome-keyring-daemon, and reproduce the problem. Since gnome-keyring logs to syslog, you should be able to use this to see the output:

$ sudo journalctl | grep gnome-keyring-daemon

You can build gnome-keyring to install over your system like this:

$ sh autogen.sh --prefix=/usr --libdir=/usr/lib64 --enable-debug --enable-strict --sysconfdir=/etc
$ make
$ sudo make install

After you're done you should be able to do this to get back to the Fedora packaged version:

$ sudo yum reinstall gnome-keyring

There will be copious output.

Comment 7 Stef Walter 2013-02-04 21:35:05 UTC
If you feel that the output of gnome-keyring's debug logs is private, feel free to mail it to me.

Comment 8 Cedric Sodhi 2013-02-04 23:16:31 UTC
Created attachment 693042 [details]
Systemlog seconds after auto-login

I attach the log which was obtained by

# journalctl | grep -i gnome-keyring-daemon

right after the gnome-shell came up after auto-login (the popup asking for the password to the keyring should supposedly have appeared but didn't).

Comment 9 Cedric Sodhi 2013-02-04 23:19:07 UTC
Created attachment 693043 [details]
Systemlog after attempting to unlock the keyring

I also attach the output obtained from the same command (naturally including the previous log Attachment 693042 [details] in the beginning) seconds AFTER I tried to unlock the keyring by choosing "Unlock" in the right-click menu of the "Default keyring" entry in "Passwords and Keys".

Comment 10 Stef Walter 2013-02-05 08:22:10 UTC
Thanks for the debug logs.

Cedric, would you be able to try out gcr version 3.7.2 and see if it fixes this problem. If so we can work on backporting a subset of the patches. I'll help you on IRC to install this version, if you like.

Comment 11 Cedric Sodhi 2013-02-05 09:42:03 UTC
GCR 3.7.2 appears to fix the problem in that on login, a grayish popup (the one which would appear previously after executing gnome-keyring-daemon --replace) appears, asking me to unlock the keyring.

Right now, that popup still appears while the shell instantly goes into "Window Overview" mode, showing me that one popup as the (only) window to pick from a list of windows, when starting.

Also, this is not the same popup that you get when normally unlocking the keyring. I.e. this is not the kind of gnome-shell dialog which temporarily renders everything else "disabled".

The bug discussed here appears to be fixed by GCR 3.7.2, however.

Comment 12 Stef Walter 2013-02-05 20:31:51 UTC
For those following along, the out of place GTK+ dialog is discussed in bug #693145

Comment 13 Stef Walter 2013-02-06 10:37:38 UTC
Created attachment 693870 [details]
WIP backport deadlock fix, Start with all possible patches

The fix in gcr 3.7.1 consists of multiple patches. Ideally we would narrow it down to just what's necessary. So to do that, let's start with the big patch and make sure it still fixes the problem.

Cedric, could you try this patch on top of 3.6.1 (what's included in Fedora) and see if it fixes the problem for you?

Comment 14 Cedric Sodhi 2013-02-06 13:29:33 UTC
3.6.1 and attachment 693870 [details] gives

> gcr-mock-prompter.c: In function 'gcr_mock_prompt_confirm_async':
> gcr-mock-prompter.c:442:3: error: 'complete_func' undeclared (first use in this function)

Comment 15 Stef Walter 2013-02-06 14:09:03 UTC
Created attachment 693943 [details]
Updated WIP patch

I guess i missed cherry picking one patch into this one. This updated patch should work better.

Comment 16 Cedric Sodhi 2013-02-06 14:26:23 UTC
It appears (three trials) that attachment 693943 [details] is enough to address the issue.

Comment 17 Fedora Update System 2013-02-07 17:59:23 UTC
gcr-3.6.2-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/gcr-3.6.2-3.fc18

Comment 18 Fedora Update System 2013-02-08 17:06:22 UTC
Package gcr-3.6.2-3.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing gcr-3.6.2-3.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-2161/gcr-3.6.2-3.fc18
then log in and leave karma (feedback).

Comment 19 Stef Walter 2013-02-12 20:36:16 UTC
*** Bug 906261 has been marked as a duplicate of this bug. ***

Comment 20 Fedora Update System 2013-02-27 02:44:10 UTC
gcr-3.6.2-3.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Dr J Austin 2013-02-28 09:22:54 UTC
Fully updated F18   (2013_02_27)
ja@minix ~ 4$ uname -r
3.7.9-205.fc18.x86_64

ja@minix ~ 7$ rpm -qa|grep evo
evolution-data-server-3.6.3-2.fc18.x86_64
evolution-3.6.3-2.fc18.x86_64
evolution-spamassassin-3.6.3-2.fc18.x86_64

Evolution works fine with this version of gcr 
ja@minix ~ 6$ rpm -qa|grep gcr
gcr-3.6.2-1.fc18.x86_64

but does not offer a popup window to permit authentication when updated to
grc-3.6.2-3.fc18

hence evolution freezes and is unusable with the update!

Even with the working gcr I am getting 

ja@minix ~ 2$ evolution

** (evolution:3091): WARNING **: Couldn't register with accessibility
bus: Did not receive a reply. Possible causes include: the remote
application did not send a reply, the message bus security policy
blocked the reply, the reply timeout expired, or the network connection
was broken.

** (evolution-alarm-notify:3117): WARNING **: Couldn't register with
accessibility bus: Did not receive a reply. Possible causes include: the
remote application did not send a reply, the message bus security policy
blocked the reply, the reply timeout expired, or the network connection
was broken.

cat /var/log/messages
Feb 27 13:17:24 minix gcr-prompter[3134]: atk_bridge_adaptor_cleanup:
assertion `inited' failed

Is it my setup or is there still a problem?

I'm in a mixed environment XFCE, konsole, lightdm, sssd, ldap, autofs, NFS4, ...

Comment 22 Stef Walter 2013-02-28 11:57:28 UTC
(In reply to comment #21)
> Is it my setup or is there still a problem?
> 
> I'm in a mixed environment XFCE, konsole, lightdm, sssd, ldap, autofs, NFS4,

Hmmm. Could you run your session with the environment variable GCR_DEBUG=all?

I imagine you normally see a GTK+ style prompt window for unlocking the keyring, since you're not running gnome-shell right?

> cat /var/log/messages
> Feb 27 13:17:24 minix gcr-prompter[3134]: atk_bridge_adaptor_cleanup:
> assertion `inited' failed

This happens when the GTK+ is exiting. So the gcr-prompter (the fallback GTK+ based prompter) is exiting without showing a prompt.

Anyway, let me know if you can get further logs using the environment variable above.

Comment 23 Dr J Austin 2013-02-28 12:57:05 UTC
Working evolution/gcr acts as follows
It pops up a window which I enter my passwd OK
Then a second popup appears
Enter password to unlock your login keyring
The password you use to log in to your computer no longer matches that of your
login keyring

I just click cancel on this as AFAIK I don't use a keyring!
AFAIK I have not set a password for login keyring
I nearly typed - What is gnome-shell?

With the latest gcr neither of the these popups appear
---------------------------------------------------------
I hope this helps - it means very little to me!
ja@minix ~ 2$ cat gcr_test
ja@avon ~ 1$ export GCR_DEBUG=all
ja@avon ~ 2$ evolution 

** (evolution:1809): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

** (evolution-alarm-notify:1825): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
(evolution:1809): Gcr-DEBUG: gcr_secret_exchange_set_property: explicitly using secret exchange protocol: sx-aes-1
(evolution:1809): Gcr-DEBUG: gcr_secret_exchange_default_generate_exchange_key: generating public key
(evolution:1809): Gcr-DEBUG: gcr_secret_exchange_begin: beginning the secret exchange: [sx-aes-1]\npublic=5x/kX0G4wnX4Iq15EGFki/DqpjKvAnWhBSRW730nxsA+MDiWkRKBHbEmKmaNEAQAIK6LOGWMnzAFQehfjPAUGuneRESYs5kb6NSirm23z0u6ljxcShzMo3KXGlHFgPqpOeXmeIj8Jw91P4QQSKFSFjaQ13vq60vHFa4rsuCmdPYZuZ6FoVL/FjK9U94RRTFb69qnTPhM6DZ9/B5vlEYJ6y2orI9cFdFV5QHr4J4Y1gNwyULNaPPMhFg6IUIIhvuF\n


/var/log/messages

Feb 28 12:23:48 avon NetworkManager[795]: <info> Activation (p10p1) Stage 4 of 5 (IPv6 Configure Timeout) started...
Feb 28 12:23:48 avon NetworkManager[795]: <info> Activation (p10p1) Stage 4 of 5 (IPv6 Configure Timeout) complete.
Feb 28 12:23:57 avon dbus-daemon[547]: ** Message: No devices in use, exit
Feb 28 12:24:26 avon gnome-keyring-daemon[1331]: Gkm: using old keyring directory: /home/ja/.gnome2/keyrings
Feb 28 12:24:26 avon gnome-keyring-daemon[1331]: Gkm: using old keyring directory: /home/ja/.gnome2/keyrings
Feb 28 12:24:26 avon gnome-keyring-daemon[1331]: failed to unlock login keyring on startup
Feb 28 12:24:26 avon gnome-keyring-daemon[1331]: couldn't set environment variable in session: The name org.gnome.SessionManager was not provided by any .service files
Feb 28 12:24:44 avon gcr-prompter[1853]: atk_bridge_adaptor_cleanup: assertion `inited' failed
Feb 28 12:25:40 avon dbus-daemon[547]: dbus[547]: [system] Activating service name='net.reactivated.Fprint' (using servicehelper)
Feb 28 12:25:40 avon dbus[547]: [system] Activating service name='net.reactivated.Fprint' (using servicehelper)
Feb 28 12:25:40 avon dbus-daemon[547]: dbus[547]: [system] Successfully activated service 'net.reactivated.Fprint'
Feb 28 12:25:40 avon dbus[547]: [system] Successfully activated service 'net.reactivated.Fprint'
Feb 28 12:25:40 avon dbus-daemon[547]: Launching FprintObject
Feb 28 12:25:40 avon dbus-daemon[547]: ** Message: D-Bus service launched with name: net.reactivated.Fprint
Feb 28 12:25:40 avon dbus-daemon[547]: ** Message: entering main loop
Feb 28 12:26:09 avon dbus-daemon[547]: ** Message: No devices in use, exit
--------------------------------------------------------
Aside
A simple gedit filename throws similar messages - I have just been ignoring them
ja@minix ~ 2$ gedit tester

** (gedit:7369): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

** (gedit:7369): CRITICAL **: atk_bridge_adaptor_cleanup: assertion `inited' failed
ja@minix ~ 3$

Comment 24 Stef Walter 2013-02-28 15:20:45 UTC
*** Bug 890522 has been marked as a duplicate of this bug. ***

Comment 25 Francois Marabelle 2013-03-07 11:10:29 UTC
with grc-3.6.2-3.fc18 when running ssh with key we get:
"Agent admitted failure to sign using the key"
instead of prompt window for unlocking the key

journalctl | grep -i gnome-keyring-daemon gives:

gnome-keyring-daemon[25996]: couldn't create system prompt: operation canceled

downgrading gcr to gcr-3.6.2-1.fc18 fix the problem

Comment 26 Stef Walter 2013-03-08 10:53:08 UTC
Francois, I'm assuming you're not using gnome-shell right? Are you able to run:

GCR_DEBUG=all /usr/libexec/gcr-prompter

And then perform the unlocking operation (ie: ssh or whatever), and post the debug output of the gcr-prompter command?

Comment 27 Francois Marabelle 2013-03-08 13:42:45 UTC
Yes I'm running Cinnamon.

If I run "GCR_DEBUG=all /usr/libexec/gcr-prompter" everything is working fine.
I get the prompt window...

bash-4.2$ GCR_DEBUG=all /usr/libexec/gcr-prompter
(gcr-prompter:17327): Gcr-DEBUG: on_bus_acquired: bus acquired: org.gnome.keyring.PrivatePrompter
(gcr-prompter:17327): Gcr-DEBUG: gcr_system_prompter_register: registering prompter
(gcr-prompter:17327): Gcr-DEBUG: on_bus_acquired: bus acquired: org.gnome.keyring.SystemPrompter
(gcr-prompter:17327): Gcr-DEBUG: on_name_acquired: acquired name: org.gnome.keyring.PrivatePrompter
(gcr-prompter:17327): Gcr-DEBUG: on_name_acquired: acquired name: org.gnome.keyring.SystemPrompter
(gcr-prompter:17327): Gcr-DEBUG: prompter_method_begin_prompting: received BeginPrompting call from callback /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_next_ready: preparing a prompt for callback /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: gcr_system_prompter_new_prompt: creating new GcrPromptDialog prompt
(gcr-prompter:17327): Gcr-DEBUG: gcr_secret_exchange_set_property: automatically selecting secret exchange protocol
(gcr-prompter:17327): Gcr-DEBUG: gcr_secret_exchange_default_generate_exchange_key: generating public key
(gcr-prompter:17327): Gcr-DEBUG: gcr_secret_exchange_begin: beginning the secret exchange: [sx-aes-1]\npublic=vrRFWWlQtHkc2aV3WgWwwtKcKpupiPlw4uNJ1lYViYxEM82Vj0FNixa58WaC904tfTGFb9FCw/iGnZRA6a0PLDs+EsYPzqfdpjOVlhkggP3LXRWX2Z5UWLboJ/QeemgLt0y/qW/zdxkfRUFZxHsOjsYTtSqr4jsy4wuZeTbiQITxNHubyMme8ou87Z5o+diL3pVuR0XLx8UiAbFEeSfhnc/gf6RqDmEhs9ztHDk4WmYqXjf9S21lKWiMEa4Ke6Le\n
(gcr-prompter:17327): Gcr-DEBUG: prompt_send_ready: calling the PromptReady method on /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: on_prompt_ready_complete: returned from the PromptReady method on /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompter_method_perform_prompt: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: gcr_secret_exchange_receive: receiving secret exchange: [sx-aes-1]\npublic=OzfxguWntZdGrwn0C9SskvVt2NdWKQx9EyhpYVc07OCWrgC/FvNdzwqkHuVEYGFJY7tI+bOknJAEKmyRYb5t5aswv3h2wA3bf7ld0ZZX//BYh9rl0QxbY535lHTNvUtB2WjIZu+KhOXmq5Inj2Lt0yqeTxthk7e9p70PEH/E2htt9V0rdMkfCktPQdIWJ9g4hkN7YGiOtxhDAUAJaoqKD6ZmfmL0zDgeV33HAytTMKqgcoGQtEdsuxm6qft4azo9\n
(gcr-prompter:17327): Gcr-DEBUG: derive_key: deriving shared transport key
(gcr-prompter:17327): Gcr-DEBUG: gcr_secret_exchange_default_derive_transport_key: deriving transport key
(gcr-prompter:17327): Gcr-DEBUG: prompter_method_perform_prompt: starting password prompt for callback /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: on_prompt_password: completed password prompt for callback :1.20@/org/gnome/keyring/Prompt/p6
(gcr-prompter:17327): Gcr-DEBUG: gcr_secret_exchange_send: sending the secret exchange: [sx-aes-1]\npublic=vrRFWWlQtHkc2aV3WgWwwtKcKpupiPlw4uNJ1lYViYxEM82Vj0FNixa58WaC904tfTGFb9FCw/iGnZRA6a0PLDs+EsYPzqfdpjOVlhkggP3LXRWX2Z5UWLboJ/QeemgLt0y/qW/zdxkfRUFZxHsOjsYTtSqr4jsy4wuZeTbiQITxNHubyMme8ou87Z5o+diL3pVuR0XLx8UiAbFEeSfhnc/gf6RqDmEhs9ztHDk4WmYqXjf9S21lKWiMEa4Ke6Le\n
(gcr-prompter:17327): Gcr-DEBUG: prompt_send_ready: calling the PromptReady method on /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: on_prompt_ready_complete: returned from the PromptReady method on /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompter_method_stop_prompting: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: stopping prompting for operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: closing the prompt
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: stopping prompting for operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: stopping prompting for operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: stopping prompting for operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p6@:1.20
(gcr-prompter:17327): Gcr-DEBUG: prompt_stop_prompting: calling the PromptDone on /org/gnome/keyring/Prompt/p6@:1.20, and ignoring reply

Comment 28 Dr J Austin 2013-03-08 14:30:13 UTC
Just repeated command from comment #27 on two machines
One with gcr-3.6.2-1.fc18.x86_64 the other with gcr-3.6.2-3.fc18.x86_64
Both fail. I assume they shouldn't!

What have I configured incorrectly?

What should I be running that I'm not?

ja@minix ~ 8$ rpm -qa|grep gcr
gcr-3.6.2-1.fc18.x86_64

ja@minix ~ 9$ GCR_DEBUG=all /usr/libexec/gcr-prompter

** (gcr-prompter:19149): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
(gcr-prompter:19149): Gcr-DEBUG: on_bus_acquired: bus acquired: org.gnome.keyring.SystemPrompter
(gcr-prompter:19149): Gcr-DEBUG: gcr_system_prompter_register: registering prompter
(gcr-prompter:19149): Gcr-DEBUG: on_bus_acquired: bus acquired: org.gnome.keyring.PrivatePrompter
(gcr-prompter:19149): Gcr-DEBUG: on_name_acquired: acquired name: org.gnome.keyring.SystemPrompter
(gcr-prompter:19149): Gcr-DEBUG: on_name_acquired: acquired name: org.gnome.keyring.PrivatePrompter
(gcr-prompter:19149): Gcr-DEBUG: on_timeout_quit: 10 second inactivity timeout, quitting

** (gcr-prompter:19149): CRITICAL **: atk_bridge_adaptor_cleanup: assertion `inited' failed
(gcr-prompter:19149): Gcr-DEBUG: gcr_system_prompter_unregister: unregistering prompter
(gcr-prompter:19149): Gcr-DEBUG: gcr_system_prompter_dispose: disposing prompter
(gcr-prompter:19149): Gcr-DEBUG: gcr_system_prompter_finalize: finalizing prompter
#########################################################################
ja@avon ~ 2$ rpm -qa|grep gcr
gcr-3.6.2-3.fc18.x86_64

ja@avon ~ 3$ GCR_DEBUG=all /usr/libexec/gcr-prompter

** (gcr-prompter:1718): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
(gcr-prompter:1718): Gcr-DEBUG: on_bus_acquired: bus acquired: org.gnome.keyring.SystemPrompter
(gcr-prompter:1718): Gcr-DEBUG: gcr_system_prompter_register: registering prompter
(gcr-prompter:1718): Gcr-DEBUG: on_bus_acquired: bus acquired: org.gnome.keyring.PrivatePrompter
(gcr-prompter:1718): Gcr-DEBUG: on_name_acquired: acquired name: org.gnome.keyring.SystemPrompter
(gcr-prompter:1718): Gcr-DEBUG: on_name_acquired: acquired name: org.gnome.keyring.PrivatePrompter
(gcr-prompter:1718): Gcr-DEBUG: on_timeout_quit: 10 second inactivity timeout, quitting

** (gcr-prompter:1718): CRITICAL **: atk_bridge_adaptor_cleanup: assertion `inited' failed
(gcr-prompter:1718): Gcr-DEBUG: gcr_system_prompter_unregister: unregistering prompter
(gcr-prompter:1718): Gcr-DEBUG: gcr_system_prompter_dispose: disposing prompter
(gcr-prompter:1718): Gcr-DEBUG: gcr_system_prompter_finalize: finalizing prompter

Comment 29 Stef Walter 2013-03-09 10:19:53 UTC
(In reply to comment #27)
> Yes I'm running Cinnamon.
> 
> If I run "GCR_DEBUG=all /usr/libexec/gcr-prompter" everything is working
> fine.
> I get the prompt window...

Francois, could you try the following:

# cd /usr/bin
# mv gnome-keyring-daemon gnome-keyring-daemon-real
# echo "#!/bin/sh
GCR_DEBUG=all /usr/bin/gnome-keyring-daemon-real "$@" | logger -p err" > gnome-keyring-daemon
# chmod +x gnome-keyring-daemon

# cd /usr/libexec
# mv gcr-prompter gcr-prompter-real
# echo "#!/bin/sh
GCR_DEBUG=all /usr/bin/gcr-prompter-real "$@" | logger -p err" > gcr-prompter
# chmod +x gcr-prompter

And then restart, reproduce the issue. Log messages, including the failure should be in /var/log/messages.

If everything goes wrong, or you want to revert this change, just do "yum reinstall gcr gnome-keyring"

Thanks.

Comment 30 Dr J Austin 2013-03-13 10:21:54 UTC
Follow up
1. Changing the Display Manager from lightdm to kdm gets rid of messages of the form shown below when running gedit, evolution, 

** (evolution:1809): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

** (evolution-alarm-notify:1825): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

** (gedit:7369): CRITICAL **: atk_bridge_adaptor_cleanup: assertion `inited' failed
----------------------------------------------------------------------------
2. For latest gcr-3.6.2-3.fc18.x86_64 I believe that the deletion of old files/dirs (2006 vintage) of the form below has solved my problem

(I cannot be 100% sure it was this change that made the difference!)
~/.dconf, .dconf2, .gnome-desktop, .gnome_private, .gnome, .gnome2_private,
.gcond

evolution now does not ask for a password but it works! (both kdm and lightdm)
Previously
gcr-3.6.2-1.fc18.x86_64 asked for as password and then worked
gcr-3.6.2-3.fc18.x86_64 did not ask for a password and did not work

Comment 31 Brian J. Murrell 2013-03-13 16:45:46 UTC
OK.  So I just confirmed the solution in comment #27 works for me on Cinnamon also.

That is, before I start evolution (or sshing for the first time) I need to run:

$ GCR_DEBUG=all /usr/libexec/gcr-prompter

in another shell.  Then when I start up evolution (assuming "too long" doesn't pass between starting the gcr-prompter and evolution wanting a password, I get my prompt and evolution works.

So, the problem here does not seem fixed.

Can we get this ticket opened up until a real solution is found?

Comment 32 Jaroslav Škarvada 2013-03-14 15:55:47 UTC
Reopening, the bug is still there and it's really annoying.

The gcr-3.6.2-3.fc18 doesn't show the dialog. Downgrade to gcr-3.6.2-1.fc18 fixes the problem for me. I am using xfce, also the workaround from comment 27 works for me.

Comment 33 Dr J Austin 2013-03-16 11:23:54 UTC
Yes - the bug has re-appeared again for me!

Fully updated F18 evolution client to Centos 6.4 server

kdm, xfce, ldap, nfs4, sssd, cyrus, exim

However either
rm -rf ~/.gconf  with gcr-3.6.2-3.fc18.x86_64
or
yum downgrade gcr

seems to let evolution work again (how long for ?)

No password is asked for though - it just connects to my IMAP server

ssh -Y user@client from the server to the same client and
then running evolution causes evo to lock up.

Comment 34 Francois Marabelle 2013-03-26 17:08:36 UTC
In reply to comment #29

I run the test. The result doesn't give to much infos in /var/log/messages:

Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: no private key present for public key: /homel/fm/.ssh/id_rsa.pub
Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: Gkm: unsupported key algorithm in certificate: 1.2.840.10045.2.1
Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: Gkm: unsupported key algorithm in certificate: 1.2.840.10045.2.1
Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: Gkm: unsupported key algorithm in certificate: 1.2.840.10045.2.1
Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: Gkm: unsupported key algorithm in certificate: 1.2.840.10045.2.1
Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: Gkm: unsupported key algorithm in certificate: 1.2.840.10045.2.1
Mar 26 18:04:30 lsce3011 gnome-keyring-daemon[1811]: couldn't create system prompt: L'opération a été annulée
Mar 26 18:04:30 lsce3011 dbus-daemon[562]: ** Message: No devices in use, exit

Maybe I miss something?

Comment 35 Jim Minter 2013-03-29 15:36:22 UTC
I believe I'm seeing the same issue as Francois.  I'm also using xfce4; F18 with latest updates applied.

My symptom is that the "Unlock private key" window isn't shown the first time ssh talks to gnome-keyring-daemon.  On subsequent tries it works at least sometimes.  ssh states 'Agent admitted failure to sign using the key.'; I also see the 'gnome-keyring-daemon: couldn't create system prompt: Operation was cancelled' message.

This definitely appears to be a regression between gcr-3.6.2-3.fc18 and gcr-3.6.2-1.fc18.  I've bisected manually and the patch causing the issue is gcr-3.7.1-cancel-prompter-goes-away.patch.

For some reason, when running /usr/libexec/gcr-prompter manually, things tend to run fine; the problems seem to start when dbus-daemon runs it.

Comment 36 Panu Matilainen 2013-04-11 11:49:28 UTC
(In reply to comment #35)
> I believe I'm seeing the same issue as Francois.  I'm also using xfce4; F18
> with latest updates applied.

Me too, also using XFCE.

> My symptom is that the "Unlock private key" window isn't shown the first
> time ssh talks to gnome-keyring-daemon.  On subsequent tries it works at
> least sometimes.  ssh states 'Agent admitted failure to sign using the
> key.'; I also see the 'gnome-keyring-daemon: couldn't create system prompt:
> Operation was cancelled' message.

Yup, I'm getting those "agent admitted failure" messages as well. What "cures" it is running ssh-add manually, after which the gnome prompt becomes alive the next time you try to use the key, and after that things work normally. But obviously having to manually run ssh-add makes the whole thing pretty damn moot :)

> This definitely appears to be a regression between gcr-3.6.2-3.fc18 and
> gcr-3.6.2-1.fc18.  I've bisected manually and the patch causing the issue is
> gcr-3.7.1-cancel-prompter-goes-away.patch.

Confirmed, downgrading to gcr-3.6.2-1.fc18 restores the private key unlock prompter (and my sanity, thank you...)

Comment 37 Dr. Gregory R. Kriehn 2013-04-19 20:35:21 UTC
I had a similar issue when using MATE with latest F18 updates applied (after a changed SMTP password, evolution would not prompt for a new password entry when trying to send an e-mail).  See closed Bug 953641, and Bug 953641 for details.  

Downgrading to gcr-3.6.2-1.fc18 restored keyring functionality.

Comment 38 Dr. Gregory R. Kriehn 2013-04-19 20:39:16 UTC
Make that closed Bug 952483, and Bug 953641.

Comment 39 Fedora Update System 2013-04-22 12:42:18 UTC
gcr-3.6.2-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/gcr-3.6.2-4.fc18

Comment 40 Tomáš Bžatek 2013-04-22 12:47:30 UTC
Given the number of reports and my fresh experience I went ahead and have submitted a correction update that essentially reverts the last changes. Functionally-wise we're on par with gcr-3.6.2-2.fc18.

I don't have time to debug this issue in deep, in fact we've been looking for keyring stack Fedora maintainer for some time.

The original issue still stands, not closing this bugreport.

Comment 41 Brian J. Murrell 2013-04-22 13:04:47 UTC
What about F19, since this is there also.

I suppose the Version: of this ticket needs updating to 19 also.

Comment 42 Tomáš Bžatek 2013-04-22 13:13:34 UTC
(In reply to comment #41)
> What about F19, since this is there also.
> 
> I suppose the Version: of this ticket needs updating to 19 also.

Fedora 19 follows different upstream branch and has never been patched. If the original issue is present of Fedora 19 packages, please open a separate bugreport.

Comment 43 Milan Crha 2013-04-24 15:55:24 UTC
(In reply to comment #40)
> The original issue still stands, not closing this bugreport.

Truth. The update fixes the password prompt, I'm asked for a password, but the keyring is not unlocked, thus the password I entered is not saved. This is still better than no password prompt at all.

Comment 44 Thomas Moschny 2013-05-08 11:57:09 UTC
See also bug 921513.

Comment 45 John Morris 2013-05-09 05:19:25 UTC
None of these fixes worked for me.  What just did it was logging out, launching GNOME3, then evolution.  That asked for the password to POP with and pulled mail.  Logged out and started XFCE back up and it remembers how to login.

Comment 46 Fedora Update System 2013-05-27 00:27:30 UTC
gcr-3.6.2-4.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 47 Fedora End Of Life 2013-12-21 11:06:14 UTC
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 48 Fedora End Of Life 2014-02-05 18:49:29 UTC
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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