<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi, thanks for your replies.<br>
<br>
I have attempted to dump/checkpoint the following programs in Linux Mint 19 Matte:<br>
Calculator, XED text pad, Firefox latest version, TuxPuck pong game. <br>
All those were simply &quot;test runs&quot;, as my target is to run a windows game application through Wine,
<br>
or even an Emulator like Citra. Either way, single player, non online games/apps.<br>
<br>
I'm using CRIU 3.6-2.<br>
<br>
Since Radostin suggested running the application with a container like docker, I have been researching that approach. There seems to be a bug in the current Docker version, that breaks CRIU checkpoint ability.<br>
This is based on the following article. There the author describes a workaround by installing an old version of Docker; sadly I'm still waiting a reply, because I can not reproduce the steps he describes.<br>
<a href="https://technology.amis.nl/2018/04/08/first-steps-with-docker-checkpoint-to-create-and-restore-snapshots-of-running-containers/#comment-9763" id="LPNoLP959569">https://technology.amis.nl/2018/04/08/first-steps-with-docker-checkpoint-to-create-and-restore-snapshots-of-running-containers/#comment-9763</a><br>
<br>
<br>
Other sources I've been researching are:<br>
<a href="https://github.com/martynjarvis/wine-nvidia-base" id="LPNoLP584312">https://github.com/martynjarvis/wine-nvidia-base<br>
</a><br>
<a href="https://marmelab.com/blog/2018/03/21/using-nvidia-gpu-within-docker-container.html" id="LPlnk855960">https://marmelab.com/blog/2018/03/21/using-nvidia-gpu-within-docker-container.html<br>
</a><br>
<a href="https://github.com/NVIDIA/nvidia-docker" id="LPNoLP735137">https://github.com/NVIDIA/nvidia-docker<br>
<br>
<br>
<b><span style="font-family: calibri, helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">I went with the Docker approach because vnc seemed a bit more complicated. Is the Docker approach non viable? Is VNC the
 only alternative?</span></b><br>
