'telinit u' has a cage fight with busybox init

Bug #1083723 reported by Colin Watson on 2012-11-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
upstart
Medium
James Hunt
upstart (Ubuntu)
Medium
James Hunt
Raring
Medium
James Hunt

Bug Description

A number of packages (e.g. eglibc, libsepol) use 'telinit -u' in their postinst to request that the init daemon be restarted. Now, in Ubuntu we've generally hacked these to use 'touch /var/run/init.upgraded' instead to avoid issues such as bug 672177, but with stateful-reexec hopefully we'll be able to get rid of these hacks once things like bug 1079715 have been fixed.

However, there's another problem. 'telinit -u' sends SIGTERM to pid 1. This amounts to a private IPC method, but it is not one agreed upon by all init daemons. busybox init (not unreasonably, I think) defines SIGTERM to mean "reboot", and busybox init is used by debian-installer. This means that if we were ever to produce a Debian installer image that installed Upstart by default - which is certainly something we want to attempt once it's worthwhile - it will reboot as soon as it tries to configure any of the affected packages.

Perhaps telinit should check whether pid 1 is in fact Upstart before sending these signals? Or perhaps it should use some other IPC mechanism.

Related branches

Steve Langasek (vorlon) wrote :

Since we are hoping to obsolete the /var/run/init.upgraded interface now that we have stateful re-exec capabilities, this should be fixed for raring.

Changed in upstart:
status: New → Triaged
importance: Undecided → Medium
Steve Langasek (vorlon) on 2012-11-27
Changed in upstart (Ubuntu):
status: New → Incomplete
status: Incomplete → Triaged
importance: Undecided → Medium
James Hunt (jamesodhunt) on 2012-11-28
Changed in upstart:
assignee: nobody → James Hunt (jamesodhunt)
Changed in upstart (Ubuntu Raring):
assignee: nobody → James Hunt (jamesodhunt)
James Hunt (jamesodhunt) on 2012-11-29
Changed in upstart:
status: Triaged → In Progress
James Hunt (jamesodhunt) on 2012-12-07
Changed in upstart:
status: In Progress → Fix Released
James Hunt (jamesodhunt) on 2012-12-11
Changed in upstart (Ubuntu Raring):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers