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
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/885909

Title:
  Boot process hangs in Ubuntu 11.10 server after upgrade

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to