<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Sorry for the late reply. I appreciate your response, I'm not familiar with podman (took a quick peek on what it is, seems interesting).</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I've no time to further chase this, but I'll keep your advice in mind tho'. I'll respond to this thread if I ever figure out the problem :)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Best,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Robert </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 11, 2020 at 5:51 PM Adrian Reber <<a href="mailto:adrian@lisas.de">adrian@lisas.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sat, Mar 07, 2020 at 10:27:07PM +0100, Róbert Kohányi wrote:<br>
> I'm doing a C/R of a Docker container running a NodeJS app making network<br>
> calls (like this: <a href="https://criu.org/Docker_External" rel="noreferrer" target="_blank">https://criu.org/Docker_External</a> - I know it's<br>
> discouraged, please read on).<br>
> <br>
> I can successfully dump the process running in the container (the container<br>
> is stopped after this) and (seemingly) I can restore the process<br>
> successfully too (criu reports it that it was successful).<br>
> <br>
> When the restore is finished the process is started, but it exits/dies<br>
> immediately for some reason. I can see this because I log to file from the<br>
> NodeJS process itself and logging continue after the process gets restored<br>
> (I also listen for an 'exit' event on the NodeJS process and it exists with<br>
> code 1).<br>
> <br>
> What could be the problem? I can see that there's an Error message in the<br>
> restore.log (I've attached the dump and restore logs), but I can't make<br>
> sense of it, unfortunately. ("Error (criu/net.c:1241): Unknown peer net<br>
> namespace")<br>
> <br>
> I can do the same thing with docker checkpoint and docker start<br>
> --checkpoint and it works flawlessly. I do all of this in a virtual<br>
> environment, running Ubuntu 18.04 LTS (this box<br>
> <<a href="https://app.vagrantup.com/ubuntu/boxes/bionic64" rel="noreferrer" target="_blank">https://app.vagrantup.com/ubuntu/boxes/bionic64</a>>). Docker version<br>
> 19.03.7, CRIU 3.13.<br>
> <br>
> Thanks for any input.<br>
<br>
That is an interesting problem. As it works with docker I guess you are<br>
not restoring something correctly which NodeJS relies on. Or checks<br>
during runtime. I would try to start docker with the host network<br>
namespace (if that is possible, --net=host in Podman) and then do an<br>
external checkpoint. If you restore it, it would be restored in the host<br>
network namespace. But that is just a guess. You could probably try to<br>
turn of as many namespaces as possible to see if you can do an external<br>
checkpoint and restore.<br>
<br>
Adrian<br>
</blockquote></div>