Subject: bug#45791: guix publish test never completes.

From: Ludovic Courtès <[email-masked]>
Date: Thu, 21 Jan 2021 13:58:25 +0100

Hi,

Mathieu Othacehe <[email-masked]> skribis:

> The "publish" test has been running for 28 hours on hydra-guix-126. The
> matching process is:
>
> guixbui+  58019  109  0.2 4052284 465988 ?      Rl   Jan10 1718:33 /gnu/store/dxvxl29bb1kzqgb9bz8gfcyag177g9vj-guile-3.0.5/bin/guile --no-auto-compile -e main ./build-aux/test-driver.scm --test-name tests/publish.scm --log-file tests/publish.log --trs-file tests/publish.trs --color-tests no --enable-hard-errors yes --expect-failure no --brief=yes -- ./tests/publish.scm
>
> An strace log of this process is attached. I would suspect "with cache,
> cache bypass" test given that the looping connection is made on port
> 6788.

The log shows an endless loop of:

--8<---------------cut here---------------start------------->8---
[pid 58019] connect(853, {sa_family=AF_INET, sin_port=htons(6788), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
--8<---------------cut here---------------end--------------->8---

… which suggests nothing’s listening on port 6788, which probably means
that ‘guix publish’ didn’t start, for example due to EADDRINUSE (but the
log starts after that.)

Are you able to reproduce the issue with:

  while make check TESTS=tests/publish.scm ; do : ; done

Surprisingly, port 6788 doesn’t seem to be used by any other test, which
probably rules out a problem due to concurrent tests using the same
port.

Also, was it the result of “guix build guix” or equivalent?  In that
case tests run sequentially.

Thanks,
Ludo’.