[CRIU] Using p.haul migration failure

Sowmini Varadhan sowmini.varadhan at oracle.com
Mon Oct 27 19:07:44 PDT 2014


On (10/27/14 17:21), Pavel Emelyanov wrote:
> 
> Pre-dump logs terminate at collect_mntinfo() and the criu just quits.
> This typically happens when it crashes somewhere afterwards, so it
> would be useful if you could help us fining out where.
> 

It's seg-faulting here:

Program received signal SIGSEGV, Segmentation fault.
0x000000000046624d in validate_mounts (info=0x114e050, for_dump=true)
    at mount.c:433
433                                             ret = run_plugins(DUMP_EXT_MOUNT, m->mountpoint, m->mnt_id);
(gdb) bt
#0  0x000000000046624d in validate_mounts (info=0x114e050, for_dump=true)
    at mount.c:433
#1  0x000000000046a55f in walk_mnt_ns (cb=0x0, arg=0x0) at mount.c:2131
#2  0x000000000046a589 in collect_mnt_namespaces () at mount.c:2141
#3  0x000000000045fec7 in collect_namespaces (for_dump=false)
    at namespaces.c:537
#4  0x0000000000441db4 in cr_pre_dump_tasks (pid=2226) at cr-dump.c:1718
#5  0x0000000000481193 in pre_dump_using_req (sk=5, req=0x114a050)
    at cr-service.c:459
#6  0x0000000000481252 in pre_dump_loop (sk=5, msg=0x114a010)
    at cr-service.c:488
#7  0x0000000000481818 in cr_service_work (sk=5) at cr-service.c:679
#8  0x00000000004319f0 in main (argc=3, argv=0x7fffd5e8d998, 
    envp=0x7fffd5e8d9b8) at crtools.c:217

At this point 
(gdb) print *m
$20 = {mnt_id = 84, parent_mnt_id = 77, s_dev = 265289729, 
  root = 0x10728b0 "/lib64", mountpoint = 0x1072cf0 "./lib64", 
  ns_mountpoint = 0x0, flags = 2097153, master_id = 0, shared_id = 0, 
  fstype = 0x6dc6e0 <fstypes>, 
  source = 0x1072a30 "/dev/disk/by-uuid/3e92507e-2d93-48a4-b229-4ba7cdf7c5df", 
  options = 0x1072a70 "errors=remount-ro,data=ordered", {mounted = false, 
    dumped = false}, need_plugin = false, is_file = 0, is_ns_root = false, 
  next = 0x1072730, nsid = 0x1071860, external = 0x0, parent = 0x1071ae0, 
  bind = 0x0, children = {prev = 0x10729a8, next = 0x10729a8}, siblings = {
    prev = 0x1071b68, next = 0x1071df8}, mnt_bind = {prev = 0x10727d8, 
    next = 0x1071b88}, mnt_share = {prev = 0x10729d8, next = 0x10729d8}, 
  mnt_slave_list = {prev = 0x10729e8, next = 0x10729e8}, mnt_slave = {
    prev = 0x0, next = 0x0}, mnt_master = 0x0, postpone = {prev = 0x1072a10, 
    next = 0x1072a10}, private = 0x0}

at this point I'm guessing (??) cr_plugin_dump_ext_mount() should have
been called, with mountpoint = "./lib64",  id = 84 (??)

Is there something wrong with these values? How to tell? How to validate
this data?



More information about the CRIU mailing list