On Mon, 7 May 2018 09:52:49 +0800 Trent Lloyd <tr...@lloyd.id.au> wrote: > I have been tracking this issue in Ubuntu at: > https://bugs.launchpad.net/bugs/1752411 > > The root cause of this issue is a bug in 'host', in certain > circumstances the host command hangs and never returns. I can reproduce > this reliably. > The main case I have found is when an interface is up, but the link is > still down and a default route is installed in the state 'linkdown'. > This only happens if that is the route used to send packets to a > nameserver listed in resolv.conf > > I haven't yet managed to debug what causes host to fail internally and > never timeout in this case, but a workaround is to modify > avahi-daemon-check-dns.sh to launch host under the 'timeout' command > with a 5 second timeout to ensure it doesn't block forever. > > The real issue in host needs to be fixed, though, I have a machine that > reproduces this issue reliably if anyone is experience in bind9-host > debugging and I can reproduce it on demand.
I’d say the host never timing out is slightly a different issue, yet another place where this may fail. So there are two issues at the same time here: 1) avahi-daemon-check-dns.sh shouldn’t call potentially blocking host when it’s guaranteed to block (e.g. no connectivity) 2) host should probably time out in a reasonable amount of time (e.g. max. 2 seconds) My patch fixes the first part, by preventing the host calls when the nameserver is not reachable (the script mistakenly thinks 2001:1234:5678::10 is a nameserver at localhost since it matches the "::1" pattern, and attempts to talk to it). -- Cheers, Andrej