Bug 1216219 - kimchi novnc screen fails on websockify due to endian problems
Summary: kimchi novnc screen fails on websockify due to endian problems
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-websockify
Version: 22
Hardware: ppc64
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Pádraig Brady
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-04-28 19:28 UTC by Jaromír Cápík
Modified: 2016-02-01 02:01 UTC (History)
7 users (show)

Fixed In Version: python-websockify-0.6.0-2.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-04-30 11:48:42 UTC


Attachments (Terms of Use)

Description Jaromír Cápík 2015-04-28 19:28:19 UTC
Description of problem:
We're testing kimchi on ppc64 (big endian) and experiencing problems with novnc connections.
The kimchi upstream told me it's a known problem on big endian systems and provided me with the following link containing a patch against websockify.

http://lists.ovirt.org/pipermail/kimchi-devel/2014-August/007071.html

The thread states it's caused by numpy and the websockify patch is only temporary and will be removed once numpy is fixed. BUT, I tested the bitwise xor in numpy and it works correctly. That means the root cause really lies somewhere in the websockify component. I can confirm the attached patch fixes the issue.

Version-Release number of selected component (if applicable):
python-websockify-0.6.0-1.fc22.noarch
numpy-1.9.2-1.fc22.ppc64

How reproducible:
always

Steps to Reproduce:
1. Try to connect to kimchi guest screens


Actual results:
Error message : "Server disconnected (code: 1000, reason: Target closed)"

Expected results:
Working novnc session

Comment 1 Pádraig Brady 2015-04-28 22:28:10 UTC
I'll probably do something with:

if sys.byteorder = 'big':
  swap

Note socket.ntohl() would be a noop on big endian I think,
which is opposite to what we want.

Comment 2 Pádraig Brady 2015-04-29 12:56:37 UTC
Going with this from upstream

https://github.com/kanaka/websockify/commit/af10f458

Comment 3 Fedora Update System 2015-04-29 13:27:08 UTC
python-websockify-0.6.0-2.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/python-websockify-0.6.0-2.fc22

Comment 4 Fedora Update System 2015-04-29 13:31:24 UTC
python-websockify-0.6.0-2.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/python-websockify-0.6.0-2.el7

Comment 5 Jaromír Cápík 2015-04-29 15:29:07 UTC
Thanks Pádraig.

That was really quick.

I can confirm python-websockify-0.6.0-2.fc22 fixes the issue.

Comment 6 Fedora Update System 2015-04-30 11:48:42 UTC
python-websockify-0.6.0-2.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2015-05-14 20:09:28 UTC
python-websockify-0.6.0-2.el7 has been pushed to the Fedora EPEL 7 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2015-05-23 18:07:49 UTC
python-websockify-0.6.0-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/python-websockify-0.6.0-2.fc21


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