compat: sysv-rc not console owner

Bug #211402 reported by Matt Zimmerman on 2008-04-03
Affects Status Importance Assigned to Milestone
upstart (Ubuntu)

Bug Description

When running under upstart, the sysv rc scripts don't seem to be able to receive terminal input or signals. I observed this in that it's impossible to interrupt fsck with Control-C, though I expect this affects other scripts as well.

Matt Zimmerman (mdz) wrote :

<mdz> I also noticed I was unable to ^C fsck; I'm pretty sure that used to work ages ago
<mdz> Keybuk: did that change with upstart?
<Keybuk> mdz: yes
<Keybuk> mdz: there is an unexplained difference in behaviour between Upstart and sysvinit when it comes to the ownership of /dev/consoe
<Keybuk> unexplained in that the code is identical, but produces different behaviour
<Keybuk> mdz: if Upstart gives sys-rc "ownership" of the console, then X will crash
<Keybuk> so "telinit 3" while running X becomes disasterous

Changed in upstart:
importance: Undecided → Low
status: New → Confirmed
Changed in upstart:
importance: Undecided → Low
status: New → Confirmed
summary: - Cannot interact with sysv-rc (e.g. fsck)
+ compat: jobs not console owner
summary: - compat: jobs not console owner
+ compat: sysv-rc not console owner

Actually, there's no reason that rcS can't be "console owner" - it's not ever run during X!

Changed in upstart (Ubuntu):
status: Confirmed → In Progress


And that flash of inspiration, plus a fresh look, made me realise that sysvinit only does ioctl(TIOCSCTTY) for the sysinit process - it doesn't do it for any usual runlevel change ones.

So Upstart is just fine here

Changed in upstart:
status: Confirmed → Won't Fix
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package upstart - 0.3.10-2

upstart (0.3.10-2) karmic; urgency=low

  * debian/upstart.postinst: Use telinit u to re-exec, rather than
    kill just in case it's not Upstart that's running. LP: #92177.
  * debian/event.d/system-services/tty*: Run getty in 8-bit clean
    mode. LP: #273189.
  * debian/event.d/upstart-compat-sysv/rc-default:
    - Don't use grep -w, instead split on $IFS and iterate. LP: #385911.
    - Check for any valid runlevel, not just S. LP: #85014.
    - Make console owner, since it may spawn sulogin.
  * debian/event.d/upstart-compat-sysv/rcS:
    - Spawn sulogin if given -b or "emergency". LP: #193810.
  * debian/event.d/upstart-compat-sysv/rcS:
    - Make console owner. LP: #211402.
  * debian/event.d/upstart-compat-sysv/rcS-sulogin:
    - Place the telinit code in post-stop, checking $UPSTART_EVENT first so
      we don't change the runlevel if we were stopped due to a runlevel
      change. LP: #66002.

 -- Scott James Remnant <email address hidden> Thu, 18 Jun 2009 16:19:34 +0100

Changed in upstart (Ubuntu):
status: In Progress → Fix Released
Harry (harry-binkmail) wrote :

I think this is realted, maybo someone can hekp on this issue on serverfault?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers