[CRIU] test/others/rpc test cases

Andrei Vagin avagin at virtuozzo.com
Wed May 23 09:34:09 MSK 2018


On Wed, May 16, 2018 at 05:52:13PM +0200, Adrian Reber wrote:
> Hello Andrei,
> 
> we quickly chatted about the tests in test/others/rpc and I had a look
> at it.
> 
> One test (errno.py) dumps itself, keeps on running and tries to restore
> itself. This should (and does fail) as the PID is already in use by the
> test case. The test case wants to to test the error handling of 'criu
> service'. But CRIU just kills all processes which it failed to restore
> in criu/cr-restore.c (around line 2240 : kill(vpid(pi), SIGKILL);).

If criu restore failed, criu has to kill only processes which was
created by it. It doesn't have to kill any other processes. If it does,
it is a very serious bug.

> 
> As the test case is killed by CRIU it counts as a failure. I guess this
> used to work at some point in time, but with 3.8.1 it does not.
> 
> I am not sure what the right solution is. Should CRIU kill a process if
> restore fails, probably to make sure that no half restored process still
> exists. Maybe the test case does not make sense anymore...
> 
> Do you have any thoughts on this? Is this a CRIU bug or a wrong test case?
> 
> 		Adrian


More information about the CRIU mailing list