'telinit u' has a cage fight with busybox init

Bug #1083723 reported by Colin Watson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
upstart
Fix Released
Medium
James Hunt
upstart (Ubuntu)
Fix Released
Medium
James Hunt
Raring
Fix Released
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

Revision history for this message
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)
Changed in upstart (Ubuntu):
status: New → Incomplete
status: Incomplete → Triaged
importance: Undecided → Medium
James Hunt (jamesodhunt)
Changed in upstart:
assignee: nobody → James Hunt (jamesodhunt)
Changed in upstart (Ubuntu Raring):
assignee: nobody → James Hunt (jamesodhunt)
James Hunt (jamesodhunt)
Changed in upstart:
status: Triaged → In Progress
James Hunt (jamesodhunt)
Changed in upstart:
status: In Progress → Fix Released
James Hunt (jamesodhunt)
Changed in upstart (Ubuntu Raring):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.