[CRIU] Problem using libcriu's criu_restore()

Ruslan Kuprieiev kupruser at gmail.com
Thu Jul 31 08:07:41 PDT 2014


Hi Tycho,

So did restore succeed?

On 31.07.2014 17:17, Tycho Andersen wrote:
> Hi all,
>
> I'm having a problem using libcriu's criu_restore() function; it seems
> bad things are happening when criu is trying to send the restore
> request:
>
> lxc-restore: google/protobuf-c/protobuf-c.c:480: protobuf_c_message_get_packed_size: Assertion `((message)->descriptor)->magic == 0x28aaeef9' failed.
>
> In particular, the stack trace is:
>
> #0  0x00007ffff77d8f79 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> #1  0x00007ffff77dc388 in __GI_abort () at abort.c:89
> #2  0x00007ffff77d1e36 in __assert_fail_base (fmt=0x7ffff7923718 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion at entry=0x7ffff5a64c28 "((message)->descriptor)->magic == 0x28aaeef9",
>      file=file at entry=0x7ffff5a64b98 "google/protobuf-c/protobuf-c.c", line=line at entry=480, function=function at entry=0x7ffff5a65640 "protobuf_c_message_get_packed_size") at assert.c:92
> #3  0x00007ffff77d1ee2 in __GI___assert_fail (assertion=0x7ffff5a64c28 "((message)->descriptor)->magic == 0x28aaeef9", file=0x7ffff5a64b98 "google/protobuf-c/protobuf-c.c", line=480,
>      function=0x7ffff5a65640 "protobuf_c_message_get_packed_size") at assert.c:101
> #4  0x00007ffff5a5fb98 in protobuf_c_message_get_packed_size () from /usr/lib/x86_64-linux-gnu/libprotobuf-c.so.0
> #5  0x00007ffff5a5f8e2 in protobuf_c_message_get_packed_size () from /usr/lib/x86_64-linux-gnu/libprotobuf-c.so.0
> #6  0x00007ffff5a5fdc6 in ?? () from /usr/lib/x86_64-linux-gnu/libprotobuf-c.so.0
> #7  0x00007ffff5a5f65b in protobuf_c_message_get_packed_size () from /usr/lib/x86_64-linux-gnu/libprotobuf-c.so.0
> #8  0x00007ffff6d5081a in send_req () from /usr/local/lib/x86_64-linux-gnu/libcriu.so.1
> #9  0x00007ffff6d50939 in send_req_and_recv_resp_sk () from /usr/local/lib/x86_64-linux-gnu/libcriu.so.1
> #10 0x00007ffff6d50b32 in send_req_and_recv_resp.constprop () from /usr/local/lib/x86_64-linux-gnu/libcriu.so.1
> #11 0x00007ffff6d51448 in criu_restore () from /usr/local/lib/x86_64-linux-gnu/libcriu.so.1
> #12 0x00007ffff7baf7f5 in lxcapi_restore (c=0x6035a0, directory=0x6032d0 "/tmp/checkpoint", service_address=<optimized out>) at lxccontainer.c:3613
> #13 0x0000000000400971 in main (argc=<optimized out>, argv=<optimized out>) at lxc_restore.c:98
>
> A little bit of googling says that this means we are constructing an invalid
> message and libprotobuf is rejecting it. However, criu_dump() seems to work
> just fine and as near as I can tell there isn't any significant difference
> between the two calls.
>
> Thoughts?
>
> Thanks,
>
> Tycho
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu



More information about the CRIU mailing list