compat: sysv-rc not console owner

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

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

Aha!

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?

http://serverfault.com/questions/207870/skip-fsck-on-boot-on-ubuntu-10-04-server

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

Other bug subscribers