[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1301047] Re: Windows guest freezes while using USB pas
From: |
zelluz |
Subject: |
[Qemu-devel] [Bug 1301047] Re: Windows guest freezes while using USB passthrough. |
Date: |
Thu, 03 Apr 2014 07:23:18 -0000 |
** Summary changed:
- Windows guest freezes after exiting an 3D application on guest.
+ Windows guest freezes while using USB passthrough.
--
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 while using USB passthrough.
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
- [Qemu-devel] [V2 PATCH 00/37] target-ppc: Decimal Floating Point, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 02/37] libdecnumber: Eliminate #include *Symbols.h, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 06/37] libdecnumber: Eliminate redundant declarations, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 07/37] libdecnumber: Eliminate Unused Variable in decSetSubnormal, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 05/37] libdecnumber: Change gstdint.h to stdint.h, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 03/37] libdecnumber: Prepare libdecnumber for QEMU include structure, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 04/37] libdecnumber: Modify dconfig.h to Integrate with QEMU, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 08/37] target-ppc: Enable Building of libdecnumber, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 09/37] libdecnumber: Introduce decNumberFrom[U]Int64, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 10/37] libdecnumber: Introduce decNumberIntegralToInt64, Tom Musta, 2014/04/21
- [Qemu-devel] [V2 PATCH 15/37] target-ppc: Introduce DFP Helper Utilities, Tom Musta, 2014/04/21