[CRIU] criu + threaded program + TCP_REPAIR

Sowmini Varadhan sowmini.varadhan at oracle.com
Mon Oct 20 03:15:52 PDT 2014


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) . 
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

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




More information about the CRIU mailing list