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
Touch seeded packages, which is subscribed to avahi in Ubuntu.

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

Status in avahi package in Ubuntu:
Status in bind9 package in Ubuntu:
Status in openconnect package in Ubuntu:

Bug description:
  On 18.04 Openconnect connects successfully to any of multiple VPN
  concentrators but network traffic does not flow across the VPN tunnel
  connection. When testing on 16.04 this works flawlessly. This also
  worked on this system when it was on 17.10.

  I have tried reducing the mtu of the tun0 network device but this has
  not resulted in me being able to successfully ping the IP address.

  Example showing ping attempt to the IP of DNS server:

  ~$ cat /etc/resolv.conf 
  # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
  # is the systemd-resolved stub resolver.
  # run "systemd-resolve --status" to see details about the actual nameservers.


  liam@liam-lat:~$ netstat -nr
  Kernel IP routing table
  Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface         UG        0 0          0 
wlp2s0 UGH       0 0          0 
wlp2s0     U         0 0          0 
docker0     U         0 0          0 
docker0     U         0 0          0 tun0 UH        0 0          0 tun0   U         0 0          0 
  liam@liam-lat:~$ ping
  PING ( 56(84) bytes of data.
  --- ping statistics ---
  4 packets transmitted, 0 received, 100% packet loss, time 3054ms

  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: openconnect 7.08-3
  ProcVersionSignature: Ubuntu 4.15.0-10.11-generic 4.15.3
  Uname: Linux 4.15.0-10-generic x86_64
  ApportVersion: 2.20.8-0ubuntu10
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Wed Feb 28 22:11:33 2018
  InstallationDate: Installed on 2017-06-15 (258 days ago)
  InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 
  SourcePackage: openconnect
  UpgradeStatus: Upgraded to bionic on 2018-02-22 (6 days ago)

To manage notifications about this bug go to:

Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to