[libvirt-users] VM dies with error regarding "virConnectNumOfInterfaces"

Helga Velroyen helga at velroyen.de
Mon Jul 23 09:59:05 UTC 2012


Hi!

thanks for your mail! See my answers inline.

> I ran into a problem using a USB device and was wondering if
> > you could help me.
> >
> > I'm running a Win XP SP3 in a VM with libvirt on a Xubuntu 11.10.
> > I configured it to talk to several USB devices.
> >
> > With one particular device (a Phonak Compilot[1], admittedly a probably
> > rather unusual device), the VM dies with the following error in the
> > libvirtd.log:
> >
> > 2012-07-20 21:04:19.591+0000: 1282: error :
> > virConnectNumOfInterfaces:9803 : this function is not supported by the
> > connection driver: virConnectNumOfInterfaces
>
> This message is guaranteed unrelated to your guest dying. It means that
> some management program (for example virt-manager) is trying out the
> "virInterface" part of libvirt's API, and discovering that your platform
> does not support that part of the API. the virInterface functions deal
> with configuring and reporting the status of the host's network devices
> (physical ethernets, bridges, bonds), are only supported on platforms
> that have the "netcf" library, and are optional. Ubuntu is only just now
> getting netcf support into their distro, do Xubuntu 11.10 will certainly
> not have it.
>
> TL;DR ignore the error about virConnectNumOfInterfaces.
>
>
Okay, thanks for the explanation! I appreciate it.


> > 2012-07-20 21:05:05.762+0000: 1276: error : qemuMonitorIO:603 : internal
> > error End of file from monitor
>
> This just means that the qemu process terminated abruptly. If you look
> in /var/log/libvirt/qemu/${guestname}.log, you may find a more specific
> error message issued by qemu itself.
>

Okay, I did that and here is the full log of my try to start it up:

2012-07-23 09:30:37.761+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 2048 -smp
2,sockets=2,cores=1,threads=1 -name toddler -uuid
1e9ada35-5681-5060-476e-7a9e615fcb5c -nodefconfig -nodefaults -chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/toddler.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime
-no-shutdown -drive
file=/media/frog/vms/toddler_storage.img,if=none,id=drive-ide0-0-0,format=qcow2
-device
ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1
-drive if=none,media=cdrom,id=drive-ide0-0-1,readonly=on,format=raw -device
ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive
if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device
ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev
tap,fd=19,id=hostnet0 -device
rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:49:f6:46,bus=pci.0,addr=0x3
-chardev pty,id=charserial0 -device
isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0
-vnc 127.0.0.1:0 -vga std -device intel-hda,id=sound0,bus=pci.0,addr=0x4
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device
usb-host,hostbus=1,hostaddr=3,id=hostdev0 -device
usb-host,hostbus=1,hostaddr=4,id=hostdev1 -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
char device redirected to /dev/pts/4
kvm: usb-linux.c:1211: usb_linux_update_endp_table: Assertion `epd->type ==
255' failed.
2012-07-23 09:31:58.723+0000: shutting down

Any idea what this assertion means? Googling did not really help me here.

In the meantime, it would be helpful when reporting problems to tell us
> the version of libvirt and qemu that are installed.
>

virsh -v gives me version 0.9.8, version of my qemu-kvm package is
"1.0+noroms-0ubuntu13"
I installed those simply by using aptitude, I did not do anything special
here.


> >
> > This happens no matter if is it the only configured USB device or if
> > there is another USB device present in the config or not.
> >
> > I configured it doing the following steps:
> >
> > - I looked up the vendor / product ID using lsub
> >
> >   Bus 001 Device 003: ID 180f:1002
> >
> > (Interestingly, it does not show a name of the device here.)
> >
> > - I added it to the VM's xml configuration using virsh / edit $vmname
> >
> > <domain>
> >   ...
> >   <devices>
> >     ...
> >     <hostdev mode='subsystem' type='usb' managed='no'>
> >       <source>
> >         <vendor id='0x180f'/>
> >         <product id='0x1002'/>
> >       </source>
> >     </hostdev>
> >     ...
> >   </devices>
> > </domain>
> >
> > - I run the VM using the virt-manager UI.
> >
> > Any ideas what the problem could be? Do I need to run/configure
> > differently than how I did it?
>
> The XML looks fine to me (the "managed='no'" part would only be relevant
> for PCI devices, not USB, but it would be ignored in this case, so
> that's not a problem).
>
> To help figure out what may be the problem, do this:
>
> 1) try starting the guest from the shell with "virsh start
> ${guestname}", and send any error message that produces. Also let us
> know the versions of libvirt ("virsh -v" will give you that) and qemu
> (or kvm - different platforms have different names for the packages) -
> various older versions of libvirt have various bugs, and knowing the
> version helps us to narrow down possibilities.
>

Versions as mentioned above: libvirt 0.9.8 and kvm-qemu 1.0+noroms-0ubuntu13

I tried to run the guest from the shell, but it does not show much:

> virsh start $guestname
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hiKzI0/pkcs11:
No such file or directory
Domain $guestname started

(I guess the keyring warning does not matter since it also appears when I
run the vm without the troublesome USB device and then the guest does not
die.)

Other than that, nothing happens here. At the same time I observed the log
of the guest. The result is the same as mentioned in this email further up.


>
> 2) After virsh start fails, look at the end of
> /var/log/libvirt/qemu/${guestname}.log - send everything starting from
> the last qemu (or maybe it's kvm in your distro) commandline to the end
> of the file.
>

See above. Same as before.

3) Just to verify that the problem really is in the USB device
> definition, use virsh edit to remove it, then retry the start.
>

Did so, the guest starts without any problems. I checked the log which
looks the same with the exception that the line with the failed assertion
is not there.

Thanks for your help so far, I hope you can give me a hint what the problem
is!

Cheers,
Helga
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20120723/54c3c9cc/attachment.htm>


More information about the libvirt-users mailing list