Re: Latest Git kernel: avahi-daemon[2410]: ioctl(): Inappropriate ioctl for device

From: Christian Zigotzky
Date: Sun Feb 02 2020 - 10:03:21 EST


On 02 February 2020 at 09:19 am, Christophe Leroy wrote:
Hello,

Le 02/02/2020 Ã 01:08, Christian Zigotzky a ÃcritÂ:
Hello,

We regularly compile and test Linux kernels every day during the merge window. Since Thuesday we have very high CPU loads because of the avahi daemon on our desktop Linux systems (Ubuntu, Debian etc).

Error message: avahi-daemon[2410]: ioctl(): Inappropriate ioctl for device

Do you know which ioctl, on which device ?
Can you take a trace of running avahi-daemon with 'strace' ?

Can you bisect ?

Christophe
Hi Christophe,
Hi All,

I figured out that the avahi-daemon has a problem with the IPv6 address of a network interface since the Git kernel from Thursday. (Log attached)
This generates high CPU usage because the avahi-daemon tries to access the IPv6 address again and again and thereby it produces a lot of log messages.

We figured out that the networking updates aren't responsible for this issue because we created a test kernel on Wednesday. The issue is somewhere in the commits from Wednesday night to Thursday (CET).

Please compile the latest Git kernel and test it with a desktop linux distribution for example Ubuntu. In my point of view there are many desktop machines affected. Many server systems don't use the avahi daemon so they aren't affected.

It's possible to deactivate the access to the IPv6 address with the following line in the file "/etc/avahi/avahi-daemon.conf":

use-ipv6=no

After a reboot the CPU usage is normal again. This is only a temporary solution.

Unfortunately I don't have the time for bisecting next week. I have a lot of other work to do. In my point of view it is very important that you also compile the latest Git kernels. Then you will see the issue and then you have a better possibility to fix the issue.

Thanks,
Christian
Kernel 5.5.0: journalctl | grep -i avahi
Feb 02 13:57:05 DC1 systemd[1]: Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
Feb 02 13:57:05 DC1 systemd[1]: Starting Avahi mDNS/DNS-SD Stack...
Feb 02 13:57:05 DC1 avahi-daemon[4314]: Found user 'avahi' (UID 112) and group 'avahi' (GID 122).
Feb 02 13:57:05 DC1 avahi-daemon[4314]: Successfully dropped root privileges.
Feb 02 13:57:05 DC1 avahi-daemon[4314]: avahi-daemon 0.6.32-rc starting up.
Feb 02 13:57:06 DC1 systemd[1]: Started Avahi DNS Configuration Daemon.
Feb 02 13:57:06 DC1 avahi-daemon[4314]: Successfully called chroot().
Feb 02 13:57:06 DC1 avahi-daemon[4314]: Successfully dropped remaining capabilities.
Feb 02 13:57:06 DC1 avahi-daemon[4314]: No service file found in /etc/avahi/services.
Feb 02 13:57:06 DC1 avahi-daemon[4314]: Network interface enumeration completed.
Feb 02 13:57:06 DC1 avahi-daemon[4314]: Server startup complete. Host name is DC1.local. Local service cookie is 3202921551.
Feb 02 13:57:06 DC1 avahi-daemon[4314]: Failed to parse address 'localhost', ignoring.
Feb 02 13:57:06 DC1 avahi-dnsconfd[4487]: Successfully connected to Avahi daemon.
Feb 02 13:57:06 DC1 systemd[1]: Started Avahi mDNS/DNS-SD Stack.
Feb 02 13:57:07 DC1 root[4749]: /etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd returned non-zero exit status 1
Feb 02 13:57:07 DC1 avahi-daemon[4314]: Joining mDNS multicast group on interface enP4096p4s4.IPv4 with address 192.168.178.47.
Feb 02 13:57:07 DC1 avahi-daemon[4314]: New relevant interface enP4096p4s4.IPv4 for mDNS.
Feb 02 13:57:07 DC1 avahi-daemon[4314]: Registering new address record for 192.168.178.47 on enP4096p4s4.IPv4.
Feb 02 13:57:09 DC1 avahi-daemon[4314]: Joining mDNS multicast group on interface enP4096p4s4.IPv6 with address fe80::250:fcff:fecb:5181.
Feb 02 13:57:09 DC1 avahi-daemon[4314]: New relevant interface enP4096p4s4.IPv6 for mDNS.
Feb 02 13:57:09 DC1 avahi-daemon[4314]: Registering new address record for fe80::250:fcff:fecb:5181 on enP4096p4s4.*.
Feb 02 13:57:10 DC1 avahi-daemon[4314]: Leaving mDNS multicast group on interface enP4096p4s4.IPv6 with address fe80::250:fcff:fecb:5181.
Feb 02 13:57:10 DC1 avahi-daemon[4314]: Joining mDNS multicast group on interface enP4096p4s4.IPv6 with address 2a02:8109:89c0:ebfc:250:fcff:fecb:5181.
Feb 02 13:57:10 DC1 avahi-daemon[4314]: Registering new address record for 2a02:8109:89c0:ebfc:250:fcff:fecb:5181 on enP4096p4s4.*.
Feb 02 13:57:10 DC1 avahi-daemon[4314]: Withdrawing address record for fe80::250:fcff:fecb:5181 on enP4096p4s4.


