[Bug 950662] Re: Waiting for network message on bootup when all network devices are up

Steve Langasek steve.langasek at canonical.com
Fri Mar 9 19:13:03 UTC 2012


So according to the contents of /run/network, all of your static
networks came up quickly and as intended, and the /run/network/static-
network-up-emitted directory confirms that the 'static-network-up' event
should have been generated.

This should have been sufficient to stop the 'failsafe' job and avoid
any messages about waiting for the network.

One thing I know could have caused boot delays recently in precise is a
bug in apparmor, bug #949891, which caused apparmor_parser to take a
very long time at boot - and apparmor_parser is called before each
network interface is brought up, so this could very well account for
seeing the delay in cases when you *do* have interfaces other than lo
configured statically in /etc/network/interfaces.  But if you *don't*
have any interfaces configured statically (as in your current
/etc/network/interfaces), this shouldn't have mattered.

I have hit upon a possible race condition that would explain this.  If
the order of boot events is:

 net-device-up IFACE=lo
 static-network-up
 filesystem
 runlevel

the 'static-network-up' event will not stop the failsafe job because
it's not started yet, but the 'filesystem' event will finish satisfying
the start condition and the job will start, and stay running until
'runlevel' is emitted.

And the runlevel event is emitted at the bottom of the rc-sysinit job,
only after processing scripts in /etc/rcS.d.

Can you show the output of 'ls -l /etc/rcS.d'?

Regardless of what this command shows, I think there's definitely one
bug here in /etc/init/failsafe.conf, and possibly another in upstart
itself for not resetting the status of the failsafe job when static-
network-up is emitted.

The definite bug is that we're waiting for the end of /etc/init/rc-
sysinit.conf to clear the message, even though nothing during rc-sysinit
is related to networking.  Normally rc-sysinit is fast, but when it
isn't (i.e, when it takes longer than 20 seconds), this message is
confusing.

Clint, I think the right thing for failsafe to do here is 'stop on
static-network-up or starting rc-sysinit'.  Does that sound reasonable
to you?  Since it's a task, we can't use 'started rc-sysinit', but
'starting' should be fine and eliminates the remaining risk of spurious
messages here.

-- 
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/950662

Title:
  Waiting for network message on bootup when all network devices are up

Status in “upstart” package in Ubuntu:
  Incomplete

Bug description:
  Machine is an Asus EeePC 900, running a fresh (post-beta1) install of
  Precise.

  I get a "waiting for network" message on bootup, even though eth0 is
  connected and wlan0 is active and within range of the access point.
  Commenting out lines in /etc/network/interfaces doesn't make any
  difference.

  The message doesn't appear every time but bootup is still annoyingly
  slow.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: upstart 1.4-0ubuntu8
  ProcVersionSignature: Ubuntu 3.2.0-18.28-generic-pae 3.2.9
  Uname: Linux 3.2.0-18-generic-pae i686
  ApportVersion: 1.94.1-0ubuntu1
  Architecture: i386
  Date: Fri Mar  9 22:19:09 2012
  InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha i386 (20120306)
  SourcePackage: upstart
  UpgradeStatus: No upgrade log present (probably fresh install)

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




More information about the foundations-bugs mailing list