[CRIU] criu dump fails when using noxsave

Adrian Reber adrian at lisas.de
Wed Dec 14 14:07:24 PST 2016


I have two systems. One has the CPU feature xsave the other host
doesn't.

To migrate processes between these systems I specified the kernel
command-line 'noxsave' to disable the xsave option. With this kernel
command-line criu fails to dump with:

(00.013477) Dumping GP/FPU registers for 1167
(00.013480) Error (compel/arch/x86/src/lib/infect.c:181): Can't obtain FPU registers for 1167: No such device
(00.013491) Error (compel/src/lib/infect.c:677): Can't obtain regs for thread 1167
(00.013543) Error (criu/cr-dump.c:1267): Can't infect (pid: 1167) with parasite

Earlier in the log I see

(00.005897) cpu: fpu:1 fxsr:1 xsave:1

So, somehow the XSAVE detection is broken. Not really sure what is
happening. Looking at the kernel code it seems to correctly disable the
CPU feature. Booting the kernel without 'noxsave' I see:

[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340 using standard form

The message can no longer be seen when using 'noxsave', so something
inside the kernel recognizes the options but it seems criu does not
detect it correctly. I tried it with older and newer (4.8) kernels and
I always have the same problem.

		Adrian


More information about the CRIU mailing list