Hello, This doesn't seem to be arm64 related since the same occurs on ppc64el.
I've been reproducing this failure consistently by running the autopkgtest suite on a stressed host. I think that the failure appears under similar high-load circumstances on the debian ci host. dovecot-lda communicates with dovecot through the socket at /var/run/dovecot/auth-userdb but on a stressed host it's possible for dovecot-lda to call connect() before listen() is called on this socket by dovecot. By applying the suggested patch, the failure has been vanished since dovecot-lda is called only after the socket becomes ready. Regards, Mpampis
diff --git a/debian/tests/control b/debian/tests/control index 7abd238c3..5bf1dc94b 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -6,5 +6,5 @@ Tests: systemd Depends: dovecot-core, systemd-sysv Test-Command: run-parts --report --exit-on-error debian/tests/usage -Depends: dovecot-imapd, dovecot-pop3d, python3 +Depends: dovecot-imapd, dovecot-pop3d, python3, netcat-openbsd Restrictions: needs-root, breaks-testbed, allow-stderr diff --git a/debian/tests/usage/00_setup b/debian/tests/usage/00_setup index 2eeeb2f73..e90ca7e92 100755 --- a/debian/tests/usage/00_setup +++ b/debian/tests/usage/00_setup @@ -29,6 +29,17 @@ chown nobody:nogroup /srv/dovecot-dep8 echo "Restarting the service" systemctl restart dovecot +echo "Waiting for the service to be available" +c=0 +while ! nc -z -U /var/run/dovecot/auth-userdb; do + c=$(($c+1)) + sleep 2 + if [ $c -gt 30 ]; then + echo "Timed out waiting for the service to be available" >&2 + exit 1 + fi +done + echo "Sending a test message via the LDA" /usr/lib/dovecot/dovecot-lda -f "t...@example.com" -d dep8 <<EOF Return-Path: <t...@example.com>