[Bug 530779] Re: init: does not wait for parent to exit when following forks

Andyceo 530779 at bugs.launchpad.net
Wed Feb 15 21:11:59 UTC 2012


Can confirm this behavior. My dmesg shows:

....
[   77.294511] init: plymouth-stop pre-start process (1944) terminated with status 1
[  125.756619] init: bootchart post-stop process (3866) terminated with status 141
[  248.972426] Valid eCryptfs headers not found in file header region or xattr region
....

Dell Inspiron 1525, Ubuntu 11.10 amd64

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/530779

Title:
  init: does not wait for parent to exit when following forks

Status in Upstart:
  Triaged
Status in “upstart” package in Ubuntu:
  Triaged
Status in “upstart” source package in Precise:
  Triaged

Bug description:
  When following a fork, once Upstart receives the new pid, it
  immediately starts following that and forgets about the parent
  entirely not even waiting for it to exit.

  There are two problems with this:

  The first is the kind of daemon that forks early, but then maintains
  communication with the parent so that the parent can exit with an
  appropriate exit code in case of error (rather than the kind which
  only fork once they are ready).  These kinds aren't ready until the
  parent exits, not at the point of the fork.  Since upstart follows the
  fork, it will think they are ready "too early"

  The second is simply any that writes a pid file (which is perhaps a
  simplification of the above), if they write the pid file in the parent
  (as even nih_main_daemonise does!) then there's no guarantee the pid
  file actually exists when the "start" command returns.

  (Other than the fact we use ptrace tends to mean that the race works
  out in our favour)

To manage notifications about this bug go to:
https://bugs.launchpad.net/upstart/+bug/530779/+subscriptions




More information about the foundations-bugs mailing list