On Sat, Jun 16, 2012 at 6:16 AM, Emmanuel Noobadmin
<centos.ad...@gmail.com> wrote:
> On 6/13/12, Stefan Hajnoczi <stefa...@gmail.com> wrote:
>>Since system time is a large chunk you could use strace -f -p $(pgrep
>>qemu-kvm) or other system call tracing tools to see what the qemu-kvm
>>process is doing.
>
> The command you gave didn't work so I replace $(pgrep) with PID of the
> process running the VM after checking that -p was the PID option.
>
> strace -f -p 19424 produces the following repeating lines
>
> [pid 19424] ioctl(0, USBDEVFS_REAPURBNDELAY, 0x7fff8fc43d48) = -1
> ENOTTY (Inappropriate ioctl for device)

This looks suspicious: QEMU is calling ioctl() on standard input (fd
0) with a USB operation code.  The USB layer probably set the
USBHostDevice->fd field to 0 or freed USBHostDevice but left the
async_complete() select(2) handler registered on file descriptor 16.

I believe the call is coming from hw/usb/host-linux.c:async_complete()
but am not using the same source tree as your qemu-kvm so I could be
off.  The code suggests that QEMU also logs an error message
("USBDEVFS_REAPURBNDELAY: Inappropriate ioctl for device") when this
happens.  If you want, check the libvirt log file for this guest - it
probably has tons of these messages in it.

Gerd: Does this give you enough information to recognize whether this
has already been fixed in qemu.git or how to fix it?

Emmanuel: You mentioned that upgrading to a newer version might not be
worth it, but if you're willing to test qemu.git/master just to see if
the problem has already been fixed then that would be helpful.
http://wiki.qemu.org/Download

Stefan
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to