Bug 100251

Summary: virt-manager does not display spice monitor
Product: Spice Reporter: Oscar Segarra <oscar.segarra>
Component: spice-gtkAssignee: Spice Bug List <spice-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: pavelgrunt, teuf
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: virt-manager debug log
domain xml dump

Description Oscar Segarra 2017-03-17 13:12:46 UTC
Created attachment 130288 [details]
virt-manager debug log

After applying latest spice patch, virt-manager does not display guest desktop.

I have attached logs of virt-manager executed as:

SPICE_DEBUG=1 
virt-manager --debug

[root@vdicnode01 ~]# rpm -q virt-manager spice-gtk3
virt-manager-1.4.0-2.el7.noarch
spice-gtk3-0.33.100-2017031315142d80.spice.nightly.el7.centos.x86_64

[root@vdicnode01 ~]# rpm -q spice-server
spice-server-0.13.3.235-201703161513e3e2.spice.nightly.el7.centos.x86_64

Note that both virt-viewer and spicy displays correctly the desktop
Comment 1 Oscar Segarra 2017-03-17 13:14:39 UTC
Created attachment 130289 [details]
domain xml dump
Comment 2 Jonathon Jongsma 2017-03-17 18:29:23 UTC
If spicy and virt-viewer display the desktop correctly, why did you file it against spice-gtk rather than virt-manager?
Comment 3 Oscar Segarra 2017-03-17 21:55:34 UTC
Because it (virt-manager) has stopped working properly after patching spice-server and spice-gtk with nightly build.
Comment 4 Christophe Fergeau 2017-03-20 10:23:05 UTC
Have you tried downgrading just one of the 2 packages to narrow down if the problematic package is spice-server or spice-gtk?
Comment 5 Oscar Segarra 2017-03-22 11:33:41 UTC
Hi, 

I have done some tests and the problem is located on the spice-gtk3 package (not in the spice-server one)

Thanks a lot.
Comment 6 Oscar Segarra 2017-03-23 08:27:33 UTC
Hi, 

I have realized that the "black display" just happens on windows guests, on centos 7 linux guests I can see the console.

Thanks a lot.
Comment 7 Pavel Grunt 2017-03-23 08:57:20 UTC
Oscar,

virt-manager --debug really says nothing ? In my case is very verbose. For us the interesting info starts when you open the console (click on a vm to open its window) - in my case the first log is:
 (console:718) Starting connect process for proto=spice trans= connhost=127.0.0.1 ..

It would be easier if it was reproducible using virt-viewer, you can try following commands

virt-viewer --attach -c qemu:///system WINDOWS_VM
virt-viewer --direct -c qemu:///system WINDOWS_VM

Thanks
Comment 8 Oscar Segarra 2017-03-23 10:12:54 UTC
Hi, the complete log:

