[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 00/12] libxl: fork: SIGCHLD flexibility
Ian Jackson wrote: > Jim Fehlig writes ("Re: [Xen-devel] [PATCH 00/12] libxl: fork: SIGCHLD > flexibility"): > >> I let this run over the weekend and today noticed libvirtd was deadlocked >> > > I have just retested xl with: > * my 3-patch 4.4 fixes series > * v2 of my fork series > * the extra mutex patch "libxl: fork: Fixup SIGCHLD sharing" > * "13/12" and "14/12" just posted > and it WFM. > > Of course I don't have the same setup as Jim. > > Jim: if it's not too much trouble, I'd appreciate it if you could try > that combination. > > For your convenience you can find a git branch of it at > > http://xenbits.xen.org/gitweb/?p=people/iwj/xen.git;a=shortlog;h=refs/tags/wip.enumerate-pids-v2.1 > aka > git://xenbits.xen.org/people/iwj/xen.git#wip.enumerate-pids-v2.1 > I've been testing this branch and notice an occasional libvirtd segfault that always occurs when calling libxl_domain_create_restore(). By occasional, I mean my save/restore script might cause the segfault after 2 iterations, or 20 iterations, or ... But the segfault always occurs in libxl_domain_create_restore() Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffeef59700 (LWP 12083)] 0x00007ffff74577ef in virObjectIsClass (anyobj=0x2f302f6e69616d6f, klass=0x5555558a1310) at util/virobject.c:362 362 return virClassIsDerivedFrom(obj->klass, klass); (gdb) bt #0 0x00007ffff74577ef in virObjectIsClass (anyobj=0x2f302f6e69616d6f, klass=0x5555558a1310) at util/virobject.c:362 #1 0x00007ffff745765b in virObjectLock (anyobj=0x2f302f6e69616d6f) at util/virobject.c:314 #2 0x00007fffe993cc96 in libxlDomainObjTimeoutModifyEventHook (priv=0x5555558fc310, hndp=0x5555559e5d88, abs_t=...) at libxl/libxl_domain.c:302 #3 0x00007fffe96f8fed in time_deregister (gc=0x7fffeef58220, ev=0x5555559eee48) at libxl_event.c:294 #4 0x00007fffe96facfd in afterpoll_internal (egc=0x7fffeef58220, poller=0x5555559a4c70, nfds=3, fds=0x5555559c09d0, now=...) at libxl_event.c:1008 #5 0x00007fffe96fc312 in eventloop_iteration (egc=0x7fffeef58220, poller=0x5555559a4c70) at libxl_event.c:1455 #6 0x00007fffe96fce58 in libxl__ao_inprogress (ao=0x5555559e9690, file=0x7fffe970fadb "libxl_create.c", line=1356, func=0x7fffe97105f0 <__func__.16344> "do_domain_create") at libxl_event.c:1700 #7 0x00007fffe96d711f in do_domain_create (ctx=0x5555559d9fa0, d_config=0x7fffeef58490, domid=0x7fffeef5840c, restore_fd=89, checkpointed_stream=0, ao_how=0x0, aop_console_how=0x0) at libxl_create.c:1356 #8 0x00007fffe96d7238 in libxl_domain_create_restore (ctx=0x5555559d9fa0, d_config=0x7fffeef58490, domid=0x7fffeef5840c, restore_fd=89, params=0x7fffeef58400, ao_how=0x0, aop_console_how=0x0) at libxl_create.c:1387 #... (gdb) f 2 #2 0x00007fffe993cc96 in libxlDomainObjTimeoutModifyEventHook (priv=0x5555558fc310, hndp=0x5555559e5d88, abs_t=...) at libxl/libxl_domain.c:302 302 virObjectLock(info->priv); (gdb) p info->priv $3 = (libxlDomainObjPrivatePtr) 0x2f302f6e69616d6f (gdb) f 9 #9 0x00007fffe993f2c7 in libxlVmStart (driver=0x5555558c2e50, vm=0x5555558e6a50, start_paused=false, restore_fd=89) at libxl/libxl_driver.c:635 635 res = libxl_domain_create_restore(priv->ctx, &d_config, &domid, (gdb) p priv $2 = (libxlDomainObjPrivatePtr) 0x5555558fc310 It looks like the libxlDomainObjPrivatePtr, stashed as part of for_app_registration_out when registering the timeout, has been trampled. Not sure if the problem is in libvirt or libxl, but it is late here and I'm calling it a night :). Regards, Jim _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |