Bug 888821

Summary: resolution is switched to wrong one automagically (sometimes but frequently)
Product: Red Hat Enterprise Linux 6 Reporter: David Jaša <djasa>
Component: spice-vdagentAssignee: Hans de Goede <hdegoede>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.4CC: acathrow, cfergeau, dblechte, dyasny, hdegoede, marcandre.lureau, mbarta, mkrcmari, tlavigne
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: spice-vdagent-0.12.0-4.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 08:23:37 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:
Bug Depends On:    
Bug Blocks: 881072, 895654    
Attachments:
Description Flags
virt-viewer --spice-debug output (minus messages from spice-channel-cache.h) none

Description David Jaša 2012-12-19 15:14:29 UTC
Created attachment 666130 [details]
virt-viewer --spice-debug output (minus messages from spice-channel-cache.h)

Description of problem:
When doing some resolution changes, resolution is subsequently switched to wrong one. 

Version-Release number of selected component (if applicable):
latest.
client == host:
virt-viewer-0.5.2-18.el6.x86_64
spice-gtk-0.14-5.el6.x86_64
spice-server-0.12.0-9.el6.x86_64
qemu-kvm-0.12.1.2-2.346.el6.x86_64
guest:
spice-vdagent-0.12.0-2.el6.x86_64
xorg-x11-drv-qxl-0.1.0-2.el6.x86_64

How reproducible:
not 100 % but frequent enough to be reproducible and annoying

Steps to Reproduce:
A:
1. in a guest, issue 'xrandr --output qxl-0 --mode 1360x768'
2. have a guest with 1280x800 resolution

B:
maximize r-v window
  
Actual results:
A: guest resolution is switched to 1360x768 (good) and then to 1280x870 (WTF!?)
B: guest resolution is switched to the widget area (good) and then cycles between closest smaller one and pre-maximize one (WTF!?)

Expected results:
guest resolution is switched to target one and stays such

Additional info:

logs for B case: r-v attached, spice-vdagent -x -d below:

spice-vdagent[3224]: 0x60b010 received monitors config, arg1: 0, arg2: 0, size 28
spice-vdagent[3224]: from guest: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: after zeroing: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: set_screen_to_best_size found 30 modes
spice-vdagent[3224]: set_screen_to_best_size set size to: 1600x900
spice-vdagent[3224]: 0x60b010 sent guest xorg resolution, arg1: 1280, arg2: 1024, size 16
spice-vdagent[3224]: 0x60b010 received monitors config, arg1: 0, arg2: 0, size 28
spice-vdagent[3224]: from guest: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: after zeroing: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: set_screen_to_best_size found 30 modes
spice-vdagent[3224]: set_screen_to_best_size set size to: 1600x900
spice-vdagent[3224]: 0x60b010 sent guest xorg resolution, arg1: 1280, arg2: 1024, size 16
spice-vdagent[3224]: 0x60b010 received monitors config, arg1: 0, arg2: 0, size 28
spice-vdagent[3224]: from guest: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: after zeroing: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: set_screen_to_best_size found 30 modes
spice-vdagent[3224]: set_screen_to_best_size set size to: 1600x900
spice-vdagent[3224]: 0x60b010 sent guest xorg resolution, arg1: 1280, arg2: 1024, size 16
spice-vdagent[3224]: 0x60b010 received monitors config, arg1: 0, arg2: 0, size 28
spice-vdagent[3224]: from guest: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: after zeroing: 1, 1
spice-vdagent[3224]: received monitor 0 config 1920x1034+0+0
spice-vdagent[3224]: set_screen_to_best_size found 30 modes
spice-vdagent[3224]: set_screen_to_best_size set size to: 1600x900
spice-vdagent[3224]: 0x60b010 sent guest xorg resolution, arg1: 1600, arg2: 900, size 16
spice-vdagent[3224]: 0x60b010 received monitors config, arg1: 0, arg2: 0, size 28
spice-vdagent[3224]: from guest: 1, 1
spice-vdagent[3224]: received monitor 0 config 1152x870+0+0
spice-vdagent[3224]: after zeroing: 1, 1
spice-vdagent[3224]: received monitor 0 config 1152x870+0+0
spice-vdagent[3224]: set_screen_to_best_size found 30 modes
spice-vdagent[3224]: set_screen_to_best_size set size to: 1152x870
spice-vdagent[3224]: 0x60b010 sent guest xorg resolution, arg1: 1280, arg2: 800, size 16
spice-vdagent[3224]: 0x60b010 received monitors config, arg1: 0, arg2: 0, size 28
spice-vdagent[3224]: 0x60b010 sent guest xorg resolution, arg1: 1280, arg2: 800, size 16

Comment 1 Marc-Andre Lureau 2012-12-19 15:23:00 UTC
Is this using arbitrary resolution?

Comment 2 David Jaša 2012-12-19 15:35:52 UTC
(In reply to comment #1)
> Is this using arbitrary resolution?

A: no (all three modes involved are standard)
B: yes

Comment 3 Hans de Goede 2013-01-07 16:09:33 UTC
I can reproduce this and I'm working on a fix, assigning to me.

Comment 4 Hans de Goede 2013-01-08 10:53:54 UTC
This is fixed in spice-vdagent-0.12.0-4.el6 moving to modified.

Comment 10 errata-xmlrpc 2013-02-21 08:23:37 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.

http://rhn.redhat.com/errata/RHEA-2013-0311.html