noVNC error: WebSock error: Illegal basic compression received, ctl: 80

Asked by Hua Zhang

hi,

     I run a VM on openstack, but noVNC in horion throw " WebSock error: Illegal basic compression received, ctl: 80",

     If you need more infos just ask please, Any Help is appreciated and Thank you in advance. :-)

1) /etc/nova/nova.conf
          --novncproxy_base_url=http://127.0.0.1:6080/vnc_auto.html
         --xvpvncproxy_base_url=http://127.0.0.1:6081/console
         --vncserver_listen=127.0.0.1
         --vncserver_proxyclient_address=127.0.0.1

2) [root@hua hua]# nova-manage service list
2012-04-24 18:30:53 DEBUG nova.utils [req-b27e49d1-6a75-47f5-9261-2c49d1e005f3 None None] backend <module 'nova.db.sqlalchemy.api' from '/bak/openstack/nova/nova/db/sqlalchemy/api.pyc'> from (pid=1197) __get_backend /bak/openstack/nova/nova/utils.py:659
Binary Host Zone Status State Updated_At
nova-compute hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:52
nova-scheduler hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:53
nova-cert hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:52
nova-volume hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:50
nova-network hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:53
nova-consoleauth hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:45
nova-console hua.cn.ibm.com nova enabled :-) 2012-04-24 10:30:44

3) [root@hua noVNC]# ./utils/nova-novncproxy
WebSocket server settings:
  - Listen on 0.0.0.0:6080
  - Flash security policy server
  - Web server. Web root: /bak/openstack/noVNC
  - No SSL/TLS support (no cert file)
  - proxying from 0.0.0.0:6080 to ignore:ignore

  1: 127.0.0.1: new handler Process
  1: 127.0.0.1: "GET /vnc_auto.html?token=453429ce-b992-4f49-a687-beadf42ffa7c&title=test2(6d287da3-1cff-42d9-94e0-1457531f7c36) HTTP/1.1" 200 -
  2: 127.0.0.1: new handler Process
  2: 127.0.0.1: Plain non-SSL (ws://) WebSocket connection
  2: 127.0.0.1: Version hybi-13, base64: 'True'
  2: connecting to: 127.0.0.1:5900

Traffic Legend:
    } - Client receive
    }. - Client receive partial
    { - Target receive

    > - Target send
    >. - Target send partial
    < - Client send
    <. - Client send partial

{<}>{<}>{<}>{<}>{< 2: 127.0.0.1:5900: Target closed
  2: 127.0.0.1: Client closed, reason: (1000,) - None

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
He Zhenxing
Solved:
Last query:
Last reply:
Revision history for this message
Best He Zhenxing (hezx) said :
#1

I encountered this problem recently, and find a fix here:

https://github.com/kanaka/noVNC/issues/41

--- a/include/rfb.js
+++ b/include/rfb.js
@@ -44,7 +44,7 @@ var that = {}, // Public API interface
     // In preference order
     encodings = [
         ['COPYRECT', 0x01 ],
- ['TIGHT_PNG', -260 ],
+ //['TIGHT_PNG', -260 ],
         ['HEXTILE', 0x05 ],
         ['RRE', 0x02 ],
         ['RAW', 0x00 ],

Revision history for this message
Hua Zhang (zhhuabj) said :
#2

thank zhenxing, this issue have fixed

but another issue,

pydev debugger: starting
WebSocket server settings:
  - Listen on 0.0.0.0:6080
  - Flash security policy server
  - Web server. Web root: /bak/openstack/noVNC
  - No SSL/TLS support (no cert file)
  - proxying from 0.0.0.0:6080 to ignore:ignore

  1: 127.0.0.1: new handler Process
  1: 127.0.0.1: "GET /vnc_auto.html?token=ca0af302-d731-422d-9e7a-e6e9ec70b717&title=test2(6bf0a5b0-497b-45a2-aad3-01e3e56a8d59) HTTP/1.1" 200 -
  2: 127.0.0.1: new handler Process
  2: 127.0.0.1: Plain non-SSL (ws://) WebSocket connection
  2: 127.0.0.1: Version hybi-13, base64: 'True'
  3: 127.0.0.1: new handler Process
  3: 127.0.0.1: "GET /vnc_auto.html?token=57d17d21-a8a0-4a8c-95ed-1725201ba239&title=test2(6bf0a5b0-497b-45a2-aad3-01e3e56a8d59) HTTP/1.1" 200 -
  4: 127.0.0.1: new handler Process
  4: 127.0.0.1: Plain non-SSL (ws://) WebSocket connection
  4: 127.0.0.1: Version hybi-13, base64: 'True'
  4: handler exception: 'NoneType' object has no attribute 'rpc_backend'
  4: Traceback (most recent call last):
  File "/bak/openstack/noVNC/utils/websocket.py", line 730, in top_new_client
    self.new_client()
  File "/bak/openstack/noVNC/utils/nova-novncproxy", line 85, in new_client
    'args': {'token': token}})
  File "/bak/openstack/nova/nova/rpc/__init__.py", line 88, in call
    return _get_impl().call(_CONF, context, topic, msg, timeout)
  File "/bak/openstack/nova/nova/rpc/__init__.py", line 222, in _get_impl
    _RPCIMPL = importutils.import_module(_CONF.rpc_backend)
AttributeError: 'NoneType' object has no attribute 'rpc_backend'

Revision history for this message
Hua Zhang (zhhuabj) said :
#3

Thanks He Zhenxing, that solved my question.