Hello, I'm sorry I didn't put the context. I am a developer of GnuPG and nPth. I join the Debian GnuPG mailing list, so that development can go well. Thus, I receive your bug report. (I also maintain some packages in Debian but most are not related to GnuPG.)
Since I felt that there is a kind of not-so-good communication in this bug of #841143, I am trying to help. Well, I would like to inform dkg that I review the Debian specific patches, I mean, they are not ignored. Ian Jackson <ijack...@chiark.greenend.org.uk> wrote: > That's the symptoms I saw. What version did you see this with ? I'm testing with 2.1.7-2 in Stretch. It is not reproducible (for me) by upstream versions. Today, I managed to have a concrete reproducible case. Please find an attached script (gpg-agent-locks-up.sh). With GPGAGENT=/usr/local/bin/gpg-agent of upstream, the log is: -------------------- 2017-01-18 09:41:15 gpg-agent[4168] SIGTERM received - shutting down ... 2017-01-18 09:41:17 gpg-agent[4168] DBG: chan_9 <- [eof] 2017-01-18 09:41:18 gpg-agent[4168] gpg-agent (GnuPG) 2.1.18-beta70 stopped -------------------- gpg-agent cleanly exits. With the one in Stretch, the log is: -------------------- 2017-01-18 09:41:31 gpg-agent[4185] SIGTERM received - shutting down ... 2017-01-18 09:41:33 gpg-agent[4185] DBG: chan_9 <- [eof] 2017-01-18 09:41:36 gpg-agent[4185] SIGTERM received - still 0 open connections 2017-01-18 09:41:36 gpg-agent[4185] gpg-agent (GnuPG) 2.1.17 stopped -------------------- It didn't exit even after "[eof]" and needed second SIGTERM. --
#! /bin/sh GPGAGENT=/usr/bin/gpg-agent GPG_CONNECT_AGENT=/usr/bin/gpg-connect-agent GPGTESTTMPDIR=$HOME/tmp/test-gpg.$$ echo "Test in $HOME/tmp/test-gpg.$$" mkdir -p $GPGTESTTMPDIR cat > $GPGTESTTMPDIR/gpg-agent.conf <<EOF enable-ssh-support debug-level guru debug-all verbose log-file $GPGTESTTMPDIR/gpg-agent-test.log EOF GNUPGHOME=$GPGTESTTMPDIR export GNUPGHOME $GPGAGENT --daemon GPGPID=`$GPG_CONNECT_AGENT "GETINFO pid" /bye | sed -n 's/^D //p'` echo "gpg-agent PID: $GPGPID" (sleep 3; echo /bye) | $GPG_CONNECT_AGENT & sleep 1 echo "killing gpg-agent PID=$GPGPID" kill $GPGPID sleep 5 if kill -s 0 $GPGPID 2>/dev/null; then echo "gpg-agent is still there: this is a bug" # kill to clean up kill $GPGPID exit 1 else exit 0 fi