[6.0] Crashes on any view

Bug #731098 reported by Quentin THEURET @Amaris
50
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Odoo Web Client
Fix Released
Undecided
OpenERP Publisher's Warranty Team

Bug Description

On 6.0 mature branch, I have created a new DB but when the configuration wizard should appear, the web client crashes. Same issue when I open the Purchase/Purchase Requisition view.

Traceback :
 <type 'exceptions.TypeError'> Python 2.6.5: /usr/bin/python
Tue Mar 8 08:40:04 2011

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/lib/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, path_info='/openerp/execute')
  643 if self.handler:
  644 self.stage = 'handler'
  645 response.body = self.handler()
  646
  647 # Finalize
response = <cherrypy._cprequest.Response object>, response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/lib/cherrypy/lib/encoding.py in __call__(self=<cherrypy.lib.encoding.ResponseEncoder instance>, *args=(), **kwargs={})
  186 def __call__(self, *args, **kwargs):
  187 response = cherrypy.serving.response
  188 self.body = self.oldhandler(*args, **kwargs)
  189
  190 if isinstance(self.body, basestring):
self = <cherrypy.lib.encoding.ResponseEncoder instance>, self.body undefined, self.oldhandler = <cherrypy._cpdispatch.LateParamPageHandler object>, args = (), kwargs = {}
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/lib/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
   27 def __call__(self):
   28 try:
   29 return self.callable(*self.args, **self.kwargs)
   30 except TypeError:
   31 x = sys.exc_info()[1]
self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = <bound method Root.default of <openobject.controllers._root.Root object>>, self.args = ('openerp', 'execute'), self.kwargs = {'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='}
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'execute'), **kw={'_': u'1299570004699', 'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='})
  180 raise cherrypy.HTTPError(405)
  181
  182 res = func(*args, **kw)
  183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):
  184 cherrypy.response.headers['Content-Type'] = 'text/javascript'
global res = '/home/quentin/Developpement/Tempo_Projects/Unifi...ld-web/openobject/admin/i18n/mapping/messages.cfg', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'execute'), kw = {'_': u'1299570004699', 'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='}
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'execute'), **kw={'_': u'1299570004699', 'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='})
   85 request.handler = cherrypy.NotFound()
   86
   87 return request.handler()
   88
   89 def find_handler(self):
request = <cherrypy._ThreadLocalProxy object>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/lib/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
   27 def __call__(self):
   28 try:
   29 return self.callable(*self.args, **self.kwargs)
   30 except TypeError:
   31 x = sys.exc_info()[1]
self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = <function index>, self.args = (), self.kwargs = {'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='}
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='})
  110 # User is logged in; allow access
  111 clear_login_fields(kw)
  112 return fn(*args, **kw)
  113 else:
  114 action = kw.get('login_action', '')
fn = <bound method Execute.index of <openerp.controllers.execute.Execute object>>, args = (), kw = {'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='}
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.execute.Execute object>,), **kw={'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='})
  180 raise cherrypy.HTTPError(405)
  181
  182 res = func(*args, **kw)
  183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):
  184 cherrypy.response.headers['Content-Type'] = 'text/javascript'
global res = '/home/quentin/Developpement/Tempo_Projects/Unifi...ld-web/openobject/admin/i18n/mapping/messages.cfg', func = <function index>, args = (<openerp.controllers.execute.Execute object>,), kw = {'payload': u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='}
 /home/quentin/Developpement/Tempo_Projects/Unifield/unifield-web/addons/openerp/controllers/execute.py in index(self=<openerp.controllers.execute.Execute object>, payload=u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q==')
   16 decoded_payload = ast.literal_eval(
   17 zlib.decompress(
   18 base64.urlsafe_b64decode(payload)))
   19 action, data = decoded_payload['action'], decoded_payload['data']
   20 cherrypy.request.params.update(decoded_payload)
global base64 = <module 'base64' from '/usr/lib/python2.6/base64.pyc'>, base64.urlsafe_b64decode = <function urlsafe_b64decode>, payload = u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='
 /usr/lib/python2.6/base64.py in urlsafe_b64decode(s=u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q==')
  110 The alphabet uses '-' instead of '+' and '_' instead of '/'.
  111 """
  112 return b64decode(s, '-_')
  113
  114
global b64decode = <function b64decode>, s = u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q=='
 /usr/lib/python2.6/base64.py in b64decode(s=u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q==', altchars='-_')
   69 """
   70 if altchars is not None:
   71 s = _translate(s, {altchars[0]: '+', altchars[1]: '/'})
   72 try:
   73 return binascii.a2b_base64(s)
s = u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q==', global _translate = <function _translate>, altchars = '-_'
 /usr/lib/python2.6/base64.py in _translate(s=u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q==', altchars={'-': '+', '_': '/'})
   34 for k, v in altchars.items():
   35 translation[ord(k)] = v
   36 return s.translate(''.join(translation))
   37
   38
s = u'eJxdUslOwzAQ_ZXeDFIVsSgCekackYATqqxpPEktObblhVCi...lZCChKKuin0d_Vz_l9bDGhbJLzIp2BuRJJch-mn4BY2bY5Q==', s.translate = <built-in method translate of unicode object>, ''.join undefined, translation = ['\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', '\t', '\n', '\x0b', '\x0c', '\r', '\x0e', '\x0f', '\x10', '\x11', '\x12', '\x13', ...]

<type 'exceptions.TypeError'>: character mapping must return integer, None or unicode
      args = ('character mapping must return integer, None or unicode',)
      message = 'character mapping must return integer, None or unicode'

Tags: maintenance
Changed in openobject-client-web:
status: New → Triaged
tags: added: maintenance
Revision history for this message
Navrang Oza (noz-tiny) wrote :

Hello Quentin THEURET,

I am able to create db successfully.
Actually I have mature 6 (Web-Client, server) but not able to reproduce the error.

Can you explain the steps you are following ?

Thanks.

Revision history for this message
Yago (yagocarballo-gmail) wrote :

Hello Navrang Oza,

I have the same problem, i have installed openerp-web in Ubuntu 10.04, (2 times, 1 on a virtual machine and other on a real machine), the web client work's but after login any link or menu have that error.

I can upload the virtual machine with the problem to my dedicated server, (it's an vmware machine), or i can let you access to the machine remotely, (but mi internet conexion is very slow)

Revision history for this message
Navrang Oza (noz-tiny) wrote :

Hello yebud,

Are you using stable 6 ?
I am also using ubuntu 10.04 and application is on real machine.

I have checked in firefox.

You are getting the same traceback as mentioned above ?

Thanks.

Revision history for this message
Yago (yagocarballo-gmail) wrote :
Download full text (8.6 KiB)

I'm using stable 6,
to install it i use this tutorial, http://www.malagatic.com/blog/item/27-instalaci%C3%B3n-openerp-v6-sobre-ubuntu-1004-lts

and i installed everything from bazar, (this sources)

---

lp:openobject-server/6.0 The server

lp:openobject-addons/6.0 The Addons

lp:openobject-client-web/6.0 Web Client

lp:openobject-addons/extra-6.0 Extra addons

lp:openerp-spain/6.0 Spanish Localizations

---

I'm getting this traceback... (i think it's the same)

<type 'exceptions.TypeError'> Python 2.6.5: /usr/bin/python
Tue Mar 15 12:24:17 2011
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /usr/local/lib/python2.6/dist-packages/CherryPy-3.2.0-py2.6.egg/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, path_info='/openerp/execute')
  643 if self.handler:
  644 self.stage = 'handler'
  645 response.body = self.handler()
  646
  647 # Finalize
response = <cherrypy._cprequest.Response object>, response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
 /usr/local/lib/python2.6/dist-packages/CherryPy-3.2.0-py2.6.egg/cherrypy/lib/encoding.py in __call__(self=<cherrypy.lib.encoding.ResponseEncoder instance>, *args=(), **kwargs={})
  186 def __call__(self, *args, **kwargs):
  187 response = cherrypy.serving.response
  188 self.body = self.oldhandler(*args, **kwargs)
  189
  190 if isinstance(self.body, basestring):
self = <cherrypy.lib.encoding.ResponseEncoder instance>, self.body undefined, self.oldhandler = <cherrypy._cpdispatch.LateParamPageHandler object>, args = (), kwargs = {}
 /usr/local/lib/python2.6/dist-packages/CherryPy-3.2.0-py2.6.egg/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
   27 def __call__(self):
   28 try:
   29 return self.callable(*self.args, **self.kwargs)
   30 except TypeError:
   31 x = sys.exc_info()[1]
self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = <bound method Root.default of <openobject.controllers._root.Root object>>, self.args = ('openerp', 'execute'), self.kwargs = {'payload': u'eJxtUstOwzAQ_JXcDBKqOPSA-ADEhRsSh6qyVvG2Xckv-UEo...q5nANC_oOQmkzP4EsVQ_kTRjUJEZQoL2LVWucpukLWii3CA=='}
 /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'execute'), **kw={'payload': u'eJxtUstOwzAQ_JXcDBKqOPSA-ADEhRsSh6qyVvG2Xckv-UEo...q5nANC_oOQmkzP4EsVQ_kTRjUJEZQoL2LVWucpukLWii3CA=='})
  180 raise cherrypy.HTTPError(405)
  181
  182 res = func(*args, **kw)
  183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):
  184 cherrypy.response.headers['Content-Type'] = 'text/javascript'