[root@vdicnode01 ~]# virt-manager --debug
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (cli:258) Launched with command line: /usr/share/virt-manager/virt-manager --debug
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (virt-manager:182) virt-manager version: 1.4.0
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (virt-manager:183) virtManager import: <module 'virtManager' from '/usr/share/virt-manager/virtManager/__init__.pyc'>
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (virt-manager:213) PyGObject version: 3.14.0
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (virt-manager:217) GTK version: 3.14.13
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (engine:496) libguestfs inspection support: False
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (systray:156) Showing systray: False
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (engine:1029) processing cli command uri= show_window= domain=
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (engine:1031) No cli action requested, launching default window
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (manager:203) Showing manager
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (engine:401) window counter incremented to 1
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (engine:161) Loading stored URIs:
qemu+ssh://root@vdicnode02-priv/system
qemu:///system
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (engine:140) Initial gtkapplication activated
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:569) conn=qemu:///system changed to state=Connecting
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:888) Scheduling background open thread for qemu:///system
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:938) libvirt version=2000000
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:940) daemon version=2000000
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:941) conn version=1005003
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:943) qemu:///system capabilities:
<capabilities>

  <host>
    <uuid>21134d56-f762-21c3-0c02-14bde50f62d6</uuid>
    <cpu>
      <arch>x86_64</arch>
      <model>SandyBridge</model>
      <vendor>Intel</vendor>
      <topology sockets="4" cores="2" threads="1"/>
      <feature name="vme"/>
      <feature name="ds"/>
      <feature name="ss"/>
      <feature name="ht"/>
      <feature name="vmx"/>
      <feature name="pcid"/>
      <feature name="osxsave"/>
      <feature name="hypervisor"/>
      <feature name="arat"/>
      <feature name="tsc_adjust"/>
      <feature name="invtsc"/>
      <pages unit="KiB" size="4"/>
      <pages unit="KiB" size="2048"/>
    </cpu>
    <power_management>
      <suspend_mem/>
    </power_management>
    <migration_features>
      <live/>
      <uri_transports>
        <uri_transport>tcp</uri_transport>
        <uri_transport>rdma</uri_transport>
      </uri_transports>
    </migration_features>
    <topology>
      <cells num="1">
        <cell id="0">
          <memory unit="KiB">4193716</memory>
          <pages unit="KiB" size="4">1048429</pages>
          <pages unit="KiB" size="2048">0</pages>
          <distances>
            <sibling id="0" value="10"/>
          </distances>
          <cpus num="8">
            <cpu id="0" socket_id="0" core_id="0" siblings="0"/>
            <cpu id="1" socket_id="0" core_id="1" siblings="1"/>
            <cpu id="2" socket_id="1" core_id="0" siblings="2"/>
            <cpu id="3" socket_id="1" core_id="1" siblings="3"/>
            <cpu id="4" socket_id="2" core_id="0" siblings="4"/>
            <cpu id="5" socket_id="2" core_id="1" siblings="5"/>
            <cpu id="6" socket_id="3" core_id="0" siblings="6"/>
            <cpu id="7" socket_id="3" core_id="1" siblings="7"/>
          </cpus>
        </cell>
      </cells>
    </topology>
    <secmodel>
      <model>none</model>
      <doi>0</doi>
    </secmodel>
    <secmodel>
      <model>dac</model>
      <doi>0</doi>
      <baselabel type="kvm">+9869:+9869</baselabel>
      <baselabel type="qemu">+9869:+9869</baselabel>
    </secmodel>
  </host>

  <guest>
    <os_type>hvm</os_type>
    <arch name="i686">
      <wordsize>32</wordsize>
      <emulator>/usr/libexec/qemu-kvm</emulator>
      <machine maxCpus="240">pc-i440fx-rhel7.0.0</machine>
      <machine canonical="pc-i440fx-rhel7.0.0" maxCpus="240">pc</machine>
      <machine maxCpus="240">rhel6.0.0</machine>
      <machine maxCpus="240">rhel6.1.0</machine>
      <machine maxCpus="240">rhel6.2.0</machine>
      <machine maxCpus="240">rhel6.3.0</machine>
      <machine maxCpus="240">rhel6.4.0</machine>
      <machine maxCpus="240">rhel6.5.0</machine>
      <machine maxCpus="240">rhel6.6.0</machine>
      <domain type="qemu">
        <emulator>/usr/libexec/qemu-kvm</emulator>
      </domain>
      <domain type="kvm">
        <emulator>/usr/libexec/qemu-kvm</emulator>
      </domain>
    </arch>
    <features>
      <cpuselection/>
      <deviceboot/>
      <disksnapshot default="off" toggle="no"/>
      <acpi default="on" toggle="yes"/>
      <apic default="on" toggle="no"/>
      <pae/>
      <nonpae/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name="x86_64">
      <wordsize>64</wordsize>
      <emulator>/usr/libexec/qemu-kvm</emulator>
      <machine maxCpus="240">pc-i440fx-rhel7.0.0</machine>
      <machine canonical="pc-i440fx-rhel7.0.0" maxCpus="240">pc</machine>
      <machine maxCpus="240">rhel6.0.0</machine>
      <machine maxCpus="240">rhel6.1.0</machine>
      <machine maxCpus="240">rhel6.2.0</machine>
      <machine maxCpus="240">rhel6.3.0</machine>
      <machine maxCpus="240">rhel6.4.0</machine>
      <machine maxCpus="240">rhel6.5.0</machine>
      <machine maxCpus="240">rhel6.6.0</machine>
      <domain type="qemu">
        <emulator>/usr/libexec/qemu-kvm</emulator>
      </domain>
      <domain type="kvm">
        <emulator>/usr/libexec/qemu-kvm</emulator>
      </domain>
    </arch>
    <features>
      <cpuselection/>
      <deviceboot/>
      <disksnapshot default="off" toggle="no"/>
      <acpi default="on" toggle="yes"/>
      <apic default="on" toggle="no"/>
    </features>
  </guest>

