Page MenuHome GnuPG

pinentry hangs in read()
Closed, ResolvedPublic


Pinentry seems to always hang for me, when invoked by keychain[1] in my


Keychain seems to be invoking pinentry indirectly by doing:

gpg --no-options --use-agent --no-tty --sign --local-user "$k" -o- >/dev/null 2>&1

where $k is the name of my gpg key.

It seems to be hanging while doing a read. If I kill -9 the process (a regular
SIGTERM doesn't work), then a new pinentry starts, and this time it actually
displays the dialog.

I am using gnupg-2.0.14, pinentry-0.8.0, and keychain-2.6.8.

A full backtrace of the hanging process is attached.



Event Timeline

werner added a subscriber: werner.

That seems to be a bad interaction between gpg-agent and keychain. AFAICS both
programs try to do the same: gpg-agent also implements the gpg-agent protocol.
It needs to be enabled, though.

The actual problem seems to be a race condition between something keychain does
and pinentry. I can't tell without looking at keychain. Please take this
problem to the gnupg-devel mailing list.

werner claimed this task.
werner removed a project: Stalled.
werner added a project: Too Old.