Bug 1221501

Summary: virt-viewer "Normal size" doesn't take effect when opened guest with zoom level ≥ 130
Product: Red Hat Enterprise Linux 6 Reporter: zhoujunqin <juzhou>
Component: virt-viewerAssignee: Pavel Grunt <pgrunt>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.7CC: cfergeau, dblechte, fidencio, herrold, mxie, mzhan, pgrunt, rbalakri, tzheng, xiaodwan
Target Milestone: rc   
Target Release: 6.8   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virt-viewer-2.0-8.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-10 21:23:20 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
virt-viewer-debug.log none

Description zhoujunqin 2015-05-14 08:23:31 UTC
Created attachment 1025312 [details]
virt-viewer-debug.log

Description of problem:
After use virt-viewer connect to a vnc guest with setting zoom level larger or equal 130, then turn to normal size by clicking "Normal size" button, it doesn't take effect.

Version-Release number of selected component (if applicable):

virt-viewer-2.0-7.el6.x86_64
gtk-vnc-0.3.10-3.el6.x86_64
libvirt-0.10.2-54.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Prepare a health vnc guest in running status:
# virsh dumpxml rhel6u7-snap1-vnc
...
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
...
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

2. Set zoom level to 130 when use virt-viewer to connect:
# virt-viewer  rhel6u7-snap1-vnc --zoom=130

3. After guest window displayed, turn to normal size by clicking: View-->Zoom-->Normal Size.

4. Check guest window size is equal with set zoom=100

Actual results:
Guest window is smaller than normal size(zoom=100).

Expected results:
Guest window is equal to normal size(zoom=100).

Additional info:
I will attach virt-viewer detail debug information in attachment.
# virt-viewer  rhel6u7-snap1-vnc --zoom=100 --debug
...
(virt-viewer:23979): virt-viewer-DEBUG: Allocated 1024x768
(virt-viewer:23979): virt-viewer-DEBUG: Child allocate 1024x768

# virt-viewer  rhel6u7-snap1-vnc --zoom=130  --debug
...
(virt-viewer:23999): virt-viewer-DEBUG: Allocated 1279x959
(virt-viewer:23999): virt-viewer-DEBUG: Child allocate 1279x959
...
(virt-viewer:23999): virt-viewer-DEBUG: Allocated 984x738-----------> after click "Normal size"
(virt-viewer:23999): virt-viewer-DEBUG: Child allocate 984x738

Comment 2 Pavel Grunt 2015-05-14 08:56:06 UTC
It is happening also with spice-gtk so it is not vnc specific.
Also it is worth mentioning that guest's display resolution is 1024x768, because some resolutions (e.g. 800x600) do not trigger this bug.

Comment 3 Pavel Grunt 2015-05-15 05:50:53 UTC
I wasn't accurate in my previous comment. The problem is 100% reproducible when the window of the application would exceed size of the monitor because of the zoom. So for the monitor using resolution 1920x1080 and guest using resolution 800x600 it is reproducible when the zoom level is greater than 180.

Patch avoiding to set the zoom level which would make the widow exceeding the monitor is posted: https://www.redhat.com/archives/virt-tools-list/2015-May/msg00049.html

Comment 5 Fabiano Fidêncio 2015-12-09 15:23:27 UTC
(In reply to Pavel Grunt from comment #3)
> I wasn't accurate in my previous comment. The problem is 100% reproducible
> when the window of the application would exceed size of the monitor because
> of the zoom. So for the monitor using resolution 1920x1080 and guest using
> resolution 800x600 it is reproducible when the zoom level is greater than
> 180.
> 
> Patch avoiding to set the zoom level which would make the widow exceeding
> the monitor is posted:
> https://www.redhat.com/archives/virt-tools-list/2015-May/msg00049.html

So, looks like this patch never ended up upstream.
Do we have some plans to revisit this issue?

Comment 6 Fabiano Fidêncio 2015-12-10 09:08:32 UTC
(In reply to Fabiano Fidêncio from comment #5)
> (In reply to Pavel Grunt from comment #3)
> > I wasn't accurate in my previous comment. The problem is 100% reproducible
> > when the window of the application would exceed size of the monitor because
> > of the zoom. So for the monitor using resolution 1920x1080 and guest using
> > resolution 800x600 it is reproducible when the zoom level is greater than
> > 180.
> > 
> > Patch avoiding to set the zoom level which would make the widow exceeding
> > the monitor is posted:
> > https://www.redhat.com/archives/virt-tools-list/2015-May/msg00049.html
> 
> So, looks like this patch never ended up upstream.
> Do we have some plans to revisit this issue?

The patch which ended upstream is 3cbb6232f33d0ecdc7f58e2ea8eb7830f9fe007f.

Comment 8 mxie@redhat.com 2015-12-15 05:40:54 UTC
I can reproduce the bug with builds:
virt-viewer-2.0-7.el6.x86_64
gtk-vnc-0.3.10-3.el6.x86_64
libvirt-0.10.2-54.el6.x86_64


Try to verify this bug with builds:
virt-viewer-2.0-8.el6.x86_64
gtk-vnc-0.4.2-5.el6.x86_64
libvirt-0.10.2-55.el6.x86_64


Steps to Reproduce:
1. Prepare a health vnc guest in running status:
# virsh dumpxml rhel6u7-snap1-vnc
...
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
...
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

2. Set zoom level to 200 when use virt-viewer to connect:
# virt-viewer  rhel6u7-snap1-vnc --zoom=200

3. After guest window displayed, turn to normal size by clicking: View-->Zoom-->Normal Size.

4. Check guest window size is equal with set zoom=100

Results now:
Guest window is equal to normal size(zoom=100).


So move this bug from ON_QA to VERIFIED.

Comment 11 mxie@redhat.com 2015-12-15 08:46:01 UTC
Thanks for your reminder

Try to verify this bug with builds:
virt-viewer-2.0-8.el6.x86_64
gtk-vnc-0.3.10-3.el6.x86_64
libvirt-0.10.2-55.el6.x86_64


Steps to Reproduce:
1. Prepare a health vnc guest in running status:
# virsh dumpxml rhel6u7-snap1-vnc
...
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
...
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

2. Set zoom level to 200 when use virt-viewer to connect:
# virt-viewer  rhel6u7-snap1-vnc --zoom=200

3. After guest window displayed, turn to normal size by clicking: View-->Zoom-->Normal Size.

4. Check guest window size is equal with set zoom=100

Results now:
Guest window is equal to normal size(zoom=100).

Comment 13 errata-xmlrpc 2016-05-10 21:23:20 UTC
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://rhn.redhat.com/errata/RHBA-2016-0832.html