race condition in upstart network-interface.conf

Bug #611877 reported by Jarrett Miller
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ifupdown (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: ifupdown

I think there is an error in the Lucid /etc/init/networking-interfaces.conf file. the pre-start script references /var/run but /var/run is only available after mountall sends the "local-filesystems" event.

So I think that maybe the start on condition in network-interfaces.conf should be:
start on (net-device-added and local-filesystems)
instead of just
start on net-device added

Cheers

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.2 KiB)

This bug was fixed in the package ifupdown - 0.7~beta2ubuntu1

---------------
ifupdown (0.7~beta2ubuntu1) precise; urgency=low

  * Resynchronise with Debian experimental. Remaining changes
    (LP: #905660, LP: #850566, LP: #611877, LP: #678425):
    - ifupdown.nw: Use 100 as default route metric unless an explicit metric
      parameter is set in /etc/network/interface.
    - Add iniparser3.0b sources (dictionary.c, dictionary.h, iniparser.c,
      iniparser.h), to let ifupdown avoid auto-up/down of interfaces if
      network-manager's ifupdown plugin is in managed=true mode.
    - Add a new query interface, 'ifquery', that can be used by upstart
      hooks to ask for the list of possible interfaces that they might need
      to bring up.
    - debian/ifupdown.network-interface.upstart: Replace the init scripts
      with a per-interface Upstart job.
    - debian/ifupdown.networking.upstart: Add a "networking" job that
      partially replaces the networking init script from netbase.
    - debian/control: Bump build-dependency on debhelper for Upstart-aware
      dh_installinit.
    - debian/rules: Due to debhelper always adding /etc/init.d symlinks, we
      must manually remove /etc/init.d/networking for as long as netbase
      still provides it.
    - Add if-up and if-down scripts to emit Upstart events when interfaces
      come up and go down.
    - debian/ifupdown.network-interface-security.upstart: Ensure apport is
      started before interfaces are brought up by either ifupdown or
      network-manager.
    - debian/postinst: If the loopback interface is missing from the config
      in /etc/network/interfaces, add it on upgrade.
    - debian/ifupdown.preinst: Since files in /etc were not conffiles in
      lucid, and /etc/network/if-up.d/upstart and
      /etc/init/network-interface.conf changed between lucid final and
      maverick, add extra handling to avoid spurious conffile prompts.
    - invoke dhclient3 with '-1', meaning it should exit failure if it does
      not receive a response in 60 seconds. (LP: #838968)
    - contrib/ifstate-check: Use /run/ntework/ifstate instead of
      /etc/network/run/ifstate
    - ifup.8: Update man page to indicate that Ubuntu uses /run
      and that it's always writable as it's a temporary filesystem
  * ifupdown.nw: When calling dhclient3, also use /var/lib/dhcp as
    dhclient3 is now a symlink to dhclient and /var/lib/dhcp3 no longer
    exists. (LP: #900234)
  * Mark ifupdown as Multi-Arch foreign
  * Replace remaining references to /var/run/network by /run/network
    (LP: #885506)

ifupdown (0.7~beta2) experimental; urgency=low

  * Put interfaces down in the reverse order than they were
    brought up (Closes: #477650).
  * Fix postinst issues with loopback interface naming
    (Closes: #572396, #545250).
  * Remove old .dpkg-old symlink (Closes: #639612).
  * Document some details on processing /etc/network/if-*.d directories.
  * Terminate ifup if it's still running when doing ifdown.
  * Finally migrate to /run/network.
  * Use FHS names for wvdial pid files (Closes: #255222).
  * Stop on run-parts failure (Closes: #547587).
  * Execute scripts before interface options on *...

Read more...

Changed in ifupdown (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.