[CRIU] unclear CRIU and docker problems

Adrian Reber adrian at lisas.de
Tue Jun 30 01:45:15 PDT 2015


On Tue, Jun 30, 2015 at 11:41:51AM +0300, Cyrill Gorcunov wrote:
> On Tue, Jun 30, 2015 at 10:32:49AM +0200, Adrian Reber wrote:
> > So I am trying Ross Boucher's docker branch to checkpoint/restore docker
> > containers and I can successfully checkpoint a container. If I try to
> > restore a container CRIU exists pretty early with following error:
> > 
> > (00.002935) Warn  (cr-restore.c:1029): Set CLONE_PARENT | CLONE_NEWPID but it might cause restore problem,because not all kernels support such clone flags combinations!
> > (00.002938) Forking task with 1 pid (flags 0x6c028000)
> > (00.002952) Saved netns fd for links restore
> > (00.002962) Error (cr-restore.c:1134): Can't fork for 1: Invalid argument
> > 
> > I am not sure if I read the log correctly but it sounds like it wants to
> > restore the process with the PID 1, which does sound wrong. Any ideas
> > where I should look for further errors.
> > 
> > This is with CRIU 1.6 on an older kernel with backports. Could also be
> > that some kernel changes are missing on my side.
> 
> I guess this is a because of CLONE_PARENT | CLONE_NEWPID. Do you have pid
> namespace support compied into the kernel? What "criu check" shows?

I have to check for pid namespace support. But criu check only complains
about memory tracking (which is not available):

# criu check
Warn  (mem.c:52): Can't reset 18563's dirty memory tracker (22)
Warn  (cr-check.c:581): Dirty tracking is OFF. Memory snapshot will not work.
Looks good.

I can checkpoint/restore/migrate processes outside of the container but
I will try to look if and what is missing with PID namespaces.

		Adrian


More information about the CRIU mailing list