Hello,
I encountered segfaults with libvirt + libxl with this specific patch :
http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=b55cc5f4e31b488c4f9c...
My Libvirt/Xen environment (on a slackware64-14.1) :
virsh # version
Compiled against library: libvirt 1.2.6
Using library: libvirt 1.2.6
Using API: Xen 1.2.6
Running hypervisor: Xen 4.4.0
My Libvirt "configure line" :
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--bindir=/usr/sbin \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/libvirt-1.2.6 \
--enable-static=no \
--enable-shared=yes \
--with-yajl \
--with-qemu-group=root \
--with-init-script=none \
--without-xen \
--without-xenapi \
--with-libxl
The XML of my VM :
<domain type='xen'>
<name>vm.infra.ld</name>
<uuid>0b648359-099a-4d64-ba7a-12f32fb4f3dc</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='xenfv'>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev='network'/>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
<hap/>
<viridian/>
</features>
<clock offset='variable' adjustment='0' basis='utc'>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/data/vm.infra.ld-disk'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0'
target='0' unit='0'/>
</disk>
<controller type='ide' index='0'/>
<interface type='bridge'>
<mac address='00:16:3e:xx:xx:xx'/>
<source bridge='xenbr0'/>
<script path='/etc/xen/scripts/vif-openvswitch'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'
listen='0.0.0.0' keymap='fr'>
<listen type='address' address='0.0.0.0'/>
</graphics>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
</devices>
</domain>
The VM starts fine with "virsh start" (cf attached libxl log), the VNC process
is listening as requested on 0.0.0.0 but whenever I open a new virsh cli and send a
command (e.g. "list"), libvirtd segfaults. I attached a gdb trace to this mail.
If I rebuild libvirt without the patch mentioned earlier, no more segfaults, but of course
the VNC process is listening on 127.0.0.1 instead of requested 0.0.0.0 when I start the
VM.
I may have done something wrong but don't understand what.
Regards,
Chris