Bug 1661135

Summary: closed display pops up again in rhel8
Product: Red Hat Enterprise Linux 8 Reporter: Xiaodai Wang <xiaodwan>
Component: virt-viewerAssignee: Julien Ropé <jrope>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: ---CC: juzhou, knoel, mxie, mzhan, rbalakri, tzheng, zili
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-02-01 07:31:22 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 log
none
recording none

Description Xiaodai Wang 2018-12-20 07:21:22 UTC
Description of problem:
closed display pops up again in rhel8

Version-Release number of selected component (if applicable):
virt-viewer-7.0-3.el8.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Prepare a spice guest in rhel8
2. Open the guest by virt-viewer.
$ virt-viewer -c qemu:///system $guest
3. Enable more displays, such as 'Display2' and 'Display4'.
4. Close 'Display1'.

Actual results:
'Display 1' pops up again after untick it.

Expected results:
The 'Display 1' should not pop up.

Additional info:

Comment 1 Xiaodai Wang 2018-12-20 07:22:21 UTC
Created attachment 1515808 [details]
virt-viewer log

Comment 2 Xiaodai Wang 2018-12-20 07:22:53 UTC
Created attachment 1515809 [details]
recording

Comment 3 Julien Ropé 2020-02-19 16:41:47 UTC
I have seen this problem several times, but it seemed to happen only from a newer virt-viewer to an older VM (e.g: RHEL8.2 client connecting to RHEL8.1 guest).

The logs shows that the client is receiving inconsistent events from the guest. This can be seen in the logs you provided.
- 15:11:16 - opening the connection, receiving information for 1 display from the guest
  - ID 0 - +0+0-1024x768

- 15:11:23 - enabling second display, receiving information for 2 displays from the guest
  - ID 0 - +0+0-1024x768
  - ID 2 - +1024+0-1024x740

- 15:11:26 - enabling third display, receiving information for 3 displays from the guest
  - ID 0 - +0+0-1024x768
  - ID 2 - +1024+0-1024x740
  - ID 3 - +2048+0-1024x740

- 15:11:33.760 - disabling a display, receiving information for 2 displays from the guest
  - ID 0 - +0+0-1024x768
  - ID 2 - +1024+0-1024x740
 => NOTE: the display ID show that you disabled display #3, while in your steps to reproduce, you said you disable display #1. Is that correct?
 If you effectively disabled display #1, then this may be a clue that there is a mismatch of IDs between guest and client.

- 15:11:33.817 - receiving information for 2 displays from the guest, but the two displays are overlapped
  - ID 0 - +0+0-1024x768
  - ID 2 - +0+0-1024x740

- 15:11:33.818 - receiving information for 3 displays from the guest: the two overlapped displays, plus a third one that matches the expected second display position and size
  - ID 0 - +0+0-1024x768
  - ID 2 - +0+0-1024x740
  - ID 3 - +1024+0-1024x740



Now in my experience, there are things that are different, or not mentioned in this ticket:
- this happens only when you disable a display that is not the last one.
- the window that re-opens doesn't handle mouse events. It shows the same content as the other window though.
- if I disable the window again, then close and re-open the application, the disabled display comes again.

It looks to me that there is a bug indeed, but it may have evolved since this ticket was created. Maybe a retest is necessary?

Comment 6 RHEL Program Management 2021-02-01 07:31:22 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.