</capabilities>

[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:790) Using domain events
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:827) Using network events
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) network=default status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) pool=default status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) network=public status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) interface=vdi status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) interface=eno16777736 status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) interface=interconnect status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) interface=lo status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) pool=nfs-vdic-images status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) domain=vdicudsserver status=Running added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) domain=one-37 status=Running added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) pool=root status=Active added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) domain=vdicinfluxdb01 status=Running added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) domain=vdicdb01 status=Running added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) domain=one-22 status=Shutoff added
[Thu, 23 Mar 2017 11:11:20 virt-manager 30587] DEBUG (connection:1052) pool=nfs-vdic-mgmt-vm status=Active added
[Thu, 23 Mar 2017 11:11:21 virt-manager 30587] DEBUG (connection:569) conn=qemu:///system changed to state=Active

(virt-manager:30587): Gtk-WARNING **: GtkOverlay does not have a property called index
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (serialcon:37) Using VTE API 2.91
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (details:609) Showing VM details: <vmmDomain object at 0x3006c30 (virtManager+domain+vmmDomain at 0x2bd9c00)>
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (engine:401) window counter incremented to 2
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (console:717) Starting connect process for proto=spice trans= connhost=127.0.0.1 connuser= connport= gaddr=0.0.0.0 gport=5937 gtlsport=None gsocket=None
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <UsbredirChannel object at 0x7f18708643c0 (SpiceUsbredirChannel at 0x3c3ca70)>
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <UsbredirChannel object at 0x7f18708643c0 (SpiceUsbredirChannel at 0x3c42170)>
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <UsbredirChannel object at 0x7f18708643c0 (SpiceUsbredirChannel at 0x3c44320)>

(virt-manager:30587): GSpice-WARNING **: PulseAudio context failed Connection refused

(virt-manager:30587): GSpice-WARNING **: pa_context_connect() failed: Connection refused
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <RecordChannel object at 0x7f18708643c0 (SpiceRecordChannel at 0x3be4660)>
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <PlaybackChannel object at 0x7f18708643c0 (SpicePlaybackChannel at 0x3c60140)>

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "jpegdec"

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp8dec"

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "h264parse"

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp9dec"
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <DisplayChannel object at 0x7f18708643c0 (SpiceDisplayChannel at 0x3c916e0)>
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (console:844) Viewer connected

(virt-manager:30587): GSpice-WARNING **: Warning no automount-inhibiting implementation available
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <CursorChannel object at 0x34f2500 (SpiceCursorChannel at 0x3ca1630)>
[Thu, 23 Mar 2017 11:11:24 virt-manager 30587] DEBUG (viewers:598) Requesting fd for channel: <InputsChannel object at 0x34f2500 (SpiceInputsChannel at 0x3cb3250)>
[Thu, 23 Mar 2017 11:11:30 virt-manager 30587] DEBUG (details:645) Closing VM details: <vmmDomain object at 0x3006c30 (virtManager+domain+vmmDomain at 0x2bd9c00)>
[Thu, 23 Mar 2017 11:11:30 virt-manager 30587] DEBUG (engine:405) window counter decremented to 1

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "jpegdec"

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp8dec"

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "h264parse"

