I should add that these "forwarded signal 2" lines are due to me pressing Ctrl+C and are not actually relevant.
Have you been able to repro this bug on kernel 3.8.6? I'm thinking how to fix this as lxc_spawn is what gets the pid which is needed by lxc_poll to listen for SIGCHLD from the correct pid, but lxc_poll should logically go before lxc_spawn to avoid this race. How about starting lxc_poll first in a queueing mode, so it just accumulates the signals but doesn't process them yet? When "handler->pid = lxc_clone(do_start, handler, handler->clone_flags);" returns, notify lxc_poll of the pid, thus it should now have all the info it needs, switching it out of queueing mode and initiating a loop to process the queued events now that the pid is known. -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to lxc in Ubuntu. https://bugs.launchpad.net/bugs/1168526 Title: race condition causing lxc to not detect container init process exit To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1168526/+subscriptions -- Ubuntu-server-bugs mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs
