Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
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.
+++ This bug was initially created as a clone of Bug #1032923 +++
Repeat step 3 quickly about 10-20 times,
This will be reproduced on RHEL7 with:
# rpm -qa spice* virt-viewer
spice-glib-0.20-6.el7.x86_64
spice-gtk3-0.20-6.el7.x86_64
virt-viewer-0.5.7-2.el7.x86_64
spice-gtk-0.20-6.el7.x86_64
spice-server-0.12.4-3.el7.x86_64
spice-xpi-2.8-4.el7.x86_64
spice-vdagent-0.14.0-5.el7.x86_64
And the display will come out with a mirror of another display.
Description
Additional display pop out when restarting service spice-vdagentd in guest
Version:
libvirt-0.10.2-29.el6.1.x86_64
virt-viewer-0.5.6-8.el6.x86_64
spice-gtk-python-0.20-11.el6.x86_64
spice-xpi-2.7-24.el6.x86_64
spice-vdagent-0.14.0-2.el6.x86_64
spice-glib-0.20-11.el6.x86_64
spice-gtk-0.20-11.el6.x86_64
spice-server-0.12.4-6.el6.x86_64
How reproducible:
100%
Steps to Reproduce:
1.Prepare a spice guest with qxl and spicevmc,install spice-vdagent in guest.
2.Boot the guest,use virt-viewer to launch the guest,disable display 1 and enable other displays,eg display 2.
# virt-viewer $guest
3.Restart service spice-vdagentd in guest.
4.Display 1 will pop out.
Actual results:
As description.
Expected results:
No additional display pop out when restarting service spice-vdagentd in guest.
Additional info:
1.If enable display 1,then restart service spice-vdagentd in guest,no additional display pop out.
2.Disable display 1,enable display 3 or 4,restart service spice-vdagentd in guest,display 1 will pop put.
3.The issue can not be reproduced on rhel7.
Comment 2RHEL Program Management
2014-03-24 05:49:57 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
This appears to be caused by a race condition when an agent becomes connected. When the agent becomes connected, virt-viewer triggers a display update (spice_main_send_monitor_config()). This display update happens in a timeout handler, but the timeout interval is set to 0 (so it behaves basically like an idle handler).
The race happens because spice_main_send_monitor_config() behaves slightly differently depending on the agent's capabilities. And sometimes the idle handler runs after the client and server have negotiated agent capabilities, and sometimes it runs before the client and server have negotiated capabilities. When it runs *before* the agent capabilities are negotiated, we have to assume that the server does not support sparse monitor configurations. So instead of sending down an update where display #0 is off and display #1 is WxH, we send down an update that only a single display: display #0 is WxH. This results in the first display becoming enabled.
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-2015-0297.html