(virt-manager:30587): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp9dec"
[Thu, 23 Mar 2017 11:11:32 virt-manager 30587] DEBUG (manager:214) Closing manager
[Thu, 23 Mar 2017 11:11:32 virt-manager 30587] DEBUG (engine:405) window counter decremented to 0
[Thu, 23 Mar 2017 11:11:32 virt-manager 30587] DEBUG (engine:467) No windows found, requesting app exit
[Thu, 23 Mar 2017 11:11:32 virt-manager 30587] DEBUG (connection:843) conn.close() uri=qemu:///system
[Thu, 23 Mar 2017 11:11:32 virt-manager 30587] DEBUG (connection:569) conn=qemu:///system changed to state=Disconnected
[Thu, 23 Mar 2017 11:11:32 virt-manager 30587] DEBUG (engine:491) Exiting app normally.
[root@vdicnode01 ~]#
Comment 9 Oscar Segarra 2017-03-23 10:16:25 UTC
With both virt-viewer commands, it has worked perfectly:

[root@vdicnode01 ~]# virt-viewer --attach -c qemu:///system one-37
(virt-viewer:33996): Gtk-WARNING **: GtkOverlay does not have a property called index
(virt-viewer:33996): GSpice-WARNING **: PulseAudio context failed Connection refused
(virt-viewer:33996): GSpice-WARNING **: pa_context_connect() failed: Connection refused
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "jpegdec"
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp8dec"
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "h264parse"
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp9dec"
(virt-viewer:33996): GSpice-WARNING **: Warning no automount-inhibiting implementation available
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "jpegdec"
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp8dec"
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "h264parse"
(virt-viewer:33996): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp9dec"
[root@vdicnode01 ~]#

[root@vdicnode01 ~]# virt-viewer --direct -c qemu:///system one-37
(virt-viewer:35578): Gtk-WARNING **: GtkOverlay does not have a property called index
(virt-viewer:35578): GSpice-WARNING **: PulseAudio context failed Connection refused
(virt-viewer:35578): GSpice-WARNING **: pa_context_connect() failed: Connection refused
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "jpegdec"
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp8dec"
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "h264parse"
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp9dec"
(virt-viewer:35578): GSpice-WARNING **: Warning no automount-inhibiting implementation available
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "jpegdec"
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp8dec"
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "h264parse"
(virt-viewer:35578): Spice-WARNING **: channel-display-gst.c:341:create_pipeline: GStreamer error: no element "vp9dec"
Comment 10 Pavel Grunt 2017-03-23 10:33:41 UTC
looks ok to me, just one thing

why do you run graphical apps as root ? virt-manager works fine as normal user, actually better because you would avoid audio issues (GSpice-WARNING **: PulseAudio context failed ...)
Comment 11 Oscar Segarra 2017-03-23 11:27:09 UTC
Hi, 

I have tried with root because I was logged in with root. I have tried with a regular user and I have experienced the same behavior with virt-manager.
Comment 12 Pavel Grunt 2017-03-24 15:08:16 UTC
I was able to reproduce. Oscar, are you sure that your centos guests do not have the issue ? Are they really running spice ?
Comment 13 Oscar Segarra 2017-03-24 17:40:45 UTC
Yes, I'm sure they run spice because I can connect with spicy, with virt-viewer and from my windows 10 workstation by remote-viewer.

Only the local connection with virt-manager from the host does not work.

If you need further information, please let me know!
Comment 14 Pavel Grunt 2017-03-24 17:45:54 UTC
(In reply to Oscar Segarra from comment #13)
> Yes, I'm sure they run spice because I can connect with spicy, with
> virt-viewer and from my windows 10 workstation by remote-viewer.
> 
> Only the local connection with virt-manager from the host does not work.

 in the comment 6 you said that centos guests work in virt-manager

> 
> If you need further information, please let me know!
Comment 15 Oscar Segarra 2017-03-24 18:00:59 UTC
Yes, It is.. but if I downgrade spice-gtk3, virt-manager works again both with windows and linux guests.

I agree the problem has a relation with windows guest.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.