[CRIU] [PATCH RESEND 0/4] Fix restore of tasks having zombie pgid

Andrei Vagin avagin at virtuozzo.com
Tue Jan 2 20:51:17 MSK 2018


Applied, thanks!

On Thu, Dec 28, 2017 at 01:50:29PM +0300, Kirill Tkhai wrote:
> (RESENDING because patchwork breaks on [4/4] commit message)
> 
> This problem originally was detected on Virtuozzo 7 criu package
> and is connected with tasks having zombie sid. For criu-dev
> it's actual for pgid inherited from a zombie.
> 
> The problem is a zombie may be choosen as parent for a task helper.
> Zombie does not expect its children may exit, and it's being blaimed
> by generic SIGCHLD handler in this case. See patch [3/4] for details.
> Also, there is a problem that prepare_fds() is not called for zombie
> for such cases. Zombie does not have open files, but it shares fdt
> with task helper and must do that just to increment fdt::fdt_lock.
> See patch [2/4] for details. Patch [4/4] contains the test.
> 
> https://travis-ci.org/tkhai/criu/builds/322479960
> 
> ---
> 
> Kirill Tkhai (4):
>       zdtm: Export sys_clone_unified() to headers
>       restore: Call prepare_fds() in restore_one_zombie()
>       restore: Split restore_one_helper() and wait exiting zombie children
>       zdtm: Add zombie01 test
> 
> 
>  criu/cr-restore.c              |   36 ++++++++++++------
>  test/zdtm/lib/zdtmtst.h        |    2 +
>  test/zdtm/static/Makefile      |    1 +
>  test/zdtm/static/zombie01.c    |   80 ++++++++++++++++++++++++++++++++++++++++
>  test/zdtm/static/zombie01.desc |    1 +
>  5 files changed, 107 insertions(+), 13 deletions(-)
>  create mode 100644 test/zdtm/static/zombie01.c
>  create mode 100644 test/zdtm/static/zombie01.desc
> 
> --
> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>


More information about the CRIU mailing list