[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