Bug 1153372

Summary: Monitor config at startup sometimes leaves additional monitors enabled
Product: Red Hat Enterprise Linux 7 Reporter: Jonathon Jongsma <jjongsma>
Component: virt-viewerAssignee: Pavel Grunt <pgrunt>
Status: CLOSED ERRATA QA Contact: SPICE QE bug list <spice-qe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.1CC: dblechte, djasa, fidencio, juzhou, marcandre.lureau, mzhan, pgrunt, rbalakri, tpelka, tzheng, xiaodwan
Target Milestone: rc   
Target Release: 7.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virt-viewer-2.0-7.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1200750 (view as bug list) Environment:
Last Closed: 2016-11-04 01:07:23 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:
Bug Depends On:    
Bug Blocks: 1200750    
Attachments:
Description Flags
spice debug log none

Description Jonathon Jongsma 2014-10-15 21:43:40 UTC
When connecting to a guest with virt-viewer (or remote-viewer) in --full-screen mode, virt-viewer immediately sends down a monitor configuration message as soon as the agent is connected. 

If there are more monitors currently-enabled in the guest than are specified in the configuration message, the additional monitors do not always get disabled.

This is not always repeatable and seems racy.

Comment 2 Jonathon Jongsma 2014-10-15 21:48:13 UTC
Created attachment 947355 [details]
spice debug log

This log illustrates the issue. Notice how initially the client sends down a new monitor configuration:

../../gtk/channel-main.c:1078 main-1:0: monitor config: #0 1600x900+1680+0 @ 32 bpp
../../gtk/channel-main.c:1078 main-1:0: monitor config: #1 1680x1050+0+0 @ 32 bpp


but the first monitors configuration data we receive from the server still shows the old configuration:

../../gtk/channel-display.c:1734 display-2:0: monitor id: 0, surface id: 0, +0+0-688x531
../../gtk/channel-display.c:1734 display-2:0: monitor id: 1, surface id: 0, +688+0-728x519
../../gtk/channel-display.c:1734 display-2:0: monitor id: 2, surface id: 0, +1416+0-896x705

Comment 3 Marc-Andre Lureau 2015-01-05 11:38:25 UTC
moving to 7.2

Comment 5 Jonathon Jongsma 2015-03-17 19:53:44 UTC
Proposed fix: https://www.redhat.com/archives/virt-tools-list/2015-March/msg00108.html

Comment 8 Fabiano Fidêncio 2015-07-08 23:23:11 UTC
The patch never got in, moving back to NEW.

Comment 9 David Blechter 2015-07-14 15:27:54 UTC
working on complete solution upstream

Comment 13 Pavel Grunt 2016-02-18 10:07:08 UTC
Will be fixed in virt-viewer the same way as the bug 1212802

Relevant upstream commits:
4d6f730fce9818beb9f5d2639ffad256b9ede391
1f2ef0e9de4133c375df3b20993c93d66fa7f172
7870ea5eff91dd163e43f85b4168dd35def0e3e2
724744ca209297322b04cd9ed11e898a3d68a281

Comment 15 Fabiano Fidêncio 2016-03-15 12:41:34 UTC
(In reply to Pavel Grunt from comment #13)
> Will be fixed in virt-viewer the same way as the bug 1212802
> 
> Relevant upstream commits:

We need, before applying these 4 patches, to apply a860b2f7d7ab7f50ccd9f89f46014d8972d94a2c

> 4d6f730fce9818beb9f5d2639ffad256b9ede391
> 1f2ef0e9de4133c375df3b20993c93d66fa7f172
> 7870ea5eff91dd163e43f85b4168dd35def0e3e2
> 724744ca209297322b04cd9ed11e898a3d68a281

Comment 16 Fabiano Fidêncio 2016-03-15 12:42:06 UTC
(In reply to Fabiano Fidêncio from comment #15)
> (In reply to Pavel Grunt from comment #13)
> > Will be fixed in virt-viewer the same way as the bug 1212802
> > 
> > Relevant upstream commits:
> 
> We need, before applying these 4 patches, to apply
> a860b2f7d7ab7f50ccd9f89f46014d8972d94a2c

Argh, 344eb9a68595ee26627e27fe733ac7789fdbdbb1

> 
> > 4d6f730fce9818beb9f5d2639ffad256b9ede391
> > 1f2ef0e9de4133c375df3b20993c93d66fa7f172
> > 7870ea5eff91dd163e43f85b4168dd35def0e3e2
> > 724744ca209297322b04cd9ed11e898a3d68a281

Comment 18 Xiaodai Wang 2016-04-14 07:25:08 UTC
I can reproduce it with virt-viewer-2.0-6.el7.x86_64.

# rpm -q virt-viewer
virt-viewer-2.0-6.el7.x86_64

Steps:
1. Configure monitor-mapping settings in ~/.config/virt-viewer/settings.
For example:
# cat /home/xiaodwan/.config/virt-viewer/settings 

[83865c8a-7ded-46e1-b803-584de8de0412]
monitor-mapping=1:2

2. Open the guest with virt-viewer and open 4 displays, then keep 4 displays open and close the virt-viewer window.
3. Open the guest with virt-viewer command with "-f" options.
4. Try it several times.

Actual Result:
Sometimes display 2 and display 3 are not closed and "Waiting for display ...." appear in the dispaly.


Upgraded the version to latest virt-viewer-2.0-7.el7.x86_64 and verify it again. I tried it about 10 times and cannot reproduce it.

So move the bug from ON_QA to VERIFIED.

Comment 20 errata-xmlrpc 2016-11-04 01:07:23 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-2229.html