[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