[Bug 885909] Re: Boot process hangs in Ubuntu 11.10 server after upgrade

Owen Duffy 885909 at bugs.launchpad.net
Sat Nov 5 18:23:58 UTC 2011


In summary, the root cause of the problem was a line in
/etc/network/interfaces which tried to run a non existent command (up
flush-mail).

ifup silently fails in that case, and although it has done almost
everything to start the interface, and the interface is fully
functional, it does not create the semaphore used by ifdown to signal
completion or emit the relevant upstart events. ifconfig reports normal
operation of the interface, ifdown says the interface does not exist and
ends.

upstart's network-interfaces job silently ends when the ifup fails. Why
are events for the lo interface issued from the network-interfaces job
directly, whereas for others, they are emitted from the subsidiary ifup
command's post script? This smacks of half baked patching on the fly.

The whole design philosophy of scripts that do not provide useful
exception reporting, of silent failure contributes to the unreliability
witnessed by the large number of bug reports pertaining to startup
functions migrated to upstart.

The time for robust logging to be included in upstart was before
migration, not afterwards. The greatest benefit in adequate logging
would be during migration in quickly identifying and rectifying
problems.

I have solved my problem by removing the "up mail-flush" command, but
the design philosophy / reliability issues are embedded in upstart /
linux.

Owen

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

Title:
  Boot process hangs in Ubuntu 11.10 server after upgrade

Status in “ifupdown” package in Ubuntu:
  New

Bug description:
  Boot process is delayed with the message on screen "ubuntu 11.10
  booting system without full network configuration".

  Some processes did not start (eg nmbd, mediatomb). They appear to be
  waiting for an event, in nmbd's case: start on (local-filesystems and
  net-device-up IFACE!=lo) .

  Some status checks:

  root at u01:~# status network-interface INTERFACE=lo
  network-interface (lo) start/running
  root at u01:~# status network-interface INTERFACE=eth0
  network-interface (eth0) start/running
  root at u01:~# status nmbd
  nmbd stop/waiting

  So, it seems that the prerequisites for nmbd are running, but nmbd
  seems to be waiting to start.

  Looking at the code in network-interface.conf:

  pre-start script
      if [ "$INTERFACE" = lo ]; then
          # bring this up even if /etc/network/interfaces is broken
          ifconfig lo 127.0.0.1 up || true
          initctl emit -n net-device-up \
              IFACE=lo LOGICAL=lo ADDRFAM=inet METHOD=loopback || true
      fi
      mkdir -p /var/run/network
      exec ifup --allow auto $INTERFACE
  end script

  
  It emits an event when lo starts, what emits an event to notify that eth0 started?

  Owen

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




More information about the foundations-bugs mailing list