Description of problem: remote-viewer only show one display if connect windows 7 guest on a 4 monitors machine, if try 2 or 3 times, it works. Version-Release number of selected component (if applicable): virt-viewer-0.6.0-7.el6.x86_64 spice-server-0.12.4-9.el6.x86_64 spice-gtk-python-0.22-4.el6.x86_64 spice-vdagent-0.14.0-3.el6_5.x86_64 spice-gtk-0.22-4.el6.x86_64 spice-xpi-2.7-24.el6.x86_64 spice-glib-0.22-4.el6.x86_64 virtio-win-1.6.8-4.el6 How reproducible: 100% Steps to Reproduce: 1. Install a win7 guest on a 4 monitors machine, install spice agent and qxl dirver in it. 2. configure it with only one display first # virt-viewer $vm make sure only one display comes out 3. close virt-viewer, use remote-viewer connect the guest # remote-viewer spice://$ip/$port --full-screen --debug Actual results: Stpe3, only two displays comes out with fullscreen, but seems 4 displays are ok form log. # cat $log (remote-viewer:17024): remote-viewer-DEBUG: Insert window 0 0x1a70840 (remote-viewer:17024): remote-viewer-DEBUG: Insert window 1 0x1a70e40 (remote-viewer:17024): remote-viewer-DEBUG: Insert window 2 0x1ab9e10 (remote-viewer:17024): remote-viewer-DEBUG: Insert window 3 0x1ae1240 (remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 0: 1 (remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 1: 1 (remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 3: 1 (remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 2: 1 ... when I connect the guest second time, 3 displays comes out when I connect it third time, 4 displays comes out. Expected results: 4 displays should come out in fullscreen mode when I connect it first time Additional info:
Created attachment 910348 [details] remote-viewer log with --spice-debug
This is unlikely a client bug, auto-conf is correct: (remote-viewer:17024): remote-viewer-DEBUG: Performing full screen auto-conf, 4 host monitors (remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 0 to (0,0)-(1280x1024) (remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 1 to (1280,0)-(1280x1024) (remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 2 to (2560,0)-(1680x1050) (remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 3 to (4240,0)-(1280x1024) (remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #0 1280x1024+0+0 @ 32 bpp (remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #1 1280x1024+1280+0 @ 32 bpp (remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #2 1680x1050+2560+0 @ 32 bpp (remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #3 1280x1024+4240+0 @ 32 bpp What are the windows driver & vdagent version? Please get the full windows vdagent debug log
I can reproduce, using upstream spice-guest-tools-0.74.exe on rhevm 3.4 However, I couldn't reproduce on f20 with qxl 6.1.0.10018 and spice agent 0.7.2.7-1b0e
(In reply to Marc-Andre Lureau from comment #4) > I can reproduce, using upstream spice-guest-tools-0.74.exe on rhevm 3.4 > > However, I couldn't reproduce on f20 with qxl 6.1.0.10018 and spice agent > 0.7.2.7-1b0e actually, result is random, looks like something racy, ok moving component CongDong, no need for logs, it can be reproduced. thanks
Here is my vdagent log: 1832::INFO::2014-06-19 15:45:47,824::handle_announce_capabilities::Got capabilities (1) 1832::INFO::2014-06-19 15:45:47,824::handle_announce_capabilities::77 1832::INFO::2014-06-19 15:45:47,824::send_announce_capabilities::Sending capabilities: 1832::INFO::2014-06-19 15:45:47,824::send_announce_capabilities::2B7 1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::0. 1600*817*32 (0,0) 1 1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::1. 400*377*32 (1600,0) 1 1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::2. 400*377*32 (2000,0) 1 1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::3. 400*377*32 (2400,0) 1 Monitors config correctly received 1832::INFO::2014-06-19 15:45:47,824::consistent_displays::#qxls 4 #others 0 1832::INFO::2014-06-19 15:45:47,824::set_displays::Set display mode 1600x817 1832::INFO::2014-06-19 15:45:47,840::wnd_proc::Display change 1832::INFO::2014-06-19 15:45:47,840::consistent_displays::#qxls 4 #others 0 1832::INFO::2014-06-19 15:45:47,855::init_dev_mode::attach 0 1832::INFO::2014-06-19 15:45:47,886::set_displays::Set display mode 1600x792 ^^ what?
iirc, this commit was solving this issue, and was later reverted because I didn't manage to find reproducer: commit 67c1bcf49367d1726033b298a8ab016b4e22cf23 Author: Marc-André Lureau <marcandre.lureau> Date: Sat Mar 16 00:55:15 2013 +0100 Refresh monitor config only when needed Somehow wnd_proc()->get_display() may be reentered during ChangeDisplaySettings
posted: http://lists.freedesktop.org/archives/spice-devel/2014-June/016995.html
Hi Marian, If this bug requires doc text for errata release, could you provide draft text in the following format: Cause: Consequence: Fix: Result: The documentation team will review, edit, and approve the text. If this bug does not require doc text, please set the 'requires_doc_text' flag to -.
See comment12. Cheers, Julie
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-0204.html