Bug 1482389
| Summary: | Unable to send PAUSE/BREAK to guests in VNC or SPICE [rhel-7.4.z] | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Oneata Mircea Teodor <toneata> |
| Component: | qemu-kvm-rhev | Assignee: | Gerd Hoffmann <kraxel> |
| Status: | CLOSED ERRATA | QA Contact: | Guo, Zhiyi <zhguo> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.4 | CC: | berrange, chayang, hhuang, jherrman, jinzhao, juzhang, knoel, kraxel, michen, mtessun, virt-maint |
| Target Milestone: | rc | Keywords: | Regression, ZStream |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-rhev-2.9.0-16.el7_4.6 | Doc Type: | Bug Fix |
| Doc Text: |
Prior to this update, sending the BREAK or PAUSE keys over the VNC or SPICE client was not properly handled and had no effect in the guest. This update adds proper key handlers for these keys, so they trigger appropriate events in the guest. In addition, sending keys for controlling guest audio over VNC or SPICE now works as expected.
|
Story Points: | --- |
| Clone Of: | 1474464 | Environment: | |
| Last Closed: | 2017-10-16 10:45:10 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1474464 | ||
| Bug Blocks: | |||
|
Description
Oneata Mircea Teodor
2017-08-17 07:08:03 UTC
Fix included in qemu-kvm-rhev-2.9.0-16.el7_4.6 Reproduce this issue with qemu-kvm-rhev-2.9.0-16.el7_4.5.x86_64, host & guest kernel 3.10.0-693.5.1.el7.x86_64.
qemu cli used:
/usr/libexec/qemu-kvm -name input-test -m 2G \
-cpu qemu64,check \
-smp 2 \
-vga std \
-drive file=/home/rhel74-64-virtio.qcow2,if=none,id=drive-scsi-disk0,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-
scsi-pci,id=scsi0,addr=04 -device scsi-hd,drive=drive-scsi-disk0,bus=scsi0.0,scsi-id=0,lun=0,id=scsi-disk0,bootindex=1 \
-uuid 215e11b2-a869-41b5-91cd-6a32a907be7e \
-qmp unix:/tmp/vmmouse-keyboard,server,nowait \
-monitor stdio \
-device virtio-serial-pci,id=virtio-serial1 \
-chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 \
-spice port=5900,disable-ticketing \
Steps:
1)Login to guest desktop, open gnome-terminal and run xev -event keyboard
2) Press the 'Pause' key
3) Press the 'Control' + 'Pause' keys
Result:
after 2), xev events prompt:
KeyPress event, serial 28, synthetic NO, window 0x1400001,
root 0x278, subw 0x1400002, time 354085187, (39,39), root:(39,104),
state 0x12, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x1400001,
root 0x278, subw 0x1400002, time 354098027, (39,39), root:(39,104),
state 0x10, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
...
No Pause key is prompted, only Control_L and Num_Lock events are prompted
After 3), only Control_L event is prompted
Switch display to spice and repeat steps, after 2), no key events prompt. After 3), only Control_L event is prompted
Verify this issue against qemu-kvm-rhev-2.9.0-16.el7_4.8.x86_64, after 2), keyevents prompt:
KeyPress event, serial 28, synthetic NO, window 0x1400001,
root 0x278, subw 0x1400002, time 593529, (39,39), root:(39,104),
state 0x0, keycode 127 (keysym 0xff13, Pause), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
...
after 3), key events:
KeyPress event, serial 28, synthetic NO, window 0x1400001,
root 0x278, subw 0x1400002, time 354085187, (39,39), root:(39,104),
state 0x12, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x1400001,
root 0x278, subw 0x1400002, time 594094, (39,39), root:(39,104),
state 0x4, keycode 127 (keysym 0xff6b, Break), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
...
Switch display to vnc, I get same results.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2891 |