I did some testing using strace and looking at backtraces of why "host"
is stuck, and it's not immediately clear to me why it's getting stuck.
Will need to look more in depth into it tracing it's actual execution -
it's multi threaded and using poll so not super straight forward from
the trace for someone unfamiliar with the code-base.

I did test that when it happens, the network interfaces are up and
systemd-resolved is started - and I can see a sendmsg/recvmsg appear to
succeed to the systemd stub resolver and my local SNS server.  I also
tried explicitly setting the timeout with host -W 5 (this should be the
default, but wanted to test as there is a -w indefinite option).
However the 'host' command always works when I log into the system while
the other commands are still stuck in the background - so something
strange is going on.

What does work, is executing 'host' under /usr/bin/timeout.  Given the
severity of this issue (makes startup hang without SSH for several
minutes, and blocks everything else from starting up seemingly forever),
I would suggest that we should ship a fix for bionic to use timeout to
work around the issue for now.

/usr/lib/avahi/avahi-daemon-check-dns.sh : dns_has_local()
  OUT=`LC_ALL=C /usr/bin/timeout 5 host -t soa local. 2>&1`

** Changed in: openconnect (Ubuntu)
       Status: Confirmed => Invalid

You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

  bind9-host, avahi-daemon-check-dns.sh hang forever causes network
  connections to get stuck

To manage notifications about this bug go to:

ubuntu-bugs mailing list

Reply via email to