Bug 1609482 - Update to 6.0-4 breaks Proxmox SPICE console (timeout)
Summary: Update to 6.0-4 breaks Proxmox SPICE console (timeout)
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: virt-viewer
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Daniel Berrangé
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-28 10:52 UTC by Afox
Modified: 2018-08-16 13:21 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-08-16 13:20:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
remote-viewer running with --spice-debug (3.35 KB, text/plain)
2018-07-30 08:04 UTC, Daniel B
no flags Details
Sample ini file (2.46 KB, text/plain)
2018-07-30 08:07 UTC, Daniel B
no flags Details

Description Afox 2018-07-28 10:52:03 UTC
Description of problem: After updating to virt-viewer 6.0-4 starting a virtual console (SPICE) from within Proxmox ends with a timeout.


Version-Release number of selected component (if applicable): 
virt-viewer 6.0-4.fc28
spice-gtk3 0.35-1.fc28


How reproducible: 


Steps to Reproduce:
1. Login to Proxmox webinterface
2. Start SPICE console session for a running VM


Actual results: Timeout when trying to connect. virt-viewer does not show the virtual monitor.


Expected results: virt-viewer should just open the virtual monitor without timing out.


Additional info: Last working version virt-viewer 6.0-3.fc28 (spice-gtk3 0.34-4.fc28).

Comment 1 Victor Toso 2018-07-28 21:14:18 UTC
Not too familiar with Proxmox but I take it uses NPAPI browser plugins?
If that's the case, spice-gtk3 0.35 has dropped suppot to it [0]. No replacement is in place for remote-viewer so nothing to be done if that's the case.

If NPAPI browser is not used, could you provide debug info to check what's going on? :)
remote-viewer --spice-debug ...

[0] https://gitlab.freedesktop.org/spice/spice-gtk/commit/8da3378f7d2b780acf59d01d019d9ba648deaf16

Comment 2 Afox 2018-07-28 22:24:32 UTC
hi, thanks for the answer.

I could debug the issue and it says

curl: (22) The requested URL returned error: 401 Permission denied - invalid csrf token

Comment 3 Afox 2018-07-28 22:49:22 UTC
the same issue also seems to exist in openSUSE. You can find the bugreport (with more debuginfo) here: https://bugzilla.opensuse.org/show_bug.cgi?id=1102932

Comment 4 Daniel B 2018-07-30 08:04:22 UTC
Created attachment 1471441 [details]
remote-viewer running with --spice-debug

Same problem for me. Proxmox is not using NPAPI, the interface just create an ini file for remote-viewer. Will post such a sample file

Comment 5 Daniel B 2018-07-30 08:07:30 UTC
Created attachment 1471442 [details]
Sample ini file

Here's a sample ini file generated by Proxmox to open the spice console using remote-viewer

Comment 6 Daniel B 2018-07-30 08:11:24 UTC
Downgrading to

spice-glib 0.34-4.fc28
spice-gtk3 0.34-4.fc28
virt-viewer 6.0-3.fc28 

And everything is working again

Comment 7 Christophe Fergeau 2018-08-06 20:14:56 UTC
The problematic part would be:
(remote-viewer:22717): GSpice-DEBUG: 10:02:15.734: spice-session.c:2228 main-1:0: open host: Socket I/O timed out
Not clear at all what could have triggered this change of behaviour between 0.34 and 0.35 though :-/ The proxy code moved from using our own copy of wocky-http to using glib code for that, maybe this is the issue (?). We also disabled TLS 1.0 support, but hopefully proxmox supports more than that... Would there be some proxmox instance I could try to reproduce this on?

Comment 8 Dominik Csapak 2018-08-16 09:15:57 UTC
i played  a little with the spice-gtk package on fedora and the disabled tls 1.0 is not the problem

i tried to compile it with a patch that reverts the wocky removal but
apparently my fedora/rpmbuild foo is not big enough as it always fails with

./.libs/libspice-client-glib-2.0.so: undefined reference to `_wocky_https_proxy_get_type'
./.libs/libspice-client-glib-2.0.so: undefined reference to `_wocky_http_proxy_get_type'

and i have no idea where to look (i simply added the revert as patch to the spice-gtk.spec file from the source rpm and tried rpmbuild -bb <path>/spice-gtk.spec)

i additionally have a wireshark dump here and it looks to me that the difference is
indeed the proxy handling

where on the old version remote-viewer sends data after the CONNECT http proxy header, the new version does not

Comment 9 Dominik Csapak 2018-08-16 12:50:08 UTC
i found the problem (in our code)

our spice proxy did not send the necessary empty line in the http response after
"HTTP/1.0 200 OK"

i sent a fix to our list, this is not a bug from fedora/glib/spice

Comment 10 Victor Toso 2018-08-16 13:20:15 UTC
Thanks Dominik, could you please post the patch/discussion just for future reference if needed?

Closing as NOTABUG as NOT-OUR-BUG does not exist here.

Comment 11 Dominik Csapak 2018-08-16 13:21:48 UTC
no problem, here a link to our archive:

https://pve.proxmox.com/pipermail/pve-devel/2018-August/033418.html


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