Ubuntu

chroot support is not reliable

Reported by James Hunt on 2011-03-03
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
upstart
Low
Unassigned
upstart (Ubuntu)
Medium
James Hunt
Natty
Medium
James Hunt

Bug Description

Current natty chroot support does not seem to work reliably. Logging into a natty schroot as root and running "initctl list" shows:

plymouth-upstart-bridge stop/waiting
james stop/waiting

Logging out of the chroot and back in as root again, "initctl list" shows no output. There are 38 .conf files in my chroots /etc/init/ so we would always expect (atleast) 38 jobs being listed by "initctl list" (possibly more if user sessions enabled).

affects: ubuntu → upstart (Ubuntu)

I clearly didn't test this well enough ;-)

On Thu, Mar 3, 2011 at 8:22 AM, James Hunt <email address hidden> wrote:
> Public bug reported:
>
> Current natty chroot support does not seem to work reliably. Logging
> into a natty schroot as root and running "initctl list" shows:
>
> plymouth-upstart-bridge stop/waiting
> james stop/waiting
>
> Logging out of the chroot  and back in as root again, "initctl list"
> shows no output. There are 38 .conf files in my chroots /etc/init/ so we
> would always expect (atleast) 38 jobs being listed by "initctl list"
> (possibly more if user sessions enabled).
>
> ** Affects: upstart
>     Importance: Undecided
>         Status: New
>
> --
> You received this bug notification because you are a member of Upstart
> Developers, which is subscribed to upstart .
> https://bugs.launchpad.net/bugs/728531
>
> Title:
>  chroot support is not reliable
>
> Status in Upstart:
>  New
>
> Bug description:
>  Current natty chroot support does not seem to work reliably. Logging
>  into a natty schroot as root and running "initctl list" shows:
>
>  plymouth-upstart-bridge stop/waiting
>  james stop/waiting
>
>  Logging out of the chroot  and back in as root again, "initctl list"
>  shows no output. There are 38 .conf files in my chroots /etc/init/ so
>  we would always expect (atleast) 38 jobs being listed by "initctl
>  list" (possibly more if user sessions enabled).
>

Changed in upstart:
status: New → Confirmed
importance: Undecided → Low
Changed in upstart (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → James Hunt (jamesodhunt)
Scott James Remnant (scott) wrote :

I've marked the upstream task as Invalid since there is no chroot support upstream, and this is otherwise covered by #430224 init: support chroots

Changed in upstart:
status: Confirmed → Invalid
James Hunt (jamesodhunt) wrote :

We have a version of Upstart in my ppa that should resolve this issue, but are keen to solicit feedback from users:

  ppa:jamesodhunt/upstart-testing
 (for details of how to enable this ppa, see: https://launchpad.net/~jamesodhunt/+archive/upstart-testing)

Changed in upstart (Ubuntu Natty):
status: Confirmed → In Progress
James Hunt (jamesodhunt) wrote :

PPA updated to Upstart 0.9.6-1ubuntu1~jh1 to resolve a namespace issue which could result in OOM scenario.

Changed in upstart (Ubuntu Natty):
milestone: none → ubuntu-11.04
Dave Walker (davewalker) on 2011-04-19
tags: added: server-nro
Changed in upstart (Ubuntu Natty):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package upstart - 0.9.6-1ubuntu1

---------------
upstart (0.9.6-1ubuntu1) natty; urgency=low

  [ James Hunt ]
  * init/man/init.5: Remove mention of user jobs since facility is
  disabled.

  [ Clint Byrum ]
  * Noting bugs fixed by 0.9.6 release of upstart: (LP: #728531 , LP: #766206)
 -- Clint Byrum <email address hidden> Tue, 19 Apr 2011 13:16:46 -0700

Changed in upstart (Ubuntu Natty):
status: Fix Committed → Fix Released
James Hunt (jamesodhunt) wrote :

Here is a comment from the Upstart changelog which attempts to explain the scenario leading to the out-of-memory condition:

        * init/job.c: job_new(): Fix for nasty OOM scenario when an attempt is made
          to start a chroot job with same name as running single-instance non-chroot
          job. Previously, the path for a chrooted Job was set from the (nul) instance
          name of its parent JobClass. However, since that job instance name already
          existed outside the chroot and was already D-Bus registered,
          nih_dbus_object_new() (which allocates storage and is called by
          job_register()) returned NULL and kept doing so due to being called
          within NIH_MUST(). This resulted in OOM due to an as-yet unidentified
          D-Bus bug (possibly a leak in find_subtree_recurse()).

James Hunt (jamesodhunt) on 2011-08-02
tags: added: crasher
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers