[CRIU] Bad commit

Cyrill Gorcunov gorcunov at gmail.com
Thu Aug 14 05:18:16 PDT 2014


On Thu, Aug 14, 2014 at 04:16:04PM +0400, Cyrill Gorcunov wrote:
> Guys, commit
> 
> [root at pcs criu]# git bisect good
> e301b1d56c5c56155c68fa2f6ef4f5a716d0217b is the first bad commit
> commit e301b1d56c5c56155c68fa2f6ef4f5a716d0217b
> Author: Tycho Andersen <tycho.andersen at canonical.com>
> Date:   Wed Aug 13 21:23:00 2014 +0400
> 
>     restore: --restore-detached implies CLONE_PARENT
>     
>     We need to use CLONE_PARENT to prevent processes from immediately dying due to
>     pdeath_sig when they are restored in detached mode.
>     
>     [ xemul: One more place which requires check for restore-detach
>              is in sigactions preparation ]
>     
>     Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
>     Signed-off-by: Pavel Emelyanov <xemul at parallels.com>
> 
> ruined my restore process for the container :(
> 
> (00.039241) Error (cr-restore.c:1006): Can't fork for 1: Invalid argument

It's because of

copy_process
	...
	/*
	 * Siblings of global init remain as zombies on exit since they are
	 * not reaped by their parent (swapper). To solve this and to avoid
	 * multi-rooted process trees, prevent global and container-inits
	 * from creating siblings.
	 */
	if ((clone_flags & CLONE_PARENT) &&
				current->signal->flags & SIGNAL_UNKILLABLE)
		return ERR_PTR(-EINVAL);

I think the commit should be reverted.


More information about the CRIU mailing list