Bug 1038726 - guest not resized on entering fullscreen: client doesn't send monitor config when launched via browser plugin and connected over TLS
Summary: guest not resized on entering fullscreen: client doesn't send monitor config ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virt-viewer
Version: 6.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Marc-Andre Lureau
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 1082140 (view as bug list)
Depends On:
Blocks: 1009648 1038727
TreeView+ depends on / blocked
 
Reported: 2013-12-05 16:49 UTC by David Jaša
Modified: 2018-12-09 17:20 UTC (History)
14 users (show)

Fixed In Version: virt-viewer-0.6.0-2.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1038727 (view as bug list)
Environment:
Last Closed: 2014-10-14 06:30:30 UTC
Target Upstream Version:


Attachments (Terms of Use)
Patch used in RHEV (1.86 KB, patch)
2014-04-29 15:33 UTC, Christophe Fergeau
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:1379 0 normal SHIPPED_LIVE virt-viewer bug fix update 2014-10-14 01:05:43 UTC

Description David Jaša 2013-12-05 16:49:43 UTC
Description of problem:
When the client:
  * is launched via broser plugin
  * starts windowed
  * connects over TLS
it doesn't send monitor_config message after switch to fullscreen ("Automatically resize" is on).

Version-Release number of selected component (if applicable):
RHEL 6:
  spice-gtk-0.20-11.el6.x86_64
  virt-viewer-0.5.6-8.el6.x86_64
Windows (at least 7 32b, XP)
  mingw-virt-viewer-0.5.6-15.el6_5

How reproducible:
always

Steps to Reproduce:
1. connect to the RHEV VM in default configuration, windowed
2. hit Shift+F11
3.

Actual results:
guest resolution stays as-is, monitor_config message is not sent at all

Expected results:
guest resolution gets resized to respective client monitor resolution

Additional info:
* manually launched client is not affected
* client launched with .vv file is not affected
* client launched via plugin but connecting over plaintext connection is not affected

I'm wondering if this isn't 6.5.z material

Comment 1 David Jaša 2013-12-05 16:52:26 UTC
mingw-virt-viewer bug: bug 1038727

Comment 2 Marc-Andre Lureau 2013-12-12 16:18:46 UTC
it's funny how I failed to imagine the reason, but I can indeed reproduce...
let see

Comment 3 Marc-Andre Lureau 2013-12-12 22:42:46 UTC
Testing with XPI test page.

afaict, the difference is not the plain-port vs tls-port (in fact)

It is the admin console option. If I don't check it, the I get auto-display flag on, but not fullscreen. Here is test.html js code:

    SendValue(CONTROLLER_FULL_SCREEN,
            (m_fullscreen == true ? CONTROLLER_SET_FULL_SCREEN : 0) |
            (m_admin_console == false ? CONTROLLER_AUTO_DISPLAY_RES : 0));


Please verify controller log:
GSpiceController-DEBUG: controller.vala:137: got FULL_SCREEN 0x2 (only auto-res)

Then, when going fullscreen will not change resolution. because of

        g_object_get(app, "fullscreen-auto-conf", &auto_conf, NULL);
        if (auto_conf)
            self->priv->auto_resize = AUTO_RESIZE_NEVER;

and

    virt_viewer_display_spice_resize(self, allocation,
             self->priv->auto_resize != AUTO_RESIZE_NEVER);

With virt-viewer git, it all seems to work better. It goes fullscreen if AUTO_DISPLAY_RES, and doesn't block fullscreen auto-res.

If you could verify it's not a tls vs non-tls issue, I think we should post-pone it and wait for next release.

Comment 4 David Jaša 2013-12-16 18:33:18 UTC
admin-console seems to be the wrong lead: it is set to 0 by user portal:
2013-12-16 19:25:36,935 DEBUG nsPluginInstance::SetHostIP: 10.34.73.133
2013-12-16 19:25:36,935 DEBUG nsPluginInstance::SetPort: 5920
2013-12-16 19:25:36,936 DEBUG nsPluginInstance::SetTitle: w7x64-33-dj:%d - Press SHIFT+F12 to Release Cursor
2013-12-16 19:25:36,936 DEBUG nsPluginInstance::SetDynamicMenu: 
2013-12-16 19:25:36,936 DEBUG nsPluginInstance::SetFullScreen: 0
2013-12-16 19:25:36,936 DEBUG nsPluginInstance::SetPassword: Password set
2013-12-16 19:25:36,936 DEBUG nsPluginInstance::SetNumberOfMonitors: 2
2013-12-16 19:25:36,936 DEBUG nsPluginInstance::SetUsbListenPort: 0
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetAdminConsole: 0
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetSecurePort: 5921
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetSSLChannels: original channels: smain,sinputs,scursor,splayback,srecord,sdisplay,susbredir,ssmartcard
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetSSLChannels: modified channels: main,inputs,cursor,playback,record,display,usbredir,smartcard
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetGuestHostName: 10.34.72.39
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetCipherSuite: DEFAULT
2013-12-16 19:25:36,937 DEBUG nsPluginInstance::SetHostSubject: O=spice-qe,CN=10.34.73.74
2013-12-16 19:25:36,938 DEBUG nsPluginInstance::SetTrustStore: Certificate:
<...>
2013-12-16 19:25:36,938 DEBUG nsPluginInstance::SetHotKeys: release-cursor=shift+f12,toggle-fullscreen=shift+f11
2013-12-16 19:25:36,938 DEBUG nsPluginInstance::SetNoTaskMgrExecution: 1
2013-12-16 19:25:36,938 DEBUG nsPluginInstance::SetSendCtrlAltDelete: 1
2013-12-16 19:25:36,938 DEBUG nsPluginInstance::SetUsbAutoShare: 1
2013-12-16 19:25:36,940 DEBUG nsPluginInstance::SetUsbFilter: -1,60186,10000,256,1|-1,1118,245,-1,1|-1,1133,2245,-1,1|-1,1133,2242,5,1|8,-1,-1,-1,1|7,-1,-1,-1,1|-1,-1,-1,-1,0
2013-12-16 19:25:36,940 INFO  nsPluginInstance::Connect: SPICE_XPI_SOCKET: /tmp/spicec-SYC9Qx/spice-xpi
2013-12-16 19:25:36,940 INFO  nsPluginInstance::Connect: SPICE_PROXY: http://10.34.73.1:3128
2013-12-16 19:25:36,940 INFO  nsPluginInstance::Connect: SPICE_FOREIGN_MENU_SOCKET: /tmp/spicec-SYC9Qx/spice-foreign
2013-12-16 19:25:36,941 DEBUG nsPluginInstance::Connect: Controller pid: 2173
2013-12-16 19:25:36,941 DEBUG QErrorHandler: Something went wrong: connect error, 2
2013-12-16 19:25:36,941 DEBUG SpiceController::Connect: Connect Error
2013-12-16 19:25:36,941 DEBUG QErrorHandler: Something went wrong: connect error, 2
2013-12-16 19:25:36,941 DEBUG SpiceController::Connect: Connect Error
2013-12-16 19:25:36,941 INFO  nsPluginInstance::Connect: Launching /usr/libexec/spice-xpi-client 
2013-12-16 19:25:37,942 DEBUG SpiceController::Connect: Connected!
2013-12-16 19:25:39,947 INFO  nsPluginInstance::Connect: Initiating connection with controller


