[lxc-devel] Priorities for LXC 1.0.1

Serge Hallyn serge.hallyn at ubuntu.com
Thu Mar 6 05:05:05 UTC 2014


Quoting S.Çağlar Onur (caglar at 10ur.org):
> On Wed, Mar 5, 2014 at 11:16 PM, S.Çağlar Onur <caglar at 10ur.org> wrote:
> > On Wed, Mar 5, 2014 at 11:08 PM, Serge Hallyn <serge.hallyn at ubuntu.com> wrote:
> >> Quoting S.Çağlar Onur (caglar at 10ur.org):
> >>> On Wed, Mar 5, 2014 at 3:58 PM, Stéphane Graber <stgraber at ubuntu.com> wrote:
> >>> > On Wed, Mar 05, 2014 at 10:38:49AM -0500, Stéphane Graber wrote:
> >>> >> On Tue, Feb 25, 2014 at 07:53:06PM -0500, Stéphane Graber wrote:
> >>> >> > Hello,
> >>> >> >
> >>> >> > Ideally, I'd like to have LXC 1.0.1 out in the next week or so with all
> >>> >> > of the fixes we stacked since the 1.0 release last month.
> >>> >> >
> >>> >> > On top of those, the following issues have been mentioned a few times
> >>> >> > and we probably need to fix those before 1.0.1 too:
> >>> >> >  - unprivileged containers spawned by root are broken.
> >>> >> >  - lxc-attach on systems with rshared / is broken.
> >>> >> >  - the mount table of containers spawned on systems with rshared / is
> >>> >> >    poluted (twice as long as it should be).
> >>> >>
> >>> >>
> >>> >> All of those issues and more have now been resolved with fixes available
> >>> >> in the stable-1.0 branch.
> >>> >>
> >>> >> Unless someone comes up with a major issue by then, I intend to release
> >>> >> 1.0.1 later this afternoon as our first LXC 1.0 bugfix release
> >>> >> (admitedly a rather massive bugfix release for our first one...).
> >>> >
> >>> >
> >>> > Caglar reported a problem with lxc-test-concurent and similar use from
> >>> > Go related to threading and cgmanager interactions, I'm postponing 1.0.1
> >>> > until we have this resolved.
> >>>
> >>> Still testing but looks like following patch helped (on top of current master)
> >>
> >> Thanks.  Since this will be called during cgroup_ops_init()
> >> which has the attribute constructor, this will be done in
> >> time.
> >>
> >> Needs your sign-off, but
> >
> > Just sent to the list but let me play with it for a while before
> > applying as I only tested the Go side till now.
> 
> Unfortunately, looks like this patch is not playing well with
> lxc-test-concurrent (but seems to be working fine with it's Go
> counterpart). It got stuck as soon as it tries to start containers :/
> 
> sudo ./lxc-test-concurrent
> 
> Iteration 1/1 maxfd:6
> Executing (create) for 5 containers...
> Executing (start) for 5 containers...
> 
> It could be because of dbus 1.6 as [1] says following;
> 
> """
> If this function is not called, the D-Bus library will not lock any
> data structures. If it is called, D-Bus will do locking, at some cost
> in efficiency.
> 
> Since D-Bus 1.7 it is safe to call this function from any thread, any
> number of times (but it must be called before any other libdbus API is
> used).
> 
> In D-Bus 1.6 or older, this function must be called in the main thread

D'oh.  I missed that we're running 1.6.  Ok, no problem,
just add a 'static bool dbus_threads_initialized = false' at top, then do

	if (!dbus_threads_initialized) {
		dbus_threads_init_default();
		dbus_threads_initialized = true;
	}

:)

> before any other thread starts. As a result, it is not sufficient to
> call this function in a library or plugin, unless the library or
> plugin imposes a similar requirement on its callers.
> """
> 
> [1] http://dbus.freedesktop.org/doc/api/html/group__DBusThreads.html#ga33b6cf3b8f1e41bad5508f84758818a7
> 
> >> Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
> >>
> >>
> >>> [caglar at oOo:~/Projects/lxc(master)] git diff
> >>> diff --git a/src/lxc/cgmanager.c b/src/lxc/cgmanager.c
> >>> index e7407d8..7c83ad6 100644
> >>> --- a/src/lxc/cgmanager.c
> >>> +++ b/src/lxc/cgmanager.c
> >>> @@ -94,6 +94,8 @@ static void cgm_dbus_disconnect(void)
> >>>  #define CGMANAGER_DBUS_SOCK "unix:path=/sys/fs/cgroup/cgmanager/sock"
> >>>  static bool do_cgm_dbus_connect(void)
> >>>  {
> >>> +       dbus_threads_init_default();
> >>> +
> >>>         DBusError dbus_error;
> >>>         dbus_error_init(&dbus_error);
> >>>
> >>>
> >>> > --
> >>> > Stéphane Graber
> >>> > Ubuntu developer
> >>> > http://www.ubuntu.com
> >>> >
> >>> > _______________________________________________
> >>> > lxc-devel mailing list
> >>> > lxc-devel at lists.linuxcontainers.org
> >>> > http://lists.linuxcontainers.org/listinfo/lxc-devel
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> S.Çağlar Onur <caglar at 10ur.org>
> >>> _______________________________________________
> >>> lxc-devel mailing list
> >>> lxc-devel at lists.linuxcontainers.org
> >>> http://lists.linuxcontainers.org/listinfo/lxc-devel
> >> _______________________________________________
> >> lxc-devel mailing list
> >> lxc-devel at lists.linuxcontainers.org
> >> http://lists.linuxcontainers.org/listinfo/lxc-devel
> >
> >
> >
> > --
> > S.Çağlar Onur <caglar at 10ur.org>
> 
> 
> 
> -- 
> S.Çağlar Onur <caglar at 10ur.org>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel


More information about the lxc-devel mailing list