[pkg-gnupg-maint] Bug#868550: Bug#868550: reprepro seems to provide a repro
Ian Jackson
ijackson at chiark.greenend.org.uk
Thu Aug 24 20:08:55 UTC 2017
Hi. Thanks for your help with debugging this.
NIIBE Yutaka writes ("Re: [pkg-gnupg-maint] Bug#868550: reprepro seems to provide a repro"):
> Ian Jackson <ijackson at chiark.greenend.org.uk> wrote:
> > This might be relevant. My test suite failures occur on a loaded
> > machine, because the test case runner parallelises separate tests.
> >
> > Does this produce a particular message, when it occurs ?
>
> Yes.
... }
> + if (i >= SECS_TO_WAIT_FOR_AGENT)
> + log_error ("agent invoked successfully, but...\n");
I tried this. I applied this change and I can confirm that I have
seen this message in all the failing tests I looked at.
However, I also tried with the patch below, to increase the timeout.
With that patch, I can still reproduce the failure. The passing tests
succeed and exit, leaving a failing test (so far, only one out of a
test run) sitting about. The machine load is low. There is no
gpg-agent running. So the problem I am seeing is not simply that the
agent process is starved (although I don't doubt that the race you
describe exists).
The message, with this patch and yours, is still the same. Here is an
example:
+ fakeroot apt-key add
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
Warning: apt-key output should not be parsed (stdout is not a terminal)
W: Unable to read /home/ian/things/Dgit/dgit/tests/tmp/downstream-gitless/ds-etc-apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
gpg: agent invoked successfully, but...
gpg: can't connect to the agent: IPC connect call failed
+ test 2 = 0
Each individual test runs with its own GNUPGHOME and is largely
singlethreaded so I think there are probably not multpile competing
agents starting up. Is it possible that the agent started up and then
exited for some reason ?
I have a log generated by this
log-file /home/ian/things/Dgit/dgit/tests/tmp/gnupg/gnupg/AGENT.log
in gpg-agent.conf but due to an infelicitly in my arrangments all of
the logs for concurrent tests share a logfile. The log seems to
contain many fewer messages than expected leading me to suspect it is
not opened with O_APPEND. I may see about sorting out a separate
logfile from each run which should tell me whether gpg-agent started
or not.
I hope some of this is of some use...
Thanks,
Ian.
commit 335bc79cc1ebeba1eb529c8e6b574d8ca1d9d947
Author: Ian Jackson <ijackson at chiark.greenend.org.uk>
Date: Tue Aug 22 19:17:05 2017 +0100
increase timeouts
diff --git a/common/asshelp.c b/common/asshelp.c
index 2cab310..4a9fb45 100644
--- a/common/asshelp.c
+++ b/common/asshelp.c
@@ -58,8 +58,8 @@
# define SECS_TO_WAIT_FOR_AGENT 30
# define SECS_TO_WAIT_FOR_DIRMNGR 30
#else
-# define SECS_TO_WAIT_FOR_AGENT 5
-# define SECS_TO_WAIT_FOR_DIRMNGR 5
+# define SECS_TO_WAIT_FOR_AGENT 500
+# define SECS_TO_WAIT_FOR_DIRMNGR 500
#endif
/* A bitfield that specifies the assuan categories to log. This is
More information about the pkg-gnupg-maint
mailing list