[CRIU] criu + threaded program + TCP_REPAIR

Ruslan Kuprieiev kupruser at gmail.com
Mon Oct 20 03:55:29 PDT 2014


On 20.10.2014 13:15, Sowmini Varadhan wrote:
> On (10/20/14 11:28), Ruslan Kuprieiev wrote:
>> p.haul doesn't use service, but it uses standalone service worker
>> by running "criu swrk FD" command.
>> What does "which criu" show?
>>
> I did not install criu in the typical $PATH locations- I had
> it in ~/src/criu/criu
>
> root at vm:# ps -ef|grep criu
> root     31921     1  0 Oct18 ?        00:00:00 /home/sowmini/src/criu/criu service -v4 -o /tmp/criu.log --daemon
>
> so the problem is that p.haul was looking in $PATH for the
> criu exec, I guess (would be nice if either p.haul used
> a CRIU_EXEC  or criu provided a make install for that) .

Well, p.haul is meant to be used with installed criu.
You can easily install criu by running "make && make install".

> I copied criu over to  /usr/local/bin, and now the error is a
> bit different:
>
> root at sowmini-vm:~/src/p.haul# ./p.haul lxc iperfs 192.168.122.54
> Connecting to target host
> Setting up local
> `- Passing (ctl:5, data:4) pair to CRIU
> Loading config file from /var/lib/lxc/iperfs/config
> Initilized shared FS hauler
> Setting up remote
> Remote exception
> Traceback (most recent call last):
>    File "./p.haul", line 37, in <module>
>      worker = ph_iters.phaul_iter_worker(ph_type, dst)
>    File "/home/sowmini/src/p.haul/p_haul_iters.py", line 48, in __init__
>      self.th.setup(p_type)
>    File "/home/sowmini/src/p.haul/xem_rpc.py", line 37, in __call__
>      raise Exception(resp[1])
> Exception: [Errno 2] No such file or directory
> Error (cr-service.c:661): Can't recv request: Connection reset by peer

Looks like smth happened on the remote. Could you provide p.haul-service 
log too?
Btw, could you use "-v 4" cmdline option with p.haul?It will set maximum
verbosity for criu log.

> Must be that I'm missing some setup command, I'll check into
> it later and get back.
>
> But 2 more things that would be good to document:
> - put criu in $PATH
> - the $id is actually the name of the container (not the pid of
>    init) - eventually p.haul goes off and looks for config file
>    in /var/lib/lxc/$id/config
>
> --Sowmini

Thanks! Will send a patch soon.

>



More information about the CRIU mailing list