Dear Maintainer,
I noticed that we have mail bouncing exactly the same second we are running 'makemap'
on the virtual-domains database.
I am able to reproduce this by running the following bash-loop (with a real username of
course);
>username.log
while true ; do
echo $(date +%H:%m:%S.%N; sendmail -bv username@arcada.fi) >> username.log
done
And at the same time I use the following command to rebuild the virtual-domains
database;
/usr/sbin/makemap hash /etc/mail/virtual-domains.db < /etc/mail/virtual-domains
( Yes, I know that Debian has a Makefile for this that does it via renaming, but
bear with me).
I get the following unexpected output;
<clip>
14:05:55.057025244 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.073265573 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.095313475 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.115518841 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.133942140 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.155289570 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.176463893 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.198450748 username@arcada.fi... User unknown
14:05:55.220447541 username@arcada.fi... User unknown
14:05:55.239004722 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.261296350 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.279081285 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.299622297 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
14:05:55.317871857 username@arcada.fi... deliverable: mailer esmtp, host ourinstant.onmicrosoft.com., user username@arcadauas.onmicrosoft.com
<clip>
As You can see, something happens that causes sendmail to say "User unknown" for a
few split seconds. This causes e-mail to bounce as well in real-world.
I was able circumvent this by doing the rebuild like this;
/usr/sbin/makemap hash /etc/mail/virtual-domains.new.db < /etc/mail/virtual-domains
mv -f /etc/mail/virtual-domains.new.db /etc/mail/virtual-domains.db
This is not how the sendmail documentation suggests I should do it though. According
to Claus Aßmann this would suggest a problem with fcntl().
I got the testlk.c from nfs-utils and rand that on the database, and at least in that
simple test-case fcntl() seems to work.
# ./testlk /etc/mail/virtual-domains
fcntl: ok
^C
I was expecting the suggested makemap-command to work without causing a "User unknown".
Octa core AMD FX 8120, 16 GB ECC RAM, SSD-drives.
The file /etc/mail/virtual-domains is around 8000 lines.
I don't see this problem with the access or domaintable databases.