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