Re: [exim] Exim4 delay at boot

Top Page
Delete this message
Reply to this message
Author: sawbona
Date:  
To: exim-users
Subject: Re: [exim] Exim4 delay at boot
Hello:

On 10 Nov 2021 at 11:29, Evgeniy Berdnikov via Exim-users wrote:

> ... not yet up and running when Exim4 does the reverse DNS check.


The problem was not caused by the VBox VM / Exim4 starting order but
by Exim4's default configuration / installation process / whatever.

ie: Exim4 was not waiting for the virtual machine to start but was
*obviously* attempting to do something and not being able to do it,
generating a 30s (timed) delay in the boot sequence.

I did not want to but finally ended up diving into the Exim4
configuration files.

I followed your instructions to change the 30s value on
daemon_startup_sleep but that did not solve the problem.

While I was at it, I also tried playing with the reverse DNS values,
including remming the whole reverse DNS block, also to no avail.

This left me with the impression that the problem (30s delay) was not
at all related to the reverse DNS done by Exim4 or the
daemon_startup_sleep value.

A last minute complete reinstall of Exim4 (typical MS strategy I
really loathe) did not work either.

tl;dr

The solution was to add 'this' line to the the 'Main' section of the
file exim4.conf.template:

[code]
disable_ipv6 = true
[/code]

But I had to add it: it was *not* there by default.

ie: not disable_ipv6 = false, disable_ipv6 = true or even
disable_ipv6 = so it would be an option when running dpkg-reconfigure
exim4-config.

I was just shooting in the dark, no memory of how I got to doing
that. It was late, I was tired, cannot remember.

Probably the paniclog message I had not seen before?
ie: IPv6 socket creation failed: Address family not supported by
protocol

It can be reproduced: remming the line added to exim4.conf.template
will bring back the delay and the message in the paniclog.

In any case, I am of the opinion that this is a bug in Exim version
4.92 #5.

Why? Because this is happening even after a clean Exim4 installation
on Devuan Beowulf with IPv6 disabled everywhere:

1.
The kernel command line includes the bit needed to disable ipv6 at
boot:

[code]
ipv6.disable=1
[/code]

2.
The /etc/hosts file has no machine readable IPv6 lines:

[code]
groucho@devuan:~$ cat /etc/hosts
#
127.0.0.1         localhost  devuan
#
# remmed to disable ip6
#::1                 localhost       ip6-localhost ip6-loopback
#fe00::0          ip6-localnet
#fe00::0          ip6-mcastprefix
#fe02::1          ip6-allnodes
#fe02::1          ip6-allrouters
groucho@devuan:~$
[/code]


3.
The /etc/ssh/ssh_config file includes the line needed to disable
ipv6:

[code]
groucho@devuan:~$ cat /etc/ssh/ssh_config
--- snip ---
AddressFamily inet     # instead of 'any' or 'inet6'
--- snip ---
groucho@devuan:~$
[/code]


That was it.

Exim4 was attempting to do something on IPv6 but not being able to do
it.

This in spite of IPv6 being disabled at the kernel command line,
/etc/hosts and /etc/ssh/ssh_config.

The end result being a 30s delay at boot.

Thanks a lot (to all) for your input.

Best,

JHM