<font size="2"><span style="font-size:11pt;"></span></font></a><br>
<br>
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Adrian Reber &lt;adrian@lisas.de&gt;<br>
<b>Sent:</b> Tuesday, August 21, 2018 5:50 AM<br>
<b>To:</b> Jose Atiles<br>
<b>Cc:</b> criu@openvz.org<br>
<b>Subject:</b> Re: [CRIU] Help dumping and restoring a process</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On Sat, Aug 18, 2018 at 02:32:03AM &#43;0000, Jose Atiles wrote:<br>
&gt; Hi, I'm interested in using criu to do debugging in games, saving a checkpoint to recreate bugs. Also to provide saving to games who do not have this feature.<br>
&gt; My end target is saving a game that is being executed with wine. I'm currently using Linux mint 19 Mate 19.<br>
&gt; <br>
&gt; I have tried to dump a process but have failed.<br>
&gt; Also, criu check --extra says Looks good.<br>
&gt; <br>
&gt; I did a small test trying to checkpoint a calculator, a text editor and Firefox, but none seem to work. Can you provide me some usage examples? can you tell me one basic type of application which I could use to test CRIU?<br>
<br>
Like Radostin said, you cannot checkpoint applications which are using<br>
the GUI without running in VNC. Which makes it pretty unusable for<br>
games. If the game would be two parts, one server without GUI and a<br>
'dumb' GUI you could checkpoint the server. But I doubt any single<br>
player game is written&nbsp; like that.<br>
<br>
&gt; The following is my log file, please help me!<br>
&gt; <br>
&gt; ies@mint:~$ sudo su<br>
&gt; [sudo] password for aries:<br>
&gt; root@mint:/home/aries# criu dump -D checkpoint -t 7909<br>
&gt; Warn&nbsp; (criu/kerndat.c:659): Can't load /run/criu.kdat<br>
&gt; Error (criu/image.c:416): Can't open dir checkpoint: No such file or directory<br>
<br>
That is easy. The destination directory does not exist.<br>
<br>
&gt; root@mint:/home/aries# criu dump -D /home/aries/Documents/test -t 7909<br>
&gt; Error (criu/namespaces.c:408): Can't dump nested net namespace for 8026<br>
&gt; Error (criu/namespaces.c:626): Can't make netns id<br>
&gt; Error (criu/cr-dump.c:1709): Dumping FAILED.<br>
&gt; root@mint:/home/aries# criu dump -D &quot;/home/aries/Documents/test&quot; -t 7909<br>
&gt; Error (criu/namespaces.c:408): Can't dump nested net namespace for 8026<br>
&gt; Error (criu/namespaces.c:626): Can't make netns id<br>
&gt; Error (criu/cr-dump.c:1709): Dumping FAILED.<br>
&gt; root@mint:/home/aries# criu dump -D /home/aries/Documents/test -t 7909<br>
&gt; Error (criu/namespaces.c:408): Can't dump nested net namespace for 8026<br>
&gt; Error (criu/namespaces.c:626): Can't make netns id<br>
&gt; Error (criu/cr-dump.c:1709): Dumping FAILED.<br>
&gt; root@mint:/home/aries# criu dump -D /home/aries/Documents/test -t 17604<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17604 with interrupted system call<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17608 with interrupted system call<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17609 with interrupted system call<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17610 with interrupted system call<br>
&gt; Error (criu/cr-dump.c:431): Task 17604 with SysVIPC shmem map @7fb97f613000 doesn't live in IPC ns<br>
&gt; Error (criu/cr-dump.c:1411): Dump mappings (pid: 17604) failed with -1<br>
&gt; Error (criu/cr-dump.c:1709): Dumping FAILED.<br>
<br>
All those attempts failed. Would be interesting to know what you are<br>
trying to dump. You also need to have all processes involved in IPC<br>
communication be part of the checkpoint. Namespaces are an easy way to<br>
solve this.<br>
<br>
&gt; root@mint:/home/aries# criu restore -d&nbsp; -D /home/aries/Documents/test<br>
&gt; Error (criu/util.c:596): Can't read link of fd -404: No such file or directory<br>
&gt; Error (criu/protobuf.c:75): Unexpected EOF on (null)<br>
<br>
All your attempts to restore a process make no sense as all checkpoint<br>
attempts failed.<br>
<br>
[...]<br>
<br>
&gt; root@mint:/home/aries# criu dump -D ./home/aries/Documents/test -t 17604<br>
&gt; Error (criu/image.c:416): Can't open dir ./home/aries/Documents/test: No such file or directory<br>
<br>
This is just wrong usage of a directory path.<br>
<br>
&gt; root@mint:/home/aries# cd /home/aries/Documents/test<br>
&gt; root@mint:/home/aries/Documents/test# criu dump -D /home/aries/Documents/test -t 17604<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17604 with interrupted system call<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17608 with interrupted system call<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17609 with interrupted system call<br>
&gt; Warn&nbsp; (compel/arch/x86/src/lib/infect.c:249): Will restore 17610 with interrupted system call<br>
&gt; Error (criu/cr-dump.c:431): Task 17604 with SysVIPC shmem map @7fb97f613000 doesn't live in IPC ns<br>
&gt; Error (criu/cr-dump.c:1411): Dump mappings (pid: 17604) failed with -1<br>
&gt; Error (criu/cr-dump.c:1709): Dumping FAILED.<br>
&gt; root@mint:/home/aries/Documents/test# criu check --extra<br>
&gt; Looks good.<br>
&gt; root@mint:/home/aries/Documents/test# test/zdtm.py run -a<br>
&gt; bash: test/zdtm.py: No such file or directory<br>
&gt; root@mint:/home/aries/Documents/test# cd ..<br>
&gt; root@mint:/home/aries/Documents# cd ..<br>
&gt; root@mint:/home/aries# cd ..<br>
&gt; root@mint:/home# cd ..<br>
&gt; root@mint:/# test/zdtm.py run -a<br>
&gt; bash: test/zdtm.py: No such file or directory<br>
&gt; root@mint:/# cd home<br>
&gt; root@mint:/home# test/zdtm.py run -a<br>
&gt; bash: test/zdtm.py: No such file or directory<br>
&gt; root@mint:/home# cd aries<br>
&gt; root@mint:/home/aries# test/zdtm.py run -a<br>
&gt; bash: test/zdtm.py: No such file or directory<br>
<br>
Running zdtm also seems wrong unless you have installed CRIU from<br>
source.<br>
<br>
Please provide more details about the used CRIU version and the programs<br>
you are trying to checkpoint.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adrian<br>
</div>
</span></font></div>
</body>
</html>