[CRIU] [PATCH v2] rework criu check logic

Pavel Emelyanov xemul at virtuozzo.com
Tue Mar 15 01:58:55 PDT 2016


On 03/15/2016 02:33 AM, Filipe Brandenburger wrote:
> Hi,
> 
> On Mon, Mar 14, 2016 at 4:14 PM, Saied Kazemi <saied at google.com> wrote:
>> Yes, there's definitely a bug.  Filipe was suggesting that perhaps the
>> prctl() calls are failing not due to lack of support in the kernel but due
>> to some other error (e.g., passing wrong parameters).
> 
> Yes. In fact Pavel included this change of brk -> sbrk which fixes
> this issue on that specific line that was failing for us...
> 
>> This causes "criu check" to think the old API is not supported but in reality
>> it is and that's why c/r works.
>>
>> Below  is a complete log showing all your patches applied.  Hope this helps!
> 
>> $ sudo ./criu/criu check --ms
>> Warn  (cr-check.c:195): Skipping unssuported PR_SET_MM_MAP

Here it is -- the prctl checks all pass :) The warning here should not be a
warning, I would say, it just says, that we don't care that SET_MM_MAP doesn't
work and go ahead to check for older prctls.

>> Error (cr-check.c:629): Kernel doesn't support PTRACE_O_SUSPEND_SECCOMP

This is seccomp suspend API that should go to category 2 (optional)

>> Error (cr-check.c:673): Dumping seccomp filters not supported: Input/output
>> error

Same here

>> Error (timerfd.c:55): timerfd: No timerfd support for c/r: Inappropriate
>> ioctl for device

And here

>> Error (cr-check.c:307): fdinfo doesn't contain the mnt_id field

And actually here, though todays containers _typicaly_ create more than one mntns :(
However, this doesn't block C/R of simple ones, so I'd still put this into category 2.

>> Warn  (cr-check.c:773): Skipping unsupported AIO remap

Same here

>> Warn  (cr-check.c:789): fdinfo doesn't contain the lock field

Ditto

>> Warn  (cr-check.c:827): Skipping cgroup namespaces check

And that's it.

So, from what I see your previous patch that splits all the checks into two cats,
plus Filipe's fix (merged) plus my fix for brk/sbrk plus keeping all the prctls
checks in category 1 should make us good criu check action.

>> $ echo $?
>> 1
> 
> I see the same here, unsurprisingly since both Saied and I are testing
> the same Ubuntu Trusty based on 3.13 kernel.
> 
> I haven't gone back to the code to see which of those "Error"s
> (ptrace/seccomp, seccomp filters, timerfd, mnt_id field) is causing
> "criu check --ms" to fail, even though C/R seems to work alright on
> this O.S... Shouldn't be too hard to trace it down.
> 
> Cheers,
> Filipe
> .
> 



More information about the CRIU mailing list