and it doesn't show up in r-v output at all:
starting remote-viewer --spice-controller ...
(remote-viewer:2173): remote-viewer-DEBUG: Couldn't load configuration: File is empty
(remote-viewer:2173): GSpice-DEBUG: spice-session.c:172 New session (compiled from package spice-gtk 0.20)
(remote-viewer:2173): GSpice-DEBUG: spice-session.c:176 Supported channels: main, display, inputs, cursor, playback, record, smartcard, usbredir
(remote-viewer:2173): GSpice-DEBUG: usb-device-manager.c:856 device added 0x19fa6f0
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:215: new socket client, reading init header
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 1size 21
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:97: got HOST: 10.34.73.133
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 2size 12
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:101: got PORT: 5920
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 3size 12
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:105: got SPORT: 5921
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 10size 12
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:137: got FULL_SCREEN 0x2
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 4size 21
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:109: got PASSWORD
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 7size 16
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:124: got TLS_CIPHERS DEFAULT
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 11size 59
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:141: got TITLE w7x64-33-dj:%d - Press SHIFT+F12 to Release Cursor
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 15size 12
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:159: got SEND_CAD 1
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 5size 70
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:114: got SECURE_CHANNELS main,inputs,cursor,playback,record,display,usbredir,smartcard
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 8size 35
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:128: got CA_FILE /tmp/truststore.pem-S3BRSZ
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 9size 34
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:132: got HOST_SUBJECT O=spice-qe,CN=10.34.73.74
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 14size 61
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:164: got HOTKEYS release-cursor=shift+f12,toggle-fullscreen=shift+f11
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 16size 8
(remote-viewer:2173): GSpice-DEBUG: spice-session.c:1623 session: disconnecting 0
(remote-viewer:2173): GSpice-DEBUG: spice-channel.c:127 main-1:0: spice_channel_constructed
(remote-viewer:2173): GSpice-DEBUG: spice-session.c:1930 main-1:0: new main channel, switching
(remote-viewer:2173): GSpice-DEBUG: spice-gtk-session.c:809 Changing main channel from (nil) to 0x1b0db50
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:178: got CONNECT request
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 17size 8
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:182: got SHOW request
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 22size 12
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:190: got ENABLE_USB 1
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 23size 12
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:194: got ENABLE_USB_AUTOSHARE 1
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:246: new message 24size 121
(remote-viewer:2173): GSpiceController-DEBUG: controller.vala:198: got USB_FILTER -1,60186,10000,256,1|-1,1118,245,-1,1|-1,1133,2245,-1,1|-1,1133,2242,5,1|8,-1,-1,-1,1|7,-1,-1,-1,1|-1,-1,-1,-1,0
(remote-viewer:2173): GSpice-DEBUG: spice-channel.c:2385 main-1:0: Open coroutine starting 0x1b0db50
(remote-viewer:2173): GSpice-DEBUG: spice-channel.c:2231 main-1:0: Started background coroutine 0x1b0dbe0
(remote-viewer:2173): GSpice-DEBUG: spice-session.c:1812 open host 10.34.73.133:5921
(remote-viewer:2173): GSpice-DEBUG: spice-session.c:1815 (with proxy http://10.34.73.1:3128)
<no more controller-related messages>

Comment 5 Marc-Andre Lureau 2013-12-16 19:01:46 UTC
(In reply to David Jaša from comment #4)
> admin-console seems to be the wrong lead: it is set to 0 by user portal:

> (remote-viewer:2173): GSpiceController-DEBUG: controller.vala:137: got
> FULL_SCREEN 0x2

nope, that confirms it.

Comment 6 Marc-Andre Lureau 2014-03-12 14:37:45 UTC
the fix is the same as bug 1069735

Comment 7 Christophe Fergeau 2014-04-29 15:33:27 UTC
Created attachment 890850 [details]
Patch used in RHEV

This was fixed in RHEV in virt-viewer with this non-upstream patch.

Comment 9 CongDong 2014-05-19 11:40:33 UTC
I test on rhel6.5 with:
  spice-gtk-0.20-11.el6.x86_64
  virt-viewer-0.5.6-8.el6.x86_64
  spice-xpi-2.7-24.el6.x86_64
Steps:
1. configure the spice-xpi test page(file host, secure port, password and trust store)
2. click connect button and try to connect a rhevm vm
3. make sure "Automatically resize" is on, and press shift+f11

Result:
1. window change fullscreen, and resolution change, same with the client monitor

From the result, seems work well.
So steps above are right? BTW, my guest is rhel6.5.

Comment 10 Marc-Andre Lureau 2014-06-03 16:02:35 UTC
*** Bug 1082140 has been marked as a duplicate of this bug. ***

Comment 12 CongDong 2014-06-10 03:22:12 UTC
I can reproduce the bug with:
virt-viewer-0.5.6-8.el6.x86_64

Verify with virt-viewer-0.6.0-5.el6.x86_64
Steps:
1. Prepare a spice rhel guest on rhevm, and configure the guest with 1 display.
(My client has two monitors)
2. Open spice-xpi test page and file
SecurePort: $tls_port
Host: $host_ip
Password: $passwd
Trust_Store: $ca_cert
3. Chick "Connect"

Result:
Two displays come out with full-screen on each monitors.

But I didn't check on full-screen option. This is expected?

Comment 13 CongDong 2014-07-15 02:47:04 UTC
I also test with only one monitor, I didn't check on the "Fullscreen" option on the spice xpi test page, but when I connect the guest, it comes out with fullscreen mode. So change it ASSIGNED.

Comment 14 Marc-Andre Lureau 2014-07-15 10:39:03 UTC
(In reply to CongDong from comment #13)
> I also test with only one monitor, I didn't check on the "Fullscreen" option
> on the spice xpi test page, but when I connect the guest, it comes out with
> fullscreen mode. So change it ASSIGNED.


If AdminConsole is not set (that is if auto-conf is set), it has the same effect as fullscreen.

This is the result of rebase, where difference between auto-conf and fullscreen has been removed.

Comment 15 CongDong 2014-07-24 09:29:07 UTC
(In reply to Marc-Andre Lureau from comment #14)
> If AdminConsole is not set (that is if auto-conf is set), it has the same
> effect as fullscreen.
> 
> This is the result of rebase, where difference between auto-conf and
> fullscreen has been removed.

Thanks for your reply, I retest it with:
virt-viewer-0.6.0-11.el6.x86_64

Got the same result  with comment 12 when adminconsole is not set.
If I set adminconsole it won't be fullscreen unless set the fullscreen.

This is expected, so set VERIFIED.

Comment 16 errata-xmlrpc 2014-10-14 06:30:30 UTC
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.

http://rhn.redhat.com/errata/RHBA-2014-1379.html


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