An update to my issues. It seems that as soon as I remove the USB devices in my qemu command everything is working perfect. I suspect Battlefield has frozen upon exit since I had a XBox Controller connected with pass through to Windows. Even though I did not use this Xbox controller I got this freeze every time, so I guess Battlefield checks the controller somehow upon exit.
This does not resolve my Rocksmith 2014 issue though, since I need that USB adapter to learn the guitar :) Anyways, I am happy that the graphics adapter is working as intended. It is an issue with USB devices passed through to guest. I have tested with both USB 3.0 and USB 2.0 ports and receive the same issue. This message I receive in my journalctl file is the key to fix it somehow I think: "xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring" ** Changed in: qemu Status: New => In Progress -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1301047 Title: Windows guest freezes after exiting an 3D application on guest. Status in QEMU: In Progress Bug description: I have the following issue with my Windows 8.1 guest. (Technical stuff is at the bottom): I have vfio-binded my graphics card(NVIDIA GTX670) and is passing it through to the guest. I run heavy 3D applications such as games(Guild Wars 2, Diablo 3, DOTA etc) which works fine(performance is about <90% of a "physical" Windows). When it comes to Rocksmith 2014 and Battlefield 4 things starts to act up. I can play both games just as good as any other game in the guest(passing through the USB Rocksmith Cable and audio is working perfect), however when I exit one of these two applications the guest freezes completely up. I loose contact via Synergy(mouse/keyboard), I cant ping the guest, the screen freezes(always freezing before I see the desktop again), CPU usage of the processes drops down to 0. The memory dedicated to the guest is latent/in use though, as reported by htop/free -m. I have among other things tested with lowering the memory from 16Gb to 8Gb and CPU used from 6 to 4. The issue remains unsolved. My host(Arch Linux) works fine while the host is frozen up. Is it reproducible? Yes, every time with the same applications when exiting. Starting and using the applications works fine. Expected outcome: Application closes, guest does not freeze. My theory is that the GPU is flushing its memory cache in a way that Qemu is not prepared for which results in a lock of the Qemu process where it cant get out and therefore the guest is frozen/locked up. Suggested solution(if at all possible): Implement a function which get called if the Qemu lock appears where the GPU gets disconnected and then connected again. (Not sure if safe? PCI Express supports hot plugging?) Or make sure the Qemu process can not get into the state where a total freeze of the machine can happen if there is anything GPU related freezes. (So we still can trigger a remote reboot via Powershell/CMD etc) If there is some more information you need, please do not hesitate to ask for it. Also, this is my first bug report so please be kind, I appreciate any feedback :) Technical Information: CPU: Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz GPU: NVIDIA GTX 670, latest NVIDIA drivers installed in Windows. QEMU version: qemu-git 2.0.r31965.g63678e1-1 Host Kernel: Linux 3.13.6-1-mainline x86_64 Guest: Windows 8.1 Professional, fully updated as of 30th March 2014 Qemu command line used: sudo -E qemu-system-x86_64 \ -enable-kvm \ -M q35 \ -m 8G \ -mem-path /dev/hugepages \ -mem-prealloc \ -cpu host \ -smp 4,sockets=1,cores=4,threads=1 \ -device vfio-pci,host=00:1b.0 \ -bios /usr/share/qemu/bios.bin \ -vga none \ -device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \ -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \ -nographic \ -device ahci,bus=pcie.0,id=ahci \ -drive file=/var/lib/libvirt/images/Windows8.1.img,id=disk,format=raw,cache=none \ -device ide-hd,bus=ahci.0,drive=disk \ -device vfio-pci,host=00:19.0,bus=pcie.0 \ -drive file=/dev/sdb1,id=mmo,format=raw,cache=none \ -device ide-hd,bus=ahci.1,drive=mmo \ -drive file=/home/thor/Windows/Windows-Steam.img,id=steam,format=raw,cache=none \ -usb -usbdevice host:045e:028e \ -usb -usbdevice host:12ba:00ff \ -net none \ -device ide-hd,bus=ahci.2,drive=steam Strace output in the seconds leading up to the freeze: See attachment . Journalctl output on the host while the guest froze: Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe410 fff9f480 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe420 fff9f490 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe430 fff9f4a0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe440 fff9f4b0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe450 fff9f4c0 00000000 0d00000a 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe460 fff9f4d0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe470 fff9f4e0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe480 fff9f4f0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe490 fff9f500 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe4a0 fff9f510 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe4b0 fff9f520 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe4c0 fff9f530 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe4d0 fff9f540 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe4e0 fff9f550 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe4f0 fff9f560 00000000 0d00000a 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe500 fff9f570 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe510 fff9f580 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe520 fff9f590 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe530 fff9f5a0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe540 fff9f5b0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe550 fff9f5c0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe560 fff9f5d0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe570 fff9f5e0 00000000 0d00000c 07058000 Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: ERROR Transfer event for disabled endpoint or incorrect stream ring Apr 01 22:03:19 ultimaarch kernel: xhci_hcd 0000:00:14.0: @00000000ffffe580 fff9f5f0 00000000 0d00000c 07058000 Apr 01 22:05:46 ultimaarch kernel: INFO: task qemu-system-x86:10006 blocked for more than 120 seconds. Apr 01 22:05:46 ultimaarch kernel: Not tainted 3.13.6-1-mainline #1 Apr 01 22:05:46 ultimaarch kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Apr 01 22:05:46 ultimaarch kernel: qemu-system-x86 D ffff88080126fab0 0 10006 10005 0x00000005 Apr 01 22:05:46 ultimaarch kernel: ffff88006fb81cf8 0000000000000086 ffff88053a409b00 ffff88006fb81fd8 Apr 01 22:05:46 ultimaarch kernel: 0000000000014400 0000000000014400 ffff88053a409b00 ffffffff81219402 Apr 01 22:05:46 ultimaarch kernel: ffff880000000000 ffffffff81210000 0000000000000282 ffff88006fb81cb0 Apr 01 22:05:46 ultimaarch kernel: Call Trace: Apr 01 22:05:46 ultimaarch kernel: [<ffffffff81219402>] ? sysfs_addrm_finish+0xa2/0xc0 Apr 01 22:05:46 ultimaarch kernel: [<ffffffff81210000>] ? proc_pid_status+0x5b0/0x6e0 Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa019479c>] ? xhci_urb_dequeue+0x22c/0x360 [xhci_hcd] Apr 01 22:05:46 ultimaarch kernel: [<ffffffff8138a0a7>] ? put_device+0x17/0x20 Apr 01 22:05:46 ultimaarch kernel: [<ffffffff814f8b99>] schedule+0x29/0x70 Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa0010b9d>] usb_kill_urb+0x5d/0xa0 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffff810a2c30>] ? __wake_up_sync+0x20/0x20 Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa000f6e5>] usb_hcd_flush_endpoint+0xb5/0x180 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa0012459>] usb_disable_endpoint+0x59/0x90 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa00124d6>] usb_disable_interface+0x46/0x60 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa0012a04>] usb_set_interface+0x194/0x360 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa001cc5b>] usbdev_do_ioctl+0xa0b/0x1050 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffffa001d2ce>] usbdev_ioctl+0xe/0x20 [usbcore] Apr 01 22:05:46 ultimaarch kernel: [<ffffffff811b6350>] do_vfs_ioctl+0x2e0/0x4c0 Apr 01 22:05:46 ultimaarch kernel: [<ffffffff811b65b1>] SyS_ioctl+0x81/0xa0 Apr 01 22:05:46 ultimaarch kernel: [<ffffffff815046ff>] tracesys+0xe1/0xe6 To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1301047/+subscriptions