ksshaskpass hangs forever when run from keychain during KDE login
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KDE Base Runtime |
Fix Released
|
High
|
|||
kde-runtime (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I start keychain in my .bashrc like this:
eval $(keychain --eval id_rsa)
The .bashrc is run in the Yakuake console which is started during KDE login.
It attempts to load my ssh key and invokes ksshaskpass to ask for my password, which in turn invokes kwallet. Nothing happens at this point. Other applications have no problem accessing kwallet during this. Only solution seems to be to disable and reenable the kwallet subsystem and rerun keychain.
Output while hanging:
KeyChain 2.6.8; http://
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL
* Found existing ssh-agent (2947)
* Found existing gpg-agent (3663)
* Adding 1 ssh key(s)...
ksshaskpass(
This problem did not exist in Natty, Maverick and Lucid.
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: ksshaskpass 0.5.3-1build1
ProcVersionSign
Uname: Linux 3.0.0-12-generic x86_64
ApportVersion: 1.23-0ubuntu3
Architecture: amd64
Date: Fri Oct 14 13:03:50 2011
EcryptfsInUse: Yes
InstallationMedia: Kubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427)
ProcEnviron:
LANGUAGE=en_US:en
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: ksshaskpass
UpgradeStatus: Upgraded to oneiric on 2011-10-14 (0 days ago)
affects: | ksshaskpass (Ubuntu) → kdeutils (Ubuntu) |
affects: | kdeutils (Ubuntu) → kde-runtime (Ubuntu) |
Changed in kde-runtime: | |
importance: | Unknown → High |
status: | Unknown → Confirmed |
Changed in kde-runtime: | |
status: | Confirmed → Unknown |
Changed in kde-runtime: | |
status: | Unknown → Fix Released |
Version: unspecified (using KDE 4.5.2)
OS: Linux
This happens most of the times at system startup when both say... KMail/Kontact and Pidgin with the KWallet plugin (http:// kde-apps. org/content/ show.php/ Libpurple+ KWallet+ Plugin? content= 127658 ) try to open the default wallet. If Pidgin goes first everything is ok, if KMail goes first and Pidgin second kwalletd seems to lock. In a few seconds the Pidgin plugin gets a timeout and KMail hangs. I have to restart kwalletd in order for it to work (only tried by killing it and starting it again).
Reproducible: Always
Steps to Reproduce:
I've tried to make it as easy as possible to reproduce using qdbus. Assuming there is a wallet called kdewallet the next 2 lines should make kwalletd lock.
qdbus org.kde.kwalletd /modules/kwalletd org.kde. KWallet. open kdewallet 1 'Test1' & KWallet. open kdewallet 2 'Test2' &
qdbus org.kde.kwalletd /modules/kwalletd org.kde.
Actual Results:
The response after a few seconds is:
Error: org.freedesktop .DBus.Error. NoReply .DBus.Error. NoReply
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.
Error: org.freedesktop
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.
And after that any request for kwalletd hangs if via the C++ interface or gets timed-out if via D-BUS.
Expected Results:
The D-BUS request should be handled correctly - that is queued. After the user answers the first request the second should be shown. If the user takes too long to respond (enter password/click Allow) and you can't find another solution but to give it a timeout - that should be transparent so that the application would know it needs to try and connect again.
I had a look at the kwalletd code (it was early this spring, maybe things changed since then) and couldn't find anything obviously wrong... I'm thinking it could be the generated D-Bus wrapper.
Thanks in advance for solving this (or at least for reading my report).