** Description changed:

+ [Impact]
+ 
+ When using dnsmasq along with squid on Ubuntu Xenial, the user will
+ experience a deadlock while performing on every second execution of the
+ "systemctl start dnsmasq.service" command.  The deadlock will be caused
+ by an attempt to invoke, by nss-lookup.target, a "systemctl reload
+ squid.service", which will itself try to start the nss-lookup.target,
+ which will be waiting on squid, therefore eventually leading to a
+ timeout.
+ 
+ The underlying cause of this deadlock is related to how systemd used to
+ handle dependencies between multiple jobs being started in the same
+ transaction.
+ 
+ [Test Case]
+ 
+ One can reproduce the issue on a Xenial container:
+ 
+ $ lxc launch ubuntu-daily:xenial squid-bug1761096
+ $ lxc shell squid-bug1761096
+ # apt update
+ # apt install squid dnsmasq -y
+ 
+ It is quite possible that during "apt install" the bug will manifest,
+ and dnsmasq will fail to start due to a timeout.  The user might see a
+ message like:
+ 
+ Job for dnsmasq.service failed because a timeout was exceeded. See
+ "systemctl status dnsmasq.service" and "journalctl -xe" for details.
+ 
+ If the bug doesn't manifest itself during installation, the following
+ commands in sequence should trigger it:
+ 
+ # systemctl restart dnsmasq.service
+ # systemctl restart dnsmasq.service
+ 
+ [Regression Potential]
+ 
+ This change only touches the mechanism by which squid has its
+ configuration reloaded in case of a DNS resolver change.  Because
+ "systemctl reload --no-block" returns practically immediately, if
+ squid's configuration file is invalid the user won't see any
+ notifications.  However, this behaviour is already present currently,
+ because "systemctl reload squid" invokes "/etc/init.d/squid reload"; the
+ user has to check "journalctl -u squid.service" if she wants to verify
+ whether there were any failures during the reload.
+ 
+ Other than that, and because systemctl will offload the service to the
+ SysV script as usual (in the case of squid), I don't foresee any
+ potential regressions.
+ 
+ [Original Description]
+ 
  Setup to reproduce:
  
  Ubuntu Xenial amd64 net install iso from
  http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-
  amd64/current/images/netboot/mini.iso
  
  Install system with mostly defaults + LVM + OpenSSH server
  
  Note that this bug applies to both DHCP and static IP+DNS network
  configurations
  
  Once server rebooted and is available, log in and install dnsmasq + squid:
  apt-get update && apt-get install squid dnsmasq
  
  output of this can be found at https://pastebin.com/9Atuipju
  journalctl -xe output at https://pastebin.com/uLhfM4jN
  
  Furthermore at this point I can run alternating errors
  
  root@ubuntu-min:~# date ; service dnsmasq start ; date
  Wed Apr  4 09:18:07 CEST 2018
  Wed Apr  4 09:18:07 CEST 2018
  root@ubuntu-min:~# date ; service dnsmasq stop ; date
  Wed Apr  4 09:18:39 CEST 2018
  Wed Apr  4 09:18:39 CEST 2018
  root@ubuntu-min:~# date ; service dnsmasq start ; date
  Wed Apr  4 09:19:10 CEST 2018
  Job for dnsmasq.service failed because a timeout was exceeded. See "systemctl 
status dnsmasq.service" and "journalctl -xe" for details.
  Wed Apr  4 09:20:40 CEST 2018
  root@ubuntu-min:~# date ; service dnsmasq start ; date
  Wed Apr  4 09:42:57 CEST 2018
  Wed Apr  4 09:42:57 CEST 2018
  root@ubuntu-min:~# date ; service dnsmasq stop ; date
  Wed Apr  4 09:43:14 CEST 2018
  Wed Apr  4 09:43:14 CEST 2018
  root@ubuntu-min:~# date ; service dnsmasq start ; date
  Wed Apr  4 09:43:26 CEST 2018
  Job for dnsmasq.service failed because a timeout was exceeded. See "systemctl 
status dnsmasq.service" and "journalctl -xe" for details.
  Wed Apr  4 09:44:56 CEST 2018
  
  and so on... Each and every 1 out of 2 stop/start cycle fails in 1m30s
  timeout
  
  Complete journalctl -xe output attached

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1761096

Title:
  dnsmasq starts with error on Ubuntu Xenial amd64 when squid installed

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1761096/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to