[libvirt] [Libvirt] segfault with patch "libxl: fix framebuffer port setting for HVM domains"

Chris chris at teria.org
Sun Aug 24 23:39:24 UTC 2014


Hello,

I encountered segfaults with libvirt + libxl with this specific patch :
http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=b55cc5f4e31b488c4f9c3c8470c992c1f8f5d09c

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
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gdb.txt
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140825/57e3e0b9/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libxl-vm.infra.ld.log
Type: text/x-log
Size: 9437 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140825/57e3e0b9/attachment-0001.bin>


More information about the libvir-list mailing list