[vbox-dev] [libvirt] Assert with libvirt + xen hvm
Michal Privoznik
mprivozn at redhat.com
Mon Jan 26 09:52:57 UTC 2015
[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 at redhat.com
> <mailto:mprivozn at redhat.com>> 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
More information about the vbox-dev
mailing list