Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1517117 - Guest with two videos GUI crash when open more than one display by virt-viewer
Summary: Guest with two videos GUI crash when open more than one display by virt-viewer
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: xorg-x11-server
Version: 7.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Adam Jackson
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-24 09:16 UTC by yafu
Modified: 2018-11-02 01:56 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:


Attachments (Terms of Use)
log (deleted)
2017-12-05 08:19 UTC, yafu
no flags Details

Description yafu 2017-11-24 09:16:56 UTC
Description of the problem:
Guest with two videos GUI crash when open more than one display by virt-viewer

Version-Release number of selected component (if applicable):
host:
virt-viewer-5.0-8.el7.x86_64
spice-server-0.14.0-2.el7.x86_64
spice-gtk3-0.34-1.el7.x86_64
libvirt-3.9.0-2.el7.x86_64
qemu-kvm-rhev-2.10.0-7.el7.x86_64
guest:
xorg-x11-server-Xorg-1.19.5-2.el7.x86_64

How reproducible:
100%

Steps to reproduce:
1.Start a guest with two videos(the primiary video device has multiple heads) and spice graphics device:
#virsh dumpxml spice
...
  <video>
      <model type='qxl' ram='65536' vram='16384' vgamem='16384' heads='2' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
    </video>
    <video>
      <model type='qxl' ram='65536' vram='16384' vgamem='16384' heads='1'/>
      <alias name='video1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </video>
...
   <graphics type='spice' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
...

2.Connect the guest with virt-viewer after guest os **fully stared**:
#virt-viewer spice

3.Open Display2 in virt-viewer:
Click "virt-viewer"-"View"-"Displays"-"Display2"

Actual resuts:
Guest GUI crash after step 3

Expected results:
Show two display successfully after step3

Additional info:
Please see the guest's syslog and xorg log in the attachment.

Comment 2 yafu 2017-12-05 08:19:43 UTC
Created attachment 1363060 [details]
log

Comment 3 Adam Jackson 2018-01-15 19:39:25 UTC
Relevant bit of RRTellChanged (where the crash happens):

        xorg_list_for_each_entry(iter, &master->slave_list, slave_head) {
            pSlaveScrPriv = rrGetScrPriv(iter);
            pSlaveScrPriv->provider->changed = FALSE;

Presumably one of those two pointers is null. The log is weird though, I don't understand why there are two GPU instances of qxl.


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