[pkg-gnupg-maint] Bug#902316: gnupg failing completely in dgit autopkgtests [and 1 more messages]

Ian Jackson ijackson at chiark.greenend.org.uk
Sat Jun 30 00:54:28 BST 2018


Ian Jackson writes ("Re: Bug#902316: gnupg failing completely in dgit autopkgtests [and 1 more messages]"):
> I attempted to work around this problem by explicitly starting and
> stopping the gpg-agent.  This has dramatically reduced the failure
> probability.
...
> I am going to try even more ridiculous workarounds.

Well, I have managed to get it to pass with dgit 5.5+exp7, in
experimental, in the ci's "unstable" queue.  My workarounds include:

  * A global lock (for the whole test suite, in case anything is going
    in parallel) which arranges that only one gnupg is ever run at
    once

  * When I want to run gnupg with a particular GNUPGHOME I use
    gpg-connect-agent to kill any existing agents, repeatedly if need
    be until it prints "no gpg-agent running".

  * I then start an agent of my own (with a loop to wait for it to be
    ready), run gpg, and use gpg-connect-agent to shut it down again.
    (again, with a loop).

This involves two nexted wrapper scripts, one to take the lock and one
to mess with gpg-agent.  In fact I also have a wrapper script for
gpg-agent so that I can pass --debug-quick-random.

With this I no longer seem to need the wrapper that would try to run
gpg again when it failed.  That wasn't a very good workaround anyway.

I intend to merge my new workarounds into unstable soonish.

In the meantime I will leave this bug open because it is still a repro
recipe for a startup race bug: run the dgit 5.5 test suite (with
"whatever is in sid in late June 2018") in ci.debian.net.

Ian.

-- 
Ian Jackson <ijackson at chiark.greenend.org.uk>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



More information about the pkg-gnupg-maint mailing list