------


Latest Git kernel (5.6): journalctl | grep -i avahi

Feb 02 14:04:04 DC1 systemd[1]: Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
Feb 02 14:04:05 DC1 systemd[1]: Started Avahi DNS Configuration Daemon.
Feb 02 14:04:05 DC1 systemd[1]: Starting Avahi mDNS/DNS-SD Stack...
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Found user 'avahi' (UID 112) and group 'avahi' (GID 122).
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Successfully dropped root privileges.
Feb 02 14:04:05 DC1 avahi-daemon[4573]: avahi-daemon 0.6.32-rc starting up.
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Successfully called chroot().
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Successfully dropped remaining capabilities.
Feb 02 14:04:05 DC1 avahi-daemon[4573]: No service file found in /etc/avahi/services.
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Network interface enumeration completed.
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Server startup complete. Host name is DC1.local. Local service cookie is 285370789.
Feb 02 14:04:05 DC1 avahi-daemon[4573]: Failed to parse address 'localhost', ignoring.
Feb 02 14:04:05 DC1 avahi-dnsconfd[4425]: Successfully connected to Avahi daemon.
Feb 02 14:04:05 DC1 root[4642]: /etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd returned non-zero exit status 1
Feb 02 14:04:06 DC1 systemd[1]: Started Avahi mDNS/DNS-SD Stack.
Feb 02 14:04:06 DC1 avahi-daemon[4573]: Joining mDNS multicast group on interface enP4096p4s4.IPv4 with address 192.168.178.47.
Feb 02 14:04:06 DC1 avahi-daemon[4573]: New relevant interface enP4096p4s4.IPv4 for mDNS.
Feb 02 14:04:06 DC1 avahi-daemon[4573]: Registering new address record for 192.168.178.47 on enP4096p4s4.IPv4.
Feb 02 14:04:08 DC1 avahi-daemon[4573]: Joining mDNS multicast group on interface enP4096p4s4.IPv6 with address fe80::250:fcff:fecb:5181.
Feb 02 14:04:08 DC1 avahi-daemon[4573]: New relevant interface enP4096p4s4.IPv6 for mDNS.
Feb 02 14:04:08 DC1 avahi-daemon[4573]: Registering new address record for fe80::250:fcff:fecb:5181 on enP4096p4s4.*.
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
...
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:08 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:09 DC1 avahi-daemon[4573]: Leaving mDNS multicast group on interface enP4096p4s4.IPv6 with address fe80::250:fcff:fecb:5181.
Feb 02 14:04:09 DC1 avahi-daemon[4573]: Joining mDNS multicast group on interface enP4096p4s4.IPv6 with address 2a02:8109:89c0:ebfc:250:fcff:fecb:5181.
Feb 02 14:04:09 DC1 avahi-daemon[4573]: Registering new address record for 2a02:8109:89c0:ebfc:250:fcff:fecb:5181 on enP4096p4s4.*.
Feb 02 14:04:09 DC1 avahi-daemon[4573]: Withdrawing address record for fe80::250:fcff:fecb:5181 on enP4096p4s4.
Feb 02 14:04:28 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:28 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:28 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:28 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:28 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:28 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
...
Feb 02 14:04:29 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:29 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:29 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:35 DC1 systemd-journald[2489]: Suppressed 513915 messages from /system.slice/avahi-daemon.service
Feb 02 14:04:35 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:35 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:04:35 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device


------


Latest Git kernel (5.6): systemctl status avahi-daemon
â avahi-daemon.service - Avahi mDNS/DNS-SD Stack
Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-02-02 14:04:06 CET; 11min ago
Main PID: 4573 (avahi-daemon)
Status: "avahi-daemon 0.6.32-rc starting up."
CGroup: /system.slice/avahi-daemon.service
ââ4573 avahi-daemon: running [DC1.local]
ââ4581 avahi-daemon: chroot helper

Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device
Feb 02 14:15:34 DC1 avahi-daemon[4573]: ioctl(): Inappropriate ioctl for device


------