<div dir="ltr">Hi Alexandre,<div><br></div><div>Thanks for contacting us about this issue.</div><div><br></div><div>We haven't tried DMTCP with LXC earlier so we can't be sure about the situation. However, I guess you are seeing these warnings because /proc/self/maps is listing those files with absolute paths. Can you verify this by looking at /proc/self/maps of a process running inside the container?</div>
<div><br></div><div>In any case, was DMTCP able to generate checkpoint images? Also, what is a good way to figure out whether a process is running inside a container? Also, is there a way to translate between absolute and _fake_ paths?</div>
<div><br></div><div>We might need to write a small DMTCP plugin for LXC to takes care of this.<br></div><div><br></div><div>Kapil</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Oct 5, 2013 at 4:31 PM, Alexandre Gravier <span dir="ltr"><<a href="mailto:al.gravier@gmail.com" target="_blank">al.gravier@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I'm trying to use DMTCP to save my user sessions on an online service<br>
that offers LXC virtual machines. The service shutdowns the container<br>
after 15 minutes of inactivity on my side, and I would like to be able<br>
to save my tmux session and all related processes to disk before that<br>
happens.<br>
<br>
So, I've compiled DMTCP 2.0, and 40 out of 45 tests pass*. I figured<br>
that I may try to do something simple first, so I launch the<br>
coordinator in a terminal, and `bin/dmtcp_launch cat` in another. The<br>
coordinator notes that "NOTE at dmtcp_coordinator.cpp:1039 in<br>
onConnect; REASON='worker connected'". It all seems fine, and the<br>
clients list contains my cat.<br>
<br>
The problem comes when I actually make a checkpoint using 'c' in the<br>
coordinator. The coordinator goes through what seems to be a<br>
reasonable list of stages, from "starting checkpoint, suspending all<br>
nodes" to "restarting all nodes", but in the terminal where the<br>
dmtcp-monitored "cat" is running, there is an avalanche of errors that<br>
all look like:<br>
<br>
[11795] mtcp_writeckpt.c:718 write_ckpt_to_file:<br>
ERROR: error statting<br>
/var/lib/lxc/vm-524f2a6f88716f1d3800785a/overlay/home/agravier/dmtcp-2.0/plugin/ipc/libdmtcp_ipc.so<br>
: No such file or directory<br>
[11795] mtcp_writeckpt.c:718 write_ckpt_to_file:<br>
ERROR: error statting<br>
/var/lib/lxc/rootfs/lib/x86_64-linux-gnu/<a href="http://ld-2.17.so" target="_blank">ld-2.17.so</a> : No such file or<br>
directory<br>
<br>
And there are dozens of those.<br>
<br>
Visibly, mtcp is looking for files using their absolute path *outside*<br>
of the LXC container, which, of course, does not correspond to their<br>
paths inside of it.<br>
<br>
I would like to understand how LXC chroots in a way that still allows<br>
MTCP to get hold of the original filepaths. Why does MTCP get confused<br>
when other applications don't? Or rather, why it doesn't get confused<br>
by LXC :) ?<br>
<br>
Is there is anything that I might do about all that?<br>
<br>
Thanks and regards,<br>
Alexandre<br>
<br>
<br>
* Failing tests: shared-memory (rstr), pty2, bash (rstr), script, screen.<br>
<br>
------------------------------------------------------------------------------<br>
October Webinars: Code for Performance<br>
Free Intel webinars can help you accelerate application performance.<br>
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from<br>
the latest Intel processors and coprocessors. See abstracts and register ><br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk</a><br>
_______________________________________________<br>
Dmtcp-forum mailing list<br>
<a href="mailto:Dmtcp-forum@lists.sourceforge.net" target="_blank">Dmtcp-forum@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/dmtcp-forum" target="_blank">https://lists.sourceforge.net/lists/listinfo/dmtcp-forum</a><br>
</blockquote></div><br></div></div>