[lxc-devel] [PATCH 2/2] Revert "start: Detect early failure of the new child"

richard -rw- weinberger richard.weinberger at gmail.com
Thu Apr 18 21:55:32 UTC 2013


On Thu, Apr 18, 2013 at 8:10 PM, Stéphane Graber <stgraber at ubuntu.com> wrote:
> On 04/18/2013 08:07 PM, S.Çağlar Onur wrote:
>> Hi Richard,
>>
>> That happened to me yesterday. I think you can easily reproduce the
>> issue by just starting a container, logging into it and calling
>> poweroff. You will see that it will stuck at the end of it.
>> Alternatively you can use python/c/go api to do the same which shows the
>> same effect.
>>
>> Best,
>
> Correct, just starting the container and shutting it down triggers the
> issue, lxc-start will never exit and you'll need to kill it.
>
> My test container didn't have anything special, it was a standard Ubuntu
> container running on a standard Ubuntu system.
>
> As I said, I also had a similar problem with a container having a
> pre-start hook which caused it not to start at all and that started
> working after the revert. Though I'm not entirely sure that this one
> wasn't caused by the hook returning non-zero.

The problem is that my patch is simply wrong. :)

We need to find a sane way to catch SIGCHLD between
lxc_spawn() and lxc_poll().

My patch installed a SIGCHLD handler but I oversaw that the executed hooks
will also produce a SIGCHLD. And if signal_handler(), installed by lxc_poll()
does not see the final SIGCHLD lxc-init my not exit at all.

The whole issue is much more complex than I thought.
Anyway, I'll sent a patch...

>> On Thu, Apr 18, 2013 at 1:36 PM, richard -rw- weinberger
>> <richard.weinberger at gmail.com <mailto:richard.weinberger at gmail.com>> wrote:
>>
>>     On Thu, Apr 18, 2013 at 10:32 AM, Stéphane Graber
>>     <stgraber at ubuntu.com <mailto:stgraber at ubuntu.com>> wrote:
>>     > This reverts commit 5a5c35c3a01afec515e688c8366e6f893985518d.
>>     >
>>     > This commit was preventing startup of containers using lxc hooks and
>>     > shutdown of all other containers, requiring the use of a good old
>>     > kill -9 to get rid of lxc-start after a container shutdown.
>>
>>     Please more details.
>>     What exactly does not work?
>>
>>     And why the hell didn't you CC me?
>>
>>     --
>>     Thanks,
>>     //richard
>>
>>     ------------------------------------------------------------------------------
>>     Precog is a next-generation analytics platform capable of advanced
>>     analytics on semi-structured data. The platform includes APIs for
>>     building
>>     apps and a phenomenal toolset for data science. Developers can use
>>     our toolset for easy data analysis & visualization. Get a free account!
>>     http://www2.precog.com/precogplatform/slashdotnewsletter
>>     _______________________________________________
>>     Lxc-devel mailing list
>>     Lxc-devel at lists.sourceforge.net <mailto:Lxc-devel at lists.sourceforge.net>
>>     https://lists.sourceforge.net/lists/listinfo/lxc-devel
>>
>>
>>
>>
>> --
>> S.Çağlar Onur <caglar at 10ur.org <mailto:caglar at 10ur.org>>
>
>
> --
> Stéphane Graber
> Ubuntu developer
> http://www.ubuntu.com
>
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel
>



--
Thanks,
//richard




More information about the lxc-devel mailing list