<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-10-30 12:52 GMT+03:00 Pavel Emelyanov <span dir="ltr">&lt;<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On 10/30/2015 12:38 PM, Artem Kuzmitskiy wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I checked criu on armv7 with 3.16 kernel and got next error when restoring:<br>
&gt; ....<br>
&gt; (00.087176)   6034: task_args: 0xd6000<br>
&gt; task_args-&gt;pid: 6034<br>
&gt; task_args-&gt;nr_threads: 1<br>
&gt; task_args-&gt;clone_restore_fn: 0xd1c90<br>
&gt; task_args-&gt;thread_args: 0xd62c0<br>
&gt; pie: Switched to the restorer 6034<br>
&gt; pie: Error (pie/restorer.c:772): Unable to unmap (-): 1992687616<br>
<br>
</span>Ouch, the pie logging is ... not complete :) Can you strace the restoring<br>
to see what&#39;s going on with this syscall?<br></blockquote><div> <br>Strace log (command -strace criu restore -d -D images -o restore.log -v4 --shell-job -t 11758)<br><br>execve(&quot;/usr/sbin/criu&quot;, [&quot;criu&quot;, &quot;restore&quot;, &quot;-d&quot;, &quot;-D&quot;, &quot;images&quot;, &quot;-o&quot;, &quot;restore.log&quot;, &quot;-v4&quot;, &quot;--shell-job&quot;, &quot;-t&quot;, &quot;11758&quot;], [/* 18 vars */]) = 0<br>brk(0)                                  = 0xb8000<br>uname({sys=&quot;Linux&quot;, node=&quot;board&quot;, ...}) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f2c000<br>access(&quot;/etc/ld.so.preload&quot;, R_OK)      = 0<br>open(&quot;/etc/ld.so.preload&quot;, O_RDONLY|O_CLOEXEC) = 3<br>fstat64(3, {st_mode=S_IFREG|0644, st_size=20, ...}) = 0<br>mmap2(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x76f2b000<br>close(3)                                = 0<br>open(&quot;/lib/libSegFault.so&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\274\v\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=11112, ...}) = 0<br>mmap2(NULL, 42988, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76efc000<br>mprotect(0x76eff000, 28672, PROT_NONE)  = 0<br>mmap2(0x76f06000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0x76f06000<br>close(3)                                = 0<br>munmap(0x76f2b000, 20)                  = 0<br>open(&quot;/etc/ld.so.cache&quot;, O_RDONLY|O_CLOEXEC) = 3<br>fstat64(3, {st_mode=S_IFREG|0644, st_size=37561, ...}) = 0<br>mmap2(NULL, 37561, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76ef2000<br>close(3)                                = 0<br>open(&quot;/lib/librt.so.1&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\30\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=40466, ...}) = 0<br>mmap2(NULL, 57916, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76ee3000<br>mprotect(0x76ee9000, 28672, PROT_NONE)  = 0<br>mmap2(0x76ef0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5) = 0x76ef0000<br>close(3)                                = 0<br>open(&quot;/lib/libpthread.so.0&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\360X\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=136266, ...}) = 0<br>mmap2(NULL, 127548, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76ec3000<br>mprotect(0x76ed8000, 28672, PROT_NONE)  = 0<br>mmap2(0x76edf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0x76edf000<br>mmap2(0x76ee1000, 4668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76ee1000<br>close(3)                                = 0<br>open(&quot;/usr/lib/libprotobuf-c.so.1&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0l\n\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=20608, ...}) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f2b000<br>mmap2(NULL, 51908, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76eb6000<br>mprotect(0x76ebb000, 28672, PROT_NONE)  = 0<br>mmap2(0x76ec2000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0x76ec2000<br>close(3)                                = 0<br>open(&quot;/lib/libdl.so.2&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\374\n\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=53152, ...}) = 0<br>mmap2(NULL, 49372, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76ea9000<br>mprotect(0x76ead000, 28672, PROT_NONE)  = 0<br>mmap2(0x76eb4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0x76eb4000<br>close(3)                                = 0<br>open(&quot;/lib/libgcc_s.so.1&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0x\321\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0644, st_size=1453584, ...}) = 0<br>mmap2(NULL, 150892, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76e84000<br>mprotect(0x76ea1000, 28672, PROT_NONE)  = 0<br>mmap2(0x76ea8000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c) = 0x76ea8000<br>close(3)                                = 0<br>open(&quot;/lib/tls/v7l/neon/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/v7l/neon/vfp&quot;, 0x7eefc328) = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/v7l/neon/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/v7l/neon&quot;, 0x7eefc328) = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/v7l/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/v7l/vfp&quot;, 0x7eefc328)  = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/v7l/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/v7l&quot;, 0x7eefc328)      = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/neon/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/neon/vfp&quot;, 0x7eefc328) = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/neon/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/neon&quot;, 0x7eefc328)     = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls/vfp&quot;, 0x7eefc328)      = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/tls/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/tls&quot;, 0x7eefc328)          = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/v7l/neon/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/v7l/neon/vfp&quot;, 0x7eefc328) = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/v7l/neon/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/v7l/neon&quot;, 0x7eefc328)     = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/v7l/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/v7l/vfp&quot;, 0x7eefc328)      = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/v7l/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/v7l&quot;, 0x7eefc328)          = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/neon/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/neon/vfp&quot;, 0x7eefc328)     = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/neon/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/neon&quot;, 0x7eefc328)         = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/vfp/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)<br>stat64(&quot;/lib/vfp&quot;, 0x7eefc328)          = -1 ENOENT (No such file or directory)<br>open(&quot;/lib/libc.so.6&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\30\204\1\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=1584080, ...}) = 0<br>mmap2(NULL, 1271184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76d4d000<br>mprotect(0x76e76000, 32768, PROT_NONE)  = 0<br>mmap2(0x76e7e000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x129) = 0x76e7e000<br>mmap2(0x76e81000, 9616, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76e81000<br>close(3)                                = 0<br>open(&quot;/usr/lib/libunwind-arm.so.8&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\204\25\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=47800, ...}) = 0<br>mmap2(NULL, 232320, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76d14000<br>mprotect(0x76d1f000, 32768, PROT_NONE)  = 0<br>mmap2(0x76d27000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb) = 0x76d27000<br>mmap2(0x76d28000, 150400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76d28000<br>close(3)                                = 0<br>open(&quot;/usr/lib/libunwind.so.8&quot;, O_RDONLY|O_CLOEXEC) = 3<br>read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0p\26\0\0004\0\0\0&quot;..., 512) = 512<br>fstat64(3, {st_mode=S_IFREG|0755, st_size=31400, ...}) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f2a000<br>mmap2(NULL, 215952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76cdf000<br>mprotect(0x76ce6000, 32768, PROT_NONE)  = 0<br>mmap2(0x76cee000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7) = 0x76cee000<br>mmap2(0x76cef000, 150416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76cef000<br>close(3)                                = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f29000<br>set_tls(0x76f294c0, 0x76f29ba8, 0x76f2f050, 0x76f294c0, 0x76f2f050) = 0<br>mprotect(0x76e7e000, 8192, PROT_READ)   = 0<br>mprotect(0x76eb4000, 4096, PROT_READ)   = 0<br>mprotect(0x76edf000, 4096, PROT_READ)   = 0<br>mprotect(0x76ef0000, 4096, PROT_READ)   = 0<br>mprotect(0x76f2e000, 4096, PROT_READ)   = 0<br>munmap(0x76ef2000, 37561)               = 0<br>set_tid_address(0x76f29068)             = 12387<br>set_robust_list(0x76f29070, 0xc)        = 0<br>rt_sigaction(SIGRTMIN, {0x76ec83b0, [], SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigaction(SIGRT_1, {0x76ec825c, [], SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0<br>getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0<br>mmap2(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76bde000<br>sigaltstack({ss_sp=0x76bde008, ss_flags=0, ss_size=1048576}, NULL) = 0<br>rt_sigaction(SIGSEGV, {0x76efd3b9, [ILL ABRT BUS FPE SEGV TERM STKFLT], SA_STACK|SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigaction(SIGILL, {0x76efd3b9, [ILL ABRT BUS FPE SEGV TERM STKFLT], SA_STACK|SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigaction(SIGABRT, {0x76efd3b9, [ILL ABRT BUS FPE SEGV TERM STKFLT], SA_STACK|SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigaction(SIGFPE, {0x76efd3b9, [ILL ABRT BUS FPE SEGV TERM STKFLT], SA_STACK|SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigaction(SIGBUS, {0x76efd3b9, [ILL ABRT BUS FPE SEGV TERM STKFLT], SA_STACK|SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>rt_sigaction(SIGSTKFLT, {0x76efd3b9, [ILL ABRT BUS FPE SEGV TERM STKFLT], SA_STACK|SA_RESTART|SA_SIGINFO|0x4000000}, NULL, 8) = 0<br>getuid32()                              = 0<br>getgid32()                              = 0<br>prlimit64(0, 0x7, 0, 0x7eefcb48)        = 0<br>open(&quot;images&quot;, O_RDONLY|O_LARGEFILE)    = 3<br>dup3(3, 1022, O_CLOEXEC)                = 1022<br>close(3)                                = 0<br>chdir(&quot;images&quot;)                         = 0<br>gettimeofday({1446209107, 383183}, NULL) = 0<br>open(&quot;restore.log&quot;, O_WRONLY|O_CREAT|O_TRUNC|O_APPEND|O_LARGEFILE, 0600) = 3<br>dup3(3, 1023, O_CLOEXEC)                = 1023<br>close(3)                                = 0<br>gettimeofday({1446209107, 384146}, NULL) = 0<br>write(1023, &quot;(00.000963) Warn  (crtools.c:619&quot;..., 75) = 75<br>access(&quot;/var/lib/criu/&quot;, F_OK)          = -1 ENOENT (No such file or directory)<br>brk(0)                                  = 0xb8000<br>brk(0xd9000)                            = 0xd9000<br>openat(1022, &quot;inventory.img&quot;, O_RDONLY|O_LARGEFILE) = 3<br>mmap2(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76bce000<br>read(3, &quot;\02611X\36\0\0\0\10\2\20\1\32\24\10\1\20\1\30\1 \1(\0010\0028\3@\4H\5&quot;..., 4096) = 38<br>close(3)                                = 0<br>mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, 0, 0) = 0x76f27000<br>open(&quot;/proc/sys&quot;, O_RDONLY|O_LARGEFILE) = 3<br>openat(3, &quot;net/ipv4/tcp_rmem&quot;, O_RDONLY|O_LARGEFILE) = 4<br>read(4, &quot;4096\t87380\t6291456\n&quot;, 1024) = 19<br>close(4)                                = 0<br>close(3)                                = 0<br>gettimeofday({1446209107, 389068}, NULL) = 0<br>write(1023, &quot;(00.005885) TCP recv queue memor&quot;..., 49) = 49<br>open(&quot;/proc/sys&quot;, O_RDONLY|O_LARGEFILE) = 3<br>openat(3, &quot;kernel/cap_last_cap&quot;, O_RDONLY|O_LARGEFILE) = 4<br>read(4, &quot;37\n&quot;, 1024)                   = 3<br>close(4)                                = 0<br>close(3)                                = 0<br>SYS_385(0, 0, 0x7eefc684, 0, 0xa6658)   = -1 ENOSYS (Function not implemented)<br>gettimeofday({1446209107, 391484}, NULL) = 0<br>write(1023, &quot;(00.008301) Found task size of b&quot;..., 40) = 40<br>access(&quot;/sys/kernel/security/apparmor&quot;, F_OK) = -1 ENOENT (No such file or directory)<br>gettimeofday({1446209107, 392535}, NULL) = 0<br>mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, 0, 0) = 0x76efa000<br>gettimeofday({1446209107, 393139}, NULL) = 0<br>write(1023, &quot;(00.009956) Reading image tree\n&quot;, 31) = 31<br>openat(1022, &quot;pstree.img&quot;, O_RDONLY|O_LARGEFILE) = 3<br>read(3, &quot;\31CVT00&#39;P\16\0\0\0\10\356[\20\0\30\356[ \3579(\356[&quot;, 4096) = 26<br>openat(1022, &quot;ids-11758.img&quot;, O_RDONLY|O_LARGEFILE) = 4<br>read(4, &quot;\31CVT0 CT\24\0\0\0\10\2\20\2\30\2 \2(\0010\0028\3@\4H\5P\6&quot;, 4096) = 32<br>close(4)                                = 0<br>gettimeofday({1446209107, 395177}, NULL) = 0<br>write(1023, &quot;(00.011994) Add mnt ns 5 pid 117&quot;..., 35) = 35<br>read(3, &quot;&quot;, 4096)                       = 0<br>close(3)                                = 0<br>getsid(12387)                           = 9043<br>getpgid(0x3063)                         = 12386<br>gettimeofday({1446209107, 396839}, NULL) = 0<br>write(1023, &quot;(00.013656) Migrating process tr&quot;..., 69) = 69<br>gettimeofday({1446209107, 397401}, NULL) = 0<br>write(1023, &quot;(00.014218) Will restore in 0 na&quot;..., 41) = 41<br>gettimeofday({1446209107, 397866}, NULL) = 0<br>write(1023, &quot;(00.014683) NS mask to use 0\n&quot;, 29) = 29<br>getpgid(0x3063)                         = 12386<br>gettimeofday({1446209107, 398571}, NULL) = 0<br>write(1023, &quot;(00.015388) Collecting 36/18 (fl&quot;..., 39) = 39<br>openat(1022, &quot;reg-files.img&quot;, O_RDONLY|O_LARGEFILE) = 3<br>read(3, &quot;\31CVT666P\36\0\0\0\10\1\20\2\30\0*\n\10\0\20\0\30\0 \0(\0002\n&quot;..., 4096) = 427<br>gettimeofday({1446209107, 399779}, NULL) = 0<br>write(1023, &quot;(00.016596) Collected [dev/pts/6&quot;..., 41) = 41<br>gettimeofday({1446209107, 400306}, NULL) = 0<br>write(1023, &quot;(00.017123) Collected [tmp/simpl&quot;..., 42) = 42<br>gettimeofday({1446209107, 400808}, NULL) = 0<br>write(1023, &quot;(00.017625) Collected [usr/lib/l&quot;..., 58) = 58<br>gettimeofday({1446209107, 401656}, NULL) = 0<br>write(1023, &quot;(00.018473) Collected [usr/lib/l&quot;..., 62) = 62<br>gettimeofday({1446209107, 402439}, NULL) = 0<br>write(1023, &quot;(00.019256) Collected [lib/libc-&quot;..., 48) = 48<br>gettimeofday({1446209107, 402987}, NULL) = 0<br>write(1023, &quot;(00.019804) Collected [lib/libgc&quot;..., 49) = 49<br>gettimeofday({1446209107, 403470}, NULL) = 0<br>write(1023, &quot;(00.020287) Collected [lib/libSe&quot;..., 50) = 50<br>gettimeofday({1446209107, 404021}, NULL) = 0<br>write(1023, &quot;(00.020838) Collected [lib/ld-2.&quot;..., 46) = 46<br>gettimeofday({1446209107, 404747}, NULL) = 0<br>write(1023, &quot;(00.021564) Collected [tmp] ID 0&quot;..., 35) = 35<br>gettimeofday({1446209107, 405344}, NULL) = 0<br>write(1023, &quot;(00.022161) Collected [.] ID 0xa&quot;..., 33) = 33<br>read(3, &quot;&quot;, 4096)                       = 0<br>close(3)                                = 0<br>gettimeofday({1446209107, 406298}, NULL) = 0<br>write(1023, &quot;(00.023115)  `- ... done\n&quot;, 25) = 25<br>gettimeofday({1446209107, 406818}, NULL) = 0<br>write(1023, &quot;(00.023635) Collecting 49/53 (fl&quot;..., 39) = 39<br>openat(1022, &quot;remap-fpath.img&quot;, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)<br>gettimeofday({1446209107, 407654}, NULL) = 0<br>write(1023, &quot;(00.024471) No remap-fpath.img i&quot;..., 37) = 37<br>gettimeofday({1446209107, 408113}, NULL) = 0<br>write(1023, &quot;(00.024930)  `- ... done\n&quot;, 25) = 25<br>gettimeofday({1446209107, 408641}, NULL) = 0<br>write(1023, &quot;(00.025458) Collecting 39/21 (fl&quot;..., 39) = 39<br>openat(1022, &quot;inetsk.img&quot;, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)<br>gettimeofday({1446209107, 409475}, NULL) = 0<br>write(1023, &quot;(00.026292) No inetsk.img image\n&quot;, 32) = 32<br>gettimeofday({1446209107, 410065}, NULL) = 0<br>write(1023, &quot;(00.026882)  `- ... done\n&quot;, 25) = 25<br>ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0<br>dup3(0, 1019, O_CLOEXEC)                = 1019<br>openat(1022, &quot;cgroup.img&quot;, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)<br>gettimeofday({1446209107, 411906}, NULL) = 0<br>write(1023, &quot;(00.028723) No cgroup.img image\n&quot;, 32) = 32<br>rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0<br>rt_sigaction(SIGCHLD, {0x2c0ed, [CHLD], SA_RESTART|SA_SIGINFO|SA_NOCLDSTOP|0x4000000}, NULL, 8) = 0<br>rt_sigprocmask(SIG_SETMASK, ~[CHLD RTMIN RT_1], NULL, 8) = 0<br>gettimeofday({1446209107, 413415}, NULL) = 0<br>write(1023, &quot;(00.030232) Running pre-restore &quot;..., 40) = 40<br>open(&quot;/proc&quot;, O_RDONLY|O_LARGEFILE|O_DIRECTORY) = 3<br>dup3(3, 1018, O_CLOEXEC)                = 1018<br>close(3)                                = 0<br>openat(1022, &quot;mountpoints-5.img&quot;, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)<br>gettimeofday({1446209107, 415476}, NULL) = 0<br>write(1023, &quot;(00.032293) No mountpoints-5.img&quot;..., 39) = 39<br>gettimeofday({1446209107, 415985}, NULL) = 0<br>write(1023, &quot;(00.032802) mnt: Reading mountpo&quot;..., 60) = 60<br>openat(1022, &quot;core-11758.img&quot;, O_RDONLY|O_LARGEFILE) = 3<br>read(3, &quot;\31CVTG8\5U\306\1\0\0\10\2\32\356\1\10\1\20\0\30\200\3520 \200\200\201\202\4(&quot;..., 4096) = 466<br>close(3)                                = 0<br>gettimeofday({1446209107, 417454}, NULL) = 0<br>write(1023, &quot;(00.034271) Forking task with 11&quot;..., 52) = 52<br>open(&quot;/proc&quot;, O_RDONLY|O_LARGEFILE|O_DIRECTORY) = 3<br>dup3(3, 1021, O_CLOEXEC)                = 1021<br>close(3)                                = 0<br>openat(1021, &quot;sys/kernel/ns_last_pid&quot;, O_RDWR|O_LARGEFILE) = 3<br>flock(3, LOCK_EX)                       = 0<br>write(3, &quot;11757&quot;, 5)                    = 5<br>clone(child_stack=0x7eefcb10, flags=SIGCHLD) = 11758<br>gettimeofday({1446209107, 421536}, NULL) = 0<br>write(1023, &quot;(00.038353) PID: real 11758 virt&quot;..., 39) = 39<br>flock(3, LOCK_UN)                       = 0<br>close(3)                                = 0<br>gettimeofday({1446209107, 423155}, NULL) = 0<br>write(1023, &quot;(00.039972) Wait until namespace&quot;..., 46) = 46<br>gettimeofday({1446209107, 423726}, NULL) = 0<br>write(1023, &quot;(00.040543) Running setup-namesp&quot;..., 45) = 45<br>gettimeofday({1446209107, 424206}, NULL) = 0<br>futex(0x76efa014, FUTEX_WAKE, 2147483647) = 1<br>futex(0x76efa010, FUTEX_WAIT, 1, NULL)  = 0<br>futex(0x76efa014, FUTEX_WAKE, 2147483647) = 1<br>futex(0x76efa010, FUTEX_WAIT, 1, NULL)  = 0<br>gettimeofday({1446209107, 486890}, NULL) = 0<br>futex(0x76efa014, FUTEX_WAKE, 2147483647) = 0<br>futex(0x76efa010, FUTEX_WAIT, 1, NULL)  = 0<br>kill(11758, SIGKILL)                    = 0<br>futex(0x76efa014, FUTEX_WAKE, 2147483647) = 0<br>gettimeofday({1446209107, 492784}, NULL) = 0<br>write(1023, &quot;(00.109601) Error (cr-restore.c:&quot;..., 57) = 57<br>exit_group(1)                           = ?<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><br>
&gt; pie: Error (pie/restorer.c:1304): Restorer fail 6034<br>
&gt; (00.087584) Error (cr-restore.c:1927): Restoring FAILED<br>
&gt; ...<br>
&gt;<br>
&gt; Is it current criu limitation or kernel should patched?<br>
<br>
</span>I&#39;m not an expert on ARM :) Maybe Christopher would suggest something?<br>
<span class=""><br>
&gt; Test performed on two versions of criu, details below.<br>
&gt;<br>
&gt; Kernel version:<br>
</span>&gt; 3.16 + configuration options from <a href="http://criu.org" rel="noreferrer" target="_blank">criu.org</a> &lt;<a href="http://criu.org" rel="noreferrer" target="_blank">http://criu.org</a>&gt;<br>
<span class="">&gt;<br>
&gt; Result of criu check --ms for criu 1.6(abdea652a94140269413681bfbaf3d90e5888052):<br>
&gt;<br>
&gt; Warn  (cr-check.c:188): Skipping unssuported PR_SET_MM_MAP<br>
&gt;<br>
&gt; Warn  (cr-check.c:592): Skipping PTRACE_O_SUSPEND_SECCOMP check<br>
&gt;<br>
&gt; Warn  (cr-check.c:619): Dirty tracking is OFF. Memory snapshot will not work.<br>
&gt;<br>
&gt; Warn  (tun.c:58): Skipping tun support check<br>
&gt;<br>
&gt; Warn  (timerfd.c:48): timerfd: Skipping timerfd support check<br>
&gt;<br>
&gt; Warn  (cr-check.c:296): Skipping mnt_id support check<br>
&gt;<br>
&gt; Warn  (cr-check.c:706): Skipping unsupported AIO remap<br>
&gt;<br>
&gt; Warn  (cr-check.c:722): fdinfo doesn&#39;t contain the lock field<br>
&gt;<br>
&gt; Looks good.<br>
&gt;<br>
&gt;<br>
&gt; Result of criu check --ms for criu 1.7(4c5b23e52c1dc4e3fbbc7472b92e7b1ce9d22f02):<br>
&gt;<br>
&gt; Warn  (cr-check.c:189): Skipping unssuported PR_SET_MM_MAP<br>
&gt;<br>
&gt; Warn  (cr-check.c:588): Skipping PTRACE_O_SUSPEND_SECCOMP check<br>
&gt;<br>
&gt; Warn  (cr-check.c:615): Dirty tracking is OFF. Memory snapshot will not work.<br>
&gt;<br>
&gt; Error (timerfd.c:55): timerfd: No timerfd support for c/r: Inappropriate ioctl for device<br>
&gt;<br>
&gt; Warn  (cr-check.c:702): Skipping unsupported AIO remap<br>
&gt;<br>
&gt; Warn  (cr-check.c:718): fdinfo doesn&#39;t contain the lock field<br>
&gt;<br>
&gt;<br>
&gt; Thanks andvance.<br>
&gt;<br>
&gt; --<br>
&gt; Best regards,<br>
&gt; Artem Kuzmitskiy<br>
&gt;<br>
&gt;<br>
&gt;<br>
</span>&gt; _______________________________________________<br>
&gt; CRIU mailing list<br>
&gt; <a href="mailto:CRIU@openvz.org">CRIU@openvz.org</a><br>
&gt; <a href="https://lists.openvz.org/mailman/listinfo/criu" rel="noreferrer" target="_blank">https://lists.openvz.org/mailman/listinfo/criu</a><br>
&gt;<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">Best regards,<div>Artem Kuzmitskiy</div><div><br></div></div></div></div></div>
</div></div>