[pkg-gnupg-maint] Bug#902316: Bug#902316: gnupg failing completely in dgit autopkgtests [and 1 more messages]
Ian Jackson
ijackson at chiark.greenend.org.uk
Fri Jun 26 21:18:17 BST 2020
Daniel Kahn Gillmor writes ("Re: [pkg-gnupg-maint] Bug#902316: gnupg failing completely in dgit autopkgtests [and 1 more messages]"):
> Hi Ian--
>
> I don't know what the current status of the failing tests suites is for
> dgit -- last i heard, you had to have major, clunky workarounds to avoid
> problems with concurrent access to gpg-agent, or else gpg-agent would
> (intermittently, unpredictably) fail on some requests.
>
> Please correct me if that description is wrong. It sounds pretty
> frustrating.
Hi. The workarounds are horrific, yes. That description is accurate.
These workarounds have been working, so I don't know what bug(s)
remain.
> I'd like to nudge upstream about this, but getting feedback in the wild
> would be really useful.
>
> I don't know whether you have any patience left to experiment with this,
> or whether you're still using gpg at all, but if you are, this would be
> a useful test for me:
>
> - set aside the scaffolding you used as a workaround to avoid these
> failures
>
> - reproduce the failure
>
> - add "auto-expand-secmem" to the relevant gpg-agent.conf before you
> start the agent for dgit
>
> - try to reproduce the failure again
Why do you think this option might make any difference ? Doesn't
whatever condition it avoids produce an error message somewhere ?
I remember being fairly convinced that the real problem was simply
that gnupg and its various daemonic subprocesses didn't have a
race-free startup/shutdown approach. From the sound of the option
that doesn't seem likely to be the issue.
> Sorry for the hassle here, and i hope this is useful in moving the
> situation forward. (if you've given up, that's also fair -- please let
> me know if that's the case so i can try to track down the errors in a
> more synthetic context).
At the very least I could point you to the tests.
The test site is src:dgit and is a standard autopkgtest suite which
you can run via adt-run. But to run the tests ad-hoc in a highly
concurrent mode,
[ install the test dependencies, sorry I don't know
a better way than to read debian/test/control and prat
about ]
dgit clone dgit # or git clone salsa something something
cd dgit
tests/using-intree tests/run-all
If you have `nproc' installed it will parallelise.
I forget precisely how to disable the workarounds, but I think,
in tests/setup/gnupg, comment out the line
t-tstunt gpg
and I think all the several bodges hang off that.
This way of disabling the bodges will also disable passing some other
options to gpg-agent, notably --debug-quick-random, which I don't
think there was a way to easily control other than by wrapping
gpg-agent.
AFAICT the bodges are in
tests/tstunt/gpg
tests/tstunt/gpg-withagent
tests/tstunt/gpg-agent
and tests/tstunt/gpg-locked is a previous attempt which is no longer
used.
HTH.
Regards,
Ian.
--
Ian Jackson <ijackson at chiark.greenend.org.uk> These opinions are my own.
Pronouns: they/he. If I emailed you from @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