RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1274447 - Remote viewer only presents 1 display after reboot of 2 displays.
Summary: Remote viewer only presents 1 display after reboot of 2 displays.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: spice
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Jonathon Jongsma
QA Contact: SPICE QE bug list
URL:
Whiteboard:
: 1323995 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-10-22 18:10 UTC by Bill Sanford
Modified: 2019-04-28 13:13 UTC (History)
22 users (show)

Fixed In Version: spice-0.13.90-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-10 13:52:38 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
--debug --spice-debug for RHEL-7.2 guest (207.02 KB, text/plain)
2015-10-23 14:04 UTC, Fabiano Fidêncio
no flags Details
--debug --spice-debug for Windows 7 guest (141.69 KB, text/plain)
2015-10-23 14:05 UTC, Fabiano Fidêncio
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0802 0 None None None 2018-04-10 13:54:48 UTC

Description Bill Sanford 2015-10-22 18:10:36 UTC
Description of problem:
Remote-viewer only presents 1 display after reboot of 2 displays. 

Version-Release number of selected component (if applicable):
rhevm-3.6.0-0.18.el6 - RHEV-M
RHEL-6.7-20150811.1 - Client and Engine
RHEL-7.2-20151008.0 - Guest and host

How reproducible:
100%

Steps to Reproduce:
1. With RHEV-M, install RHEL 7.2 VM with only 1 display.
2. In Console, Open VM using Full Screen and launch VM.
3. With 2 physical displays, you will get 2 full-screen displays of VM.
4. In GNOME terminal or GNOME panel, reboot the VM from a full-screen display of the two physical displays.
5. After reboot, login and you will only have one display on one physical screen

Actual results:
Remote viewer only presents 1 display after reboot of 2 displays.

Expected results:
Remote viewer presents 2 displays after reboot of 2 displays.

Additional info:

If I close the remote-viewer and relaunch the VM into full-screen from the console, I get the two displays to show on the two physical monitors.

I copied the end of the engine.log file where and when this was happening.
http://pastebin.test.redhat.com/321957

Comment 3 Fabiano Fidêncio 2015-10-22 21:18:01 UTC
I am a bit confused here.
I have a bug reported, originally, against rhevm-3.6 and then moved to rhel-6.

So, what's the version of the client being used? Can we have --debug --spice-debug when running {remote,viewer}-viewer? Can we know which guest has been used for this? Does it happen with rhel-6/rhel-7/windows guests?

In the end I have a "Please resolve ASAP" comment, that doesn't make sense as RHEL-6.8 is still on planing phase.

Also, considering it happens on rhel-6 client, does it happen also on rhel-7 client? and about rhevm-3.6 client? did it happen on rhel-6.6 client or rhel-7.2 or rhevm-3.5 client? Is it a regression or just a new bug?

Please, provide all the needed info.

Comment 4 Fabiano Fidêncio 2015-10-23 08:34:21 UTC
Seems the client doesn't matter. I am not able to see this behavior when connecting to Windows 7 guests, but I do can reproduce it when connecting to Linux guests (both rhel-6 and rhel-7).

IMHO it can be agent or driver bug. I don't think it's a regression but I am still waiting for info from Bill Sandford.

Comment 5 Fabiano Fidêncio 2015-10-23 14:04:43 UTC
Created attachment 1085854 [details]
--debug --spice-debug for RHEL-7.2 guest

Comment 6 Fabiano Fidêncio 2015-10-23 14:05:19 UTC
Created attachment 1085855 [details]
--debug --spice-debug for Windows 7 guest

Comment 7 David Blechter 2015-10-23 15:06:39 UTC
acking for 6.8, need investigation to find right component(s) to solve the issue

Comment 8 Bill Sanford 2015-10-23 15:25:28 UTC
Fidencio,

I am using:

spice-xpi-2.7-27.el6.x86_64
virt-viewer-2.0-7.el6.x86_64

Comment 9 Jonathon Jongsma 2015-11-05 21:24:20 UTC
so, From my initial investigation, this bug appears to be in qemu. I tried running a rhel7 guest on a rhel6 host and it behaves just fine. When running the same guest on a rhel7 host, it misbehaves as described above.

In order to determine whether the bug was in qemu or spice-server, I rebuilt the rhel6 qemu package (qemu-kvm-0.12.1.2-2.479.el6_7.2) and the rhel7.0 qemu package (qemu-kvm-1.5.3-60.el7_0.12) on my fedora 22 laptop. I built both of these against the system-installed version of spice-server (0.12.6-1.fc22). The rhel6 qemu still behaved correctly, whereas the rhel7 version did not. That suggests that the bug is in qemu rather than spice-server. 

Re-assigning to qemu for further investigation.

