This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 771128 - "Failed to build sexpr" when adding PCI passthrough device to Xen domain
"Failed to build sexpr" when adding PCI passthrough device to Xen domain
Status: CLOSED INSUFFICIENT_DATA
Product: Fedora
Classification: Fedora
Component: libvirt (Show other bugs)
16
x86_64 Linux
unspecified Severity medium
: ---
: ---
Assigned To: Libvirt Maintainers
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-01 13:55 EST by Robin Green
Modified: 2013-05-16 15:54 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-10-20 21:12:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Robin Green 2012-01-01 13:55:55 EST
Description of problem:
I have been trying to pass through a PCI device (a USB hub) to a Xen domU. virt-manager gives this error when I try to do so.

Version-Release number of selected component (if applicable):
libvirt-python-0.9.6-2.fc16.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Create F16 domain using virsh-install
2. Open the F16 domain in virt-manager and click the Add Hardware button at the bottom of the window
3. Select a PCI USB hub and click the Finish button

Actual results:
An error dialog appears saying:
Error adding device: XML error: failed to build sexpr

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 1048, in add_device
    self.vm.add_device(self._dev)
  File "/usr/share/virt-manager/virtManager/domain.py", line 397, in add_device
    self.redefine_cached()
  File "/usr/share/virt-manager/virtManager/domain.py", line 326, in redefine_cached
    self._redefine_xml(xml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 147, in _redefine_xml
    return self._redefine_helper(origxml, newxml)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 137, in _redefine_helper
    self._define(newxml)
  File "/usr/share/virt-manager/virtManager/domain.py", line 762, in _define
    self.conn.define_domain(newxml)
  File "/usr/share/virt-manager/virtManager/connection.py", line 805, in define_domain
    return self.vmm.defineXML(xml)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2110, in defineXML
    if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
libvirtError: XML error: failed to build sexpr

Expected results:
No error
Comment 1 Cole Robinson 2012-06-07 15:52:35 EDT
Robin, can you provide the virt-manager --debug output when reproducing?
Comment 2 Cole Robinson 2012-10-20 21:12:23 EDT
No response for a while, closing. If anyone can still reproduce, please reopen with the info requested in comment #1
Comment 3 Steven Seed 2013-05-16 14:52:41 EDT
I'd like to reopen this. I'm having this problem currently on a RHEL 6.4 with xen installed. I ran virt-manager --debug, however there is no output on the command line. I've seeing the same error when using virsh to attempt to modify the vm.

Here ist he pci device dump:

virsh # nodedev-dumpxml pci_0000_06_00_0
<device>
  <name>pci_0000_06_00_0</name>
  <parent>pci_0000_00_03_0</parent>
  <capability type='pci'>
    <domain>0</domain>
    <bus>6</bus>
    <slot>0</slot>
    <function>0</function>
    <product id='0x0dd8'>GF106GL [Quadro 2000]</product>
    <vendor id='0x10de'>NVIDIA Corporation</vendor>
    <capability type='virt_functions'>
    </capability>
  </capability>
</device>

Here is what I'm trying to add to the configuration:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
          <address domain='0x0000' bus='0x02' slot='0x00' function='0x0' />
      </source>
    </hostdev>

And here is the result when I try to save:

error: XML error: failed to build sexpr
Failed. Try again? [y,n,f,?]:
Comment 4 Steven Seed 2013-05-16 14:55:29 EDT
I'm not sure how to re-open this ticket. Can you do that for me?
Comment 5 Laine Stump 2013-05-16 15:54:04 EDT
That error message is very general, and there have been several releases of libvirt since the version in this BZ (which is filed against F16 / libvirt-0.9.6). I would recommend opening a new BZ, then post about it to libvirt-users@redhat.com to make sure that somebody who works on the xen part of libvirt sees it. Almost all libvirt developers working on Fedora are using qemu instead.

Note You need to log in before you can comment on or make changes to this bug.