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 <