[CC'ing vbox-dev list] On 23.01.2015 21:42, CloudPatch Staff wrote: > After some debugging we found what was causing of the assert. In our > configuration we have > two kernels to boot, one is a pv-linux for Xen dom0 and another just a > normal linux kernel. > We have libvirt built with both Xen and vbox support. When running with > Xen, the libxl > driver is used so it ends calling libxenlight who doesn't want any > SIGCHLD handler set. > Normally this is the case but, since we have vbox support in libvirt the > vbox driver loads > some of the vbox libs and one of them sets a SIGCHLD handler. When > libxenlight checks > if there is any handler for SIGCHLD it finds that one and fails. > > Here is the backtrace from when vbox is setting the handler: > > (gdb) bt > #0 0x00007ffff71d8250 in sigaction () from /lib64/libpthread.so.0 > #1 0x00007fffedbf3716 in ?? () from /usr/lib64/virtualbox/VBoxRT.so > #2 0x00007fffedbf3960 in ?? () from /usr/lib64/virtualbox/VBoxRT.so > #3 0x00007fffedeea485 in VBoxGetCAPIFunctions () from > /usr/lib64/virtualbox/VBoxXPCOMC.so > #4 0x00007fffee37d7ca in ?? () from > /usr/lib64/libvirt/connection-driver/libvirt_driver_vbox_network.so > #5 0x00007fffee37d995 in VBoxCGlueInit () from > /usr/lib64/libvirt/connection-driver/libvirt_driver_vbox_network.so > #6 0x00007fffee321e7b in vboxNetworkRegister () > from /usr/lib64/libvirt/connection-driver/libvirt_driver_vbox_network.so > #7 0x00007ffff755bbe8 in virDriverLoadModule () from > /usr/lib64/libvirt.so.0 > #8 0x0000555555568714 in ?? () > #9 0x000055555556ab86 in ?? () > #10 0x00007ffff6e54aa5 in __libc_start_main () from /lib64/libc.so.6 > #11 0x0000555555567f59 in ?? () > > > After building libvirt without vbox support the assert disappeared. So what are you saying is that vbox interferes with libxenlight? While I see why vbox library wants SIGCHLD handler, maybe they became fault tolerant meanwhile. Or? > > > On Fri, Jan 23, 2015 at 5:14 AM, Michal Privoznik <mprivozn@xxxxxxxxxx > <mailto:mprivozn@xxxxxxxxxx>> wrote: > > On 22.01.2015 17:49, CloudPatch Staff wrote: > > We're hitting an assert whenever we try to create an HVM instance under > > Xen via libvirtd. > > > > System is running on Gentoo, package information as follows: > > > > app-emulation/xen-4.5.0 USE="api debug flask hvm pam pygrub python qemu > > screen" > > app-emulation/xen-tools-4.5.0 USE="api debug flask hvm pam pygrub python > > qemu screen" > > app-emulation/libvirt-1.2.11-r2:0/1.2.11 USE="caps libvirtd lvm macvtap > > nls qemu udev vepa virtualbox xen" > > > > The following commands are run in parallel: > > > > vmmachine ~ # libvirtd --listen > > 2015-01-22 16:33:13.596+0000: 2620: info : libvirt version: 1.2.11 > > 2015-01-22 16:33:13.596+0000: 2620: error : udevGetDMIData:1607 : Failed > > to get udev device for syspath '/sys/devices/virtual/dmi/id' or > > '/sys/class/dmi/id' > > libvirtd: libxl_fork.c:350: sigchld_installhandler_core: Assertion > > `((void)"application must negotiate with libxl about SIGCHLD", > > !(sigchld_saved_action.sa_flags & 4) && > > (sigchld_saved_action.__sigaction_handler.sa_handler == > > ((__sighandler_t) 0) || > > sigchld_saved_action.__sigaction_handler.sa_handler == ((__sighandler_t) > > 1)))' failed. > > Aborted > > Interesting. Can you attach a debugger so we can see stacktrace? > > Michal > > Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list