[Pkg-utopia-maintainers] Bug#800643: avahi-daemon: Failed to open /etc/resolv.conf: Invalid argument chroot.c: open() failed: No such file or directory
Erik
Erik.Haller at gmail.com
Fri Oct 2 02:31:59 UTC 2015
Package: avahi-daemon
Version: 0.6.31-5
Severity: normal
Tags: patch
avahi-daemon.service produces errors in the journal when used with
systemd-networkd and systemd-resolved. The avahi-daemon cannot open the
/etc/resolv.conf file because it starts before systemd-resolved. Journal
entries are provided below.
Background:
According to `man systemd-resolved,` it is advisable to remove
/etc/resolv.conf and link /etc/resolv.conf to /run/systemd/resolve/resolv.conf.
The reason being that systemd-resolved will read nameservers from
systemd.network files and populate /run/systemd/resolve/resolv.conf.
When avahi-daemon starts before systemd-resolved, the target of the
/etc/resolv.conf link is not present on /run. Therefore,
avahi-daemon.service is dependent on systemd-resolve.
Solution:
Change avahi-daemon's dependency on /etc/resolv.conf and read
/run/systemd/resolve/resolv.conf instead and add a
"After=systemd-resolved.service" to avahi-daemon.service. This also
creates other problems. What about network mounts in /etc/fstab using nfs or
samba? I've also had to put mount options for a cifs mount like
"x-systemd.requires=systemd-networkd-wait-online.service" in /etc/fstab.
When avahi-daemon does not load, name resolution fails, all kinds of
network related services fail. Now everything has to have
"After=systemd-networkd-wait-online" added to their systemd.unit files.
This means the system pauses significantly; i.e. services block.
What else needs to read /etc/resolv.conf? At this time there is no
libnss-resolve (libnss-resolve.so, shipped with systemd) to add a "resolve"
in /etc/nsswitch.conf for systemd-resolved. Everything that depends on
/etc/resolv.conf will also need After=systemd-networkd-wait-online.service
lines added to their systemd.unit files too.
Another bug could be filed with systemd since systemd-resolved is there.
Workaround:
# Execute as root
mkdir -p /etc/systemd/system/avahi-daemon.service.d
printf "[Unit]\nAfter = systemd-resolved.service\n" > \
/etc/systemd/system/avahi-daemon.service.d/ad.conf
systemctl daemon-reload
Journal:
Oct 01 18:41:32 incense avahi-daemon[625]: Successfully dropped root
privileges.
Oct 01 18:41:32 incense avahi-daemon[625]: avahi-daemon 0.6.31 starting
up.
Oct 01 18:41:49 incense avahi-daemon[625]: Successfully called chroot().
Oct 01 18:41:49 incense avahi-daemon[625]: Successfully dropped
remaining capabilities.
Oct 01 18:41:49 incense avahi-daemon[734]: chroot.c: open() failed: No
such file or directory
Oct 01 18:41:49 incense avahi-daemon[625]: Failed to open
/etc/resolv.conf: Invalid argument
Oct 01 18:41:49 incense avahi-daemon[625]: No service file found in
/etc/avahi/services.
Oct 01 18:41:49 incense avahi-daemon[625]: Network interface enumeration
completed.
Oct 01 18:41:49 incense avahi-daemon[625]: Registering HINFO record with
values 'I686'/'LINUX'.
Oct 01 18:41:49 incense avahi-daemon[625]: Server startup complete. Host
name is incense.local. Local service cookie is 128518944.
Oct 01 18:41:49 incense avahi-daemon[625]: Joining mDNS multicast group
on interface enp3s0.IPv4 with address 192.168.7.61.
Oct 01 18:41:49 incense avahi-daemon[625]: New relevant interface
enp3s0.IPv4 for mDNS.
Oct 01 18:41:49 incense avahi-daemon[625]: Registering new address
record for 192.168.7.61 on enp3s0.IPv4.
...
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 4.1.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages avahi-daemon depends on:
ii adduser 3.113+nmu3
ii bind9-host [host] 1:9.9.5.dfsg-12
ii dbus 1.10.0-3
ii init-system-helpers 1.23
ii libavahi-common3 0.6.31-5
ii libavahi-core7 0.6.31-5
ii libc6 2.19-20
ii libcap2 1:2.24-11
ii libdaemon0 0.14-6
ii libdbus-1-3 1.10.0-3
ii libexpat1 2.1.0-7
ii lsb-base 9.20150917
Versions of packages avahi-daemon recommends:
ii libnss-mdns 0.10-6
Versions of packages avahi-daemon suggests:
pn avahi-autoipd <none>
-- Configuration Files:
/etc/avahi/avahi-daemon.conf changed:
[server]
use-ipv4=yes
use-ipv6=no
ratelimit-interval-usec=1000000
ratelimit-burst=1000
[wide-area]
enable-wide-area=yes
[publish]
[reflector]
[rlimits]
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3
-- no debconf information
More information about the Pkg-utopia-maintainers
mailing list