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

Reply via email to