[CRIU] [PATCH] [RFC] criu: test different situations when parasite must cure itself

Pavel Emelyanov xemul at parallels.com
Mon Oct 20 08:03:43 PDT 2014


On 10/20/2014 09:43 AM, Andrew Vagin wrote:
> On Fri, Oct 17, 2014 at 05:21:54PM +0400, Pavel Emelyanov wrote:
>> On 10/15/2014 03:24 PM, Andrey Vagin wrote:
>>> Here is a simple fault-injection engine. Each fault has uniq code.
>>> One of this code can be set to the CRIU_FAULT environment variable.
>>> On the next run this code will be triggered.
>>> For each fault we need to have code which emulate a specified behaviour.
>>>
>>> This patch checks following cases:
>>> * a parasite socket was closed unexpectedly
>>> * How parasite handles unsupported command
>>> * something failed when a parasite daemon is rinning.
>>> * criu dies unexpectedly
>>>
>>> Fault-injection code is compiled only if make is executed with DEBUG=1.
>>>
>>> The following command can be used to check all existing fault cases:
>>> make -C test fault-injection
>>
>> We have a systemtap-based fault injection. Why is this version better?
> 
> It's much simpler.
> It tests more cases.

Questionable. With systemtap we could fail at any point of criu,
with this -- only where your code is placed.

> Systemtap requires kernel-debug and loading kernel modules.
> The systemtap version failed sometimes. I don't remember a reason, but
> it isn't about criu.

I see. I'm not extremely happy with 1 explicit failure point. Can we
come up with some more generic failure-injection rather than a single
arbitrary chosen point? CRIU can crash at any place (in theory).


More information about the CRIU mailing list