Comment 10 Uri Lublin 2015-11-11 12:17:58 UTC
(Following comment #9 [also mentioned in comment #0])
Moving to RHEL-7

Comment 12 Gerd Hoffmann 2015-11-13 08:22:01 UTC
What happens when running RHEL-7 qemu-kvm with "-M rhel6.6.0" ?

Comment 13 Jonathon Jongsma 2015-11-13 16:31:12 UTC
Bill, could you test Gerd's question in comment 12?

Comment 14 Bill Sanford 2015-11-13 19:11:04 UTC
Jonathon and Gerd, I am running RHEV-M 3.6 with hosts, guest and clients and not using the qemu-kvm command from the command line on a single machine.

Comment 15 Snir Sheriber 2015-11-16 16:37:23 UTC
I did git bisect to qemu upstream git repo.
The commit found is 0a2b5e3a7899b40d05d7c6c1c41eb4e64dd2ed4b
After removing this line in git master the second monitor survives reboot.


line 1099@ /hw/display/qxl.c

#if SPICE_SERVER_VERSION >= 0x000c03 /* release 0.12.3 */
    // spice_qxl_driver_unload(&d->ssd.qxl);
#endif

Comment 16 Gerd Hoffmann 2015-11-18 12:44:59 UTC
commit 0a2b5e3a7899b40d05d7c6c1c41eb4e64dd2ed4b
Author: Hans de Goede <hdegoede>
Date:   Tue Apr 23 10:18:16 2013 +0200

    qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode
    
    With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs to
    know what part of the primary to use for each monitor. If the guest driver
    does not support this, the server sends messages to the client for a
    single monitor spanning the entire primary.
    
    As soon as the guest calls spice_qxl_monitors_config_async once, the server
    sets the red_worker driver_has_monitors_config flag and stops doing this.
    
    This is a problem when the driver gets unloaded, for example after a reboot
    or when switching to a text vc with usermode mode-setting under Linux.
    
    To reproduce this start a multi-mon capable Linux guest which uses
    usermode mode-setting and then once X has started switch to a text vc. Note
    how the client window does not only not resize, if you try to resize it
    manually you always keep blackborders since the aspect is wrong.
    
    This patch calls a new spice-server method called spice_qxl_driver_unload
    which clears the driver_has_monitors_config flag inside the server, thereby
    fixing this.
    
    Signed-off-by: Hans de Goede <hdegoede>
    Signed-off-by: Gerd Hoffmann <kraxel>

Notifying spice-server about guest driver not being active any more looks like the correct thing to me, because several spice features simply stop working then.  Just notice how spice client does *not* resize the window any more for vga text mode (i.e. seabios, boot loader and early kernel boot) when you comment out the spice_qxl_driver_unload call.  So a simple revert is out, and I can't see how else qemu could fix this.

Probably either spice-server or spice-client needs to be improved to remember display state when the monitors_config flag is disabled so it can restore the old state when monitors_config is enabled again.

Assigning to spice-server for investigation.

Comment 17 Fabiano Fidêncio 2016-04-05 10:09:44 UTC
*** Bug 1323995 has been marked as a duplicate of this bug. ***

Comment 18 Radek Duda 2016-04-29 15:15:37 UTC
Is it really a bug? 
I found in QE TCMS a test case of this issue with
Expected Results:
    On Linux guest:
        Only one SPICE VM display stays open after reboot. The other displays should close.
    On Windows guest:
        All displays should stay open after reboot.

Comment 19 Radek Duda 2016-05-25 14:05:51 UTC
I found out that the problem might be during logging in on GDM login screen. GDM login screen is always displayed only on one monitor for rhel 7.3, so only one guest display is preserved. 
In the case of rhel 6.8 two guest displays are on the client monitors while logging in.
Wouldn't be possible to spread login screen to the second monitor in rhel 7.3?

Comment 20 David Blechter 2016-09-08 17:25:22 UTC
moving to 7.4. It behaves differently on rhel 6.x and rhel 7.x hosts ( does not justify the "regression" keyword), and will be investigated during the rhel 7.4 devel phase. Really minor issue.

Comment 21 Jonathon Jongsma 2017-01-31 21:29:38 UTC
Possible fix posted here: https://lists.freedesktop.org/archives/spice-devel/2017-January/035382.html

Comment 22 David Blechter 2017-05-24 15:51:54 UTC
removing blocker, corner case and minor, patches were submitted upstream, pending acks. I Moving to 7.5.

Comment 23 Victor Toso 2017-08-08 07:45:53 UTC
Patch is upstream and should be included in spice rebase Bug 1472948

Shortlog: Don't close all but one display during reboot.                                                  
Commit  : eb3d2bfcfd6fe2495202f489f38b0d3718816dab   
Jonathon Jongsma on Thu, 25 May 2017 11:56:21 -0500

Comment 28 errata-xmlrpc 2018-04-10 13:52:38 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://access.redhat.com/errata/RHBA-2018:0802


Note You need to log in before you can comment on or make changes to this bug.