[CRIU] criu + threaded program + TCP_REPAIR

Ruslan Kuprieiev kupruser at gmail.com
Mon Oct 20 06:58:52 PDT 2014


On 20.10.2014 16:42, Sowmini Varadhan wrote:
> On (10/20/14 13:55), Ruslan Kuprieiev wrote:
>> Well, p.haul is meant to be used with installed criu.
>> You can easily install criu by running "make && make install".
>>
> But the criu documentation at http://criu.org/Installation#Linux_Kernel
> doesn't explicitly mention the install target :-)

Oops! Added http://criu.org/Installation#Installation . Thanks!

> anyway, that was easy enough to fix, once you pointed out the $PATH
> issue.
>> Looks like smth happened on the remote. Could you provide
>> p.haul-service log too?
> I had to fix a couple of pilot-errors first- needed to make install
> criu on the target-vm, and also set up a mirror image of the lxc config
> there (so that the p.haul service would find the criu needed lxc config).
>
> After that, I'm getting a bit further:
>
> the src ("client") reports
>
>      root at vm:~/src/p.haul# ./p.haul -v4 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
>      Checking CPU compatibility
>        `- Dumping CPU info
>        `- Sending CPU info
>        `- Checking CPU info
>      Preliminary FS migration
>      Starting iterations
>      * Iteration 0
>              Making directory /var/local/p.haul-fs/dmp-JUOEXm-14.10.20-09.34/img/1
>              Issuing pre-dump command to service
>      Traceback (most recent call last):
>        File "./p.haul", line 39, in <module>
>          worker.start_migration()
>        File "/home/sowmini/src/p.haul/p_haul_iters.py", line 122, in start_migration
>          raise Exception("Pre-dump failed")
>      Exception: Pre-dump failed
>   
> The criu-service log is not very interesting:
>
>      root at vm:~# cat /tmp/criu.log
>      (00.000087) The service socket is bound to /var/run/criu_service.socket
>      (00.000345) Waiting for connection...

As I mentioned before, p.haul doesn't use criu-service, but it uses
standalone service worker, so it's log is (judging from the log above)
/var/local/p.haul-fs/dmp-JUOEXm-14.10.20-09.34/criu_*.log (most likely
criu_pre_dump.0.log). Could you provide it too?

> On the p.haul-service, the error is
>      root at vm2:~/src/p.haul# `pwd`/p.haul-service -v4
>      Starting p.haul rpyc service
>      Connected
>      Data socket (datask) accepted
>      Setting up service side ('lxc', 'iperfs')
>      `- Passing (ctl:8, data:7) pair to CRIU
>      Loading config file from /var/lib/lxc/iperfs/config
>         :
>         :
>      Started images server
>      Waiting for images to unpack
>      Checking cpuinfo
>         `- True
>              Making directory /var/local/p.haul-fs/rst-J48TPi-14.10.20-09.34/img/1
>      Starting page server for iter 1
>              Sending criu rpc req
>              Page server started at 5353
>      Disconnected
>      Error (cr-service.c:661): Can't recv request: Connection reset by peer
>      Closing images
>      Keeping images
>      Images are kept in /var/local/p.haul-fs/rst-J48TPi-14.10.20-09.34
>
Yes, we need that /var/local/p.haul-fs/dmp-JUOEXm-14.10.20-09.34/criu_*.log
logs to figure out what is wrong.


More information about the CRIU mailing list