global res = '/usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/doc/openerp-we...

Read more...

Revision history for this message
Zahir (zrbhimani) wrote :

Hi, Yebud

  i was getting the same error, here is how i fixed on my machine. it may help you

Error is because of cherrypy version.

coz. .populate.sh file installs latest version of cherrypy (3.2.0)
While WebClient Works Fine with Cherrypy Version (3.1.2)

Fix:
1) remove cherrypy, cherryd from webclient/lib directory
2) in populate .sh file : change line to "install "CherryPy==3.1.2" "-d cherrypy" (> replaced by =)
3) re-execute populate.sh

Revision history for this message
Navrang Oza (noz-tiny) wrote :

Hello yebud & Quentin THEURET,

Actually I have CherryPy version 3.1.2 installed, and not getting error.
So can you try with above fix given Zahir.

It may work.
Please let me know if it works fine, so that we can close this issue.

Thanks.

Revision history for this message
Yago (yagocarballo-gmail) wrote :

Hello,

I have removed the old CherryPy and install the 3.1.2 and now work's perfectly...XD

Thanks for your help

Revision history for this message
Navrang Oza (noz-tiny) wrote :

Hello all,

If this solution is working for all then I think this bug should be closed.

Thanks Zahir.

Changed in openobject-client-web:
status: Triaged → Fix Released
Navrang Oza (noz-tiny)
Changed in openobject-client-web:
status: Fix Released → In Progress
Changed in openobject-client-web:
assignee: nobody → OpenERP Publisher's Warranty Team (openerp-opw)
Revision history for this message
Nicola Riolini - Micronaet (nicolariolini) wrote :

Works! Thanks

Revision history for this message
Jay Vora (Serpent Consulting Services) (jayvora) wrote :

Closing the bug as per the comment #9.
Thanks.

Changed in openobject-client-web:
status: In Progress → Fix Released
milestone: none → 6.0.3
Revision history for this message
Raimon Esteve (www.zikzakmedia.com) (resteve) wrote :

Attention!
If you reback version CherryPy (install manually), if probabily into /usr/local/lib/python2.6/dist-packages exist
CherryPy-3.2.0-py2.6.egg dir yet. Rename or delete this directory. Only you need CherryPy-3.1.2-py2.6.egg dir in this directory.

If exist CherryPy-3.2.0-py2.6.egg, you will get same error, although you installed CherryPy-3.1.2

I reupdated openerp-web realease candidate to 6.0.2 and I need to update from Ubuntu 9.04:

Cherry 3-1-2
Mako 0-4-1
FormEncode 1-2-4

Revision history for this message
Nathan (nathan-bowden-kiwi) wrote :

Thanks for the solucion gave, navrang.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.