Bug 1534310

Summary: Wrongly recognize input '|' to '>' in qemu guest via vnc
Product: Red Hat Enterprise Linux 7 Reporter: CongLi <coli>
Component: tigervncAssignee: Jan Grulich <jgrulich>
Status: CLOSED DUPLICATE QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 7.5CC: chayang, juzhang, michen
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-01-15 06:23:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description CongLi 2018-01-15 01:34:29 UTC
Description of problem:
Wrongly recognize input '|' to '>' in qemu guest via vnc

Version-Release number of selected component (if applicable):
tigervnc-icons-1.8.0-4.el7.noarch
gvnc-0.7.0-2.el7.x86_64
tigervnc-license-1.8.0-4.el7.noarch
gtk-vnc2-0.7.0-2.el7.x86_64
gtk-vnc-debuginfo-0.7.0-2.el7.x86_64
tigervnc-1.8.0-4.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. In one terminal on the host, boot a guest via qemu with '-vnc :0'
(qemu) info vnc
default:
  Server: :::5900 (ipv6)
    Auth: none (Sub: none)
  Server: 0.0.0.0:5900 (ipv4)
    Auth: none (Sub: none)
  Client: ::1:38890 (ipv6)
    x509_dname: none
    sasl_username: none

2. In another terminal on the same host, start vncviewer
# vncviewer :0

TigerVNC Viewer 64-bit v1.8.0
Built on: 2017-10-27 05:09
Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.

Sun Jan 14 20:18:43 2018
 DecodeManager: Detected 24 CPU core(s)
 DecodeManager: Creating 4 decoder thread(s)
 CConn:       connected to host localhost port 5900
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8
 CConnection: Choosing security type None(1)

Sun Jan 14 20:18:44 2018
 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888
 CConn:       Using Tight encoding

3. in the guest, in the vnc window -> open a terminal -> input '|'(shift+\) or '<'(shift+,), they will be recognized as '>'.

Actual results:
in the guest, in the vnc window -> open a terminal -> input '|'(shift+\) or '<'(shift+,), they will be recognized as '>'.


Expected results:
input '|'(shift+\) --> show '|'
input '<'(shift+,) --> show '<'

Additional info:
1. works well via ssh to login guest
2. same problem via remote-viewer
3. qemu CML:
/usr/libexec/qemu-kvm \
    -S  \
    -name 'avocado-vt-vm1'  \
    -sandbox off  \
    -machine q35  \
    -nodefaults  \
    -vga cirrus \
    -device i82801b11-bridge,id=dmi2pci_bridge,bus=pcie.0,addr=0x2 \
    -device pci-bridge,id=pci_bridge,bus=dmi2pci_bridge,addr=0x1,chassis_nr=1  \
    -device pcie-root-port,id=pcie.0-root-port-3,slot=3,chassis=3,addr=0x3,bus=pcie.0 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0-root-port-3,addr=0x0 \
    -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=none,format=raw,file=/mnt/rhel75-64-virtio-scsi.raw \
    -device scsi-hd,id=image1,drive=drive_image1,serial=12345 \
    -device pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \
    -device virtio-net-pci,mac=9a:19:1a:1b:1c:1d,id=idgMjvea,vectors=4,netdev=idL0Vkvy,bus=pcie.0-root-port-4,addr=0x0  \
    -netdev tap,id=idL0Vkvy,vhost=on \
    -m 8192  \
    -smp 8,maxcpus=8,cores=4,threads=1,sockets=2  \
    -cpu 'Opteron_G5',+kvm_pv_unhalt \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot menu=off,strict=off,order=cdn,once=c \
    -enable-kvm \
    -monitor stdio \
    -vnc :0  \

Comment 2 CongLi 2018-01-15 01:51:16 UTC
connect the guest via my laptop which is installed with fc26, same problem:
$ rpm -qa | grep vnc
gvnc-0.7.1-1.fc26.x86_64
tigervnc-icons-1.8.0-1.fc26.noarch
tigervnc-license-1.8.0-1.fc26.noarch
gtk-vnc2-0.7.1-1.fc26.x86_64
tigervnc-1.8.0-1.fc26.x86_64
libvncserver-0.9.11-2.fc26.x86_64

Comment 3 Jan Grulich 2018-01-15 06:13:43 UTC
Isn't this issue rather in QEMU or libvncserver which QEMU uses internally then in tigervnc?

Comment 4 CongLi 2018-01-15 06:23:59 UTC
(In reply to Jan Grulich from comment #3)
> Isn't this issue rather in QEMU or libvncserver which QEMU uses internally
> then in tigervnc?

Thanks, it's a qemu bug.

*** This bug has been marked as a duplicate of bug 1513870 ***