<div dir="ltr">OK!<div>Here it is:</div><div><br></div><div><div>root@dslab:/home/dslab/tools/criu# ./crit show /home/checkpoint/c2/packetsk.img </div><div>{</div><div> "magic": "PACKETSK", </div><div> "entries": [</div><div> {</div><div> "id": 61, </div><div> "type": 10, </div><div> "protocol": 768, </div><div> "flags": "0x80002", </div><div> "ifindex": 73, </div><div> "fown": {</div><div> "uid": 0, </div><div> "euid": 0, </div><div> "signum": 0, </div><div> "pid_type": 0, </div><div> "pid": 0</div><div> }, </div><div> "opts": {</div><div> "so_sndbuf": 212992, </div><div> "so_rcvbuf": 212992, </div><div> "so_snd_tmo_sec": 0, </div><div> "so_snd_tmo_usec": 0, </div><div> "so_rcv_tmo_sec": 0, </div><div> "so_rcv_tmo_usec": 0, </div><div> "reuseaddr": false, </div><div> "so_priority": 0, </div><div> "so_rcvlowat": 1, </div><div> "so_mark": 0, </div><div> "so_passcred": false, </div><div> "so_passsec": false, </div><div> "so_dontroute": false, </div><div> "so_no_check": false, </div><div> "so_filter": [</div><div> 1.1258999068426252e+16, </div><div> 5911008870664192.0, </div><div> 1.3510798882111512e+16, </div><div> 5911000280727569.0, </div><div> 1.125899906842626e+16, </div><div> 1.942617143955456e+16, </div><div> 4.982107087778613e+16, </div><div> 2.026619832316725e+16, </div><div> 5910978805891140.0, </div><div> 1688854155231231.0, </div><div> 1688849860263936.0</div><div> ]</div><div> }, </div><div> "version": 0, </div><div> "reserve": 0, </div><div> "aux_data": false, </div><div> "orig_dev": false, </div><div> "vnet_hdr": false, </div><div> "loss": false, </div><div> "timestamp": 0, </div><div> "copy_thresh": 0</div><div> }</div><div> ]</div><div>}</div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-15 17:27 GMT+08:00 Pavel Emelyanov <span dir="ltr"><<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 10/14/2015 09:54 PM, Tycho Andersen wrote:<br>
<br>
>>> Warn (cr-restore.c:1041): Set CLONE_PARENT | CLONE_NEWPID but it might cause restore problem,because not all kernels support such clone flags combinations!<br>
>>> RTNETLINK answers: File exists<br>
>>> RTNETLINK answers: File exists<br>
>>> RTNETLINK answers: File exists<br>
>>> RTNETLINK answers: File exists<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x36a8 peer 0 (name /run/systemd/notify dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x36aa peer 0 (name /run/systemd/private dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x36b4 peer 0 (name /run/systemd/shutdownd dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x36b6 peer 0 (name /run/systemd/journal/dev-log dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x36ba peer 0 (name /run/systemd/journal/stdout dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x36bc peer 0 (name /run/systemd/journal/socket dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x5bad peer 0x70ea (name /run/systemd/journal/stdout dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x6da7 peer 0x3788 (name /run/systemd/journal/stdout dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x6da6 peer 0x5f21 (name /run/systemd/journal/stdout dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x6da8 peer 0x784b (name /run/systemd/journal/stdout dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x6da9 peer 0x6b10 (name /run/systemd/journal/stdout dir -)<br>
>>> 1: Warn (sk-unix.c:1229): sk unix: Can't unlink stale socket 0x6daa peer 0x6159 (name /run/systemd/journal/stdout dir -)<br>
>>> 68: Error (sk-packet.c:419): Can't bind packet socket: Invalid argument<br>
>>> Error (cr-restore.c:1236): 3159 killed by signal 19<br>
>>> Error (cr-restore.c:1236): 3159 killed by signal 19<br>
>>> Error (cr-restore.c:1933): Restoring FAILED.<br>
><br>
> Here the real problem. bind() is failing, probably because the unlink<br>
> above failed. Unfortunately, we don't log the reason for the bind()<br>
> failing, can you try with the attached patch?<br>
<br>
</div></div>The unlink failed with ENOENT, so there's no conflict for bind. Also note,<br>
that we unlink unix socket, but bind the packet one :) so the conflict is<br>
not only not there, but not possible at all ;)<br>
<br>
After looking at the kernel sources, I guess this is failure of criu -- there<br>
are two types of packet socket and each imposes different requirements on the<br>
sockaddr structure that is passed into bind. And criu looks like to support<br>
only one of them :\<br>
<br>
Jason, can you show the decoded contents of packetsk.img file?<br>
<span class=""><br>
> Pavel, perhaps we should apply this so it does report the error?<br>
<br>
</span>Applied. Would you send one more patch making the unlink_stale() void? :)<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Pavel<br>
<br>
</font></span></blockquote></div><br></div>