[Bug 1825194] Re: resolvconf is racy, which leads to broken resolv.conf in parallel calls

Steve Langasek steve.langasek at canonical.com
Thu Apr 18 05:24:18 UTC 2019


I assume this is primarily an issue for UC16, since in UC18 we no longer
use resolvconf at all, and have targeted the bug accordingly.  Do you
want to prepare a corresponding debdiff for xenial, and adjust the bug
description to include a complete SRU template per
https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template ?

** Also affects: resolvconf (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Changed in: resolvconf (Ubuntu)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1825194

Title:
  resolvconf is racy, which leads to broken resolv.conf in parallel
  calls

Status in resolvconf package in Ubuntu:
  Fix Committed
Status in resolvconf source package in Xenial:
  New

Bug description:
  It has been found that simultaneous calls to resolvconf can lead to
  inconsistent content in resolv.conf. For instance, no nameservers
  while NetworkManager has one in its record (see LP: #1824395):

  $ cat /run/resolvconf/resolv.conf
  # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
  # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

  $ cat /run/resolvconf/interface/NetworkManager
  nameserver 192.168.1.6
  nameserver 192.168.1.2

  This can happen easily when calling "netplan apply", which can re-
  start both networkd and NM. resolvconf is called at that point by the
  "systemd-networkd-resolvconf-update.service" service, and also
  directly by NetworkManager, which leads to the situation described
  above. This is not surprising as there is nothing preventing different
  instances of resolvconf to access the same files. This sort of
  situation can be reproduced by running in a loop commands like:

  $ printf "\n" | sudo resolvconf -a NetworkManager & printf "\n" | sudo resolvconf -a networkd
  $ printf "nameserver 80.58.61.250\n" | sudo resolvconf -a NetworkManager & printf "\n" | sudo resolvconf -a networkd

  Eventually, this leads to a resolv.conf that is not consistent with
  the last run command.

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



More information about the Ubuntu-sponsors mailing list