rc-sysinit job might start before loopback is up
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
upstart (Ubuntu) |
Fix Released
|
Medium
|
Steve Langasek | ||
Karmic |
Fix Released
|
Medium
|
Steve Langasek | ||
Lucid |
Fix Released
|
Medium
|
Steve Langasek |
Bug Description
Binary package hint: upstart
9.10RC, upstart 0.6.3-10
In previous releases, networking would get started in rcS.d/S40networ
Now there is a race between the networking and the rc-sysinit job that may result in some early daemons in runlevel 2 to be started before loopback is available (i.e. rc2.d/S15dnsmasq).
According to slangasek this is a bug since "everything that rcS did for us before should still be guaranteed".
Detail:
mountall: start on startup, emits local-filesystems, virtual-filesystems and filesystem
udev: start on virtual-filesystems
udevtrigger: start on (startup and started udev)
networking: start on (local-filesystems and stopped udevtrigger)
rc-sysinit: start on filesystem
Filed against upstart since /etc/init/
Changed in upstart (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in upstart (Ubuntu Lucid): | |
status: | Triaged → Fix Committed |
Changed in upstart (Ubuntu Karmic): | |
importance: | Undecided → Medium |
status: | New → Fix Committed |
assignee: | nobody → Steve Langasek (vorlon) |
Changed in upstart (Ubuntu Lucid): | |
assignee: | nobody → Steve Langasek (vorlon) |
tags: |
added: verification-done removed: verification-needed |
affects: | upstart (Ubuntu Karmic) → ifupdown (Ubuntu Karmic) |
Some IRC context:
<soren> I'm just trying to understand if (and if so, how) we know that the loopback device is available once we start going through rc2.d/S* scripts.
<soren> ..since that used to be the case (given that networking ran at rcS.d/S40)
<ttx> ..and some server software kinda expects at least loopback to be up when started.
<ttx> for example, rc2.d/S15dnsmasq
<slangasek> soren: we don't; it's racy; file a bug on upstart
<soren> slangasek: You agree that having lo available in runlevel 2 is a reasonable expectation?
<slangasek> soren: yes, everything that rcS did for us before should still be guaranteed
<slangasek> unfortunately, switching /half/ of our init system has introduced a few race conditions