keyboard input while mouse moving triggers mouse failure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
When QEMU is getting a ton of mouse input events if keys are pressed on the keyboard the scan code will be corrupted causing erroneous behavior. I have confirmed this problem in the latest version in git (530049bc1dcc24
After the erroneous behavior the operating system issues a keyboard reset which prevents the mouse from functioning until the operating system is restarted.
This seems to only occur if the PS2 mouse is being used as the input, the tablet input device doesn't exhibit this behavior.
The same problem was reported here also: https:/
Host : Debian 9
CPU : Ryzen 1700X
RAM : 16GB
Kernel: 4.12.0-
Guest : Windows 10 (KVM)
RAM : 8GB (1GB Huge pages)
Here is a backtrace of the PS2 reset event:
#0 ps2_write_mouse (opaque= 0x55804518ae30, val=255) at /home/geoff/ Projects/ qemu/qemu/ hw/input/ ps2.c:1033 0x558045147aa0, addr=0, val=255, size=1) at /home/geoff/ Projects/ qemu/qemu/ hw/input/ pckbd.c: 357 region_ write_accessor (mr=0x558045147ae0, addr=0, value=0x7f9ec01 6f478, size=1, shift=0, mask=255, attrs=...) Projects/ qemu/qemu/ memory. c:560 with_adjusted_ size (addr=0, value=0x7f9ec01 6f478, size=1, access_size_min=1, access_size_max=1, fn=0x558041e7e5 65 <memory_ region_ write_accessor> , mr=0x558045147ae0, attrs=...) at /home/geoff/ Projects/ qemu/qemu/ memory. c:627 region_ dispatch_ write (mr=0x558045147ae0, addr=0, data=255, size=1, attrs=...) Projects/ qemu/qemu/ memory. c:1503 write_continue (fv=0x7f9e90010c10, addr=96, attrs=..., buf=0x7f9eee9de000 "\377\006", len=1, addr1=0, l=1, 0x558045147ae0) at /home/geoff/ Projects/ qemu/qemu/ exec.c: 2900 Projects/ qemu/qemu/ exec.c: 2945 Projects/ qemu/qemu/ exec.c: 3054 Projects/ qemu/qemu/ exec.c: 3064 e000, direction=1, size=1, count=1) Projects/ qemu/qemu/ accel/kvm/ kvm-all. c:1698 4650) at /home/geoff/ Projects/ qemu/qemu/ accel/kvm/ kvm-all. c:1938 cpu_thread_ fn (arg=0x5580444f 4650) at /home/geoff/ Projects/ qemu/qemu/ cpus.c: 1128 2700) at pthread_ create. c:333 unix/sysv/ linux/x86_ 64/clone. S:97
#1 0x00005580420e1dd9 in kbd_write_data (opaque=
#2 0x0000558041e7e64f in memory_
at /home/geoff/
#3 0x0000558041e7e867 in access_
access_
#4 0x0000558041e814e9 in memory_
at /home/geoff/
#5 0x0000558041e31302 in flatview_
mr=
#6 0x0000558041e31450 in flatview_write (fv=0x7f9e90010c10, addr=96, attrs=..., buf=0x7f9eee9de000 "\377\006", len=1)
at /home/geoff/
#7 0x0000558041e31827 in flatview_rw (fv=0x7f9e90010c10, addr=96, attrs=..., buf=0x7f9eee9de000 "\377\006", len=1, is_write=true)
at /home/geoff/
#8 0x0000558041e318df in address_space_rw (as=0x558042a4c940 <address_space_io>, addr=96, attrs=..., buf=0x7f9eee9de000 "\377\006", len=1, is_write=true)
at /home/geoff/
#9 0x0000558041e9617e in kvm_handle_io (port=96, attrs=..., data=0x7f9eee9d
at /home/geoff/
#10 0x0000558041e968c2 in kvm_cpu_exec (cpu=0x5580444f
#11 0x0000558041e670d9 in qemu_kvm_
#12 0x00007f9ed49c5494 in start_thread (arg=0x7f9ec017
#13 0x00007f9ed4707aff in clone () at ../sysdeps/