Bug 1411295

Summary: remote-viewer upredictably closes connection with VGA driver (desktop bigger than screen resolution)
Product: Red Hat Enterprise Linux 7 Reporter: Andrei Stepanov <astepano>
Component: gtk-vncAssignee: Daniel Berrangé <berrange>
Status: CLOSED WORKSFORME QA Contact: SPICE QE bug list <spice-qe-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: astepano, dblechte, juzhou, kuwei, mxie, mzhan, pgrunt, rbalakri, tpelka, tzheng, xiaodwan
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: 2017-09-07 11:09:25 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:
Attachments:
Description Flags
remote-viewer log with --gtk-vnc-debug
none
Log from /var/log/libvirt/qemu/6.9_32.log none

Description Andrei Stepanov 2017-01-09 11:50:08 UTC
remote-viewer connected to VM with VGA driver unpredictable closes connection.

virt-viewer-2.0-12.el7.x86_64
qemu-kvm-1.5.3-126.el7_3.3.x86_64
Guest is RHEL6.9

How reproducible: always

Steps to Reproduce:
1. Create a VM in RHV with VGA video adapter.
2. Connect to the VM with remote-viewer.
3. Change resolution to 1024x768: xrandr --output default --mode 1024x768
4. Desktop must fit to remote-viewer window.
5. Change resolution to 1280x768: xrandr --output default --mode 1280x768
6. Make sure that desktop doesn't fit into remote-viewer window. It is necessary to move mouse to the bottom/upper border to move desktop.
7. Close remote-viewer.
8. Open connection to the same VM.
9. Move mouse around guest desktop.

remote-viewer closes connection.

Comment 1 Andrei Stepanov 2017-01-09 11:53:08 UTC
Created attachment 1238714 [details]
remote-viewer log with --gtk-vnc-debug

Comment 3 Pavel Grunt 2017-01-09 13:29:58 UTC
Please attach server logs

Comment 4 Andrei Stepanov 2017-01-09 14:36:56 UTC
Created attachment 1238795 [details]
Log from /var/log/libvirt/qemu/6.9_32.log

To get VNC debug it is necessary to re-compile qemu:

https://github.com/qemu/qemu/blob/master/ui/vnc.h#L49

Comment 5 Pavel Grunt 2017-03-24 09:22:08 UTC
vnc specific, reassigning

Are there any changes with rebased gtk-vnc ?

Comment 6 Daniel Berrangé 2017-04-04 20:57:21 UTC
I'm not seeing anything bad from gtk-vnc logs - all messages show normal operation, until we get this:

(remote-viewer:27714): gtk-vnc-DEBUG: vncconnection.c Read error Error receiving data: Connection reset by peer

which shows the QEMU closed the VNC client connection.

This makes me suspect that QEMU is at fault. To diagnose this, I think you'll need to rebuild qemu with VNC debug turned on and capture a log it produces. It would also be interesting to see of the same behaviour is seen with qemu-kvm-rhev, as that's a newer version of QEMU. Given length of time since 1.5.3 QEMU, there's a fair chance of some VNC/display bug being fixed in QEMU since then.

Comment 7 Daniel Berrangé 2017-06-06 09:21:20 UTC
Are you able to obtain the information requested from a debug build of QEMU. If not, there isn't really any way to take this bug forward to resolution.

Comment 9 Andrei Stepanov 2017-09-07 11:09:25 UTC
Cannot reproduce with RHEL 7.4 client virt-viewer-5.0-7.el7.x86_64.