← Back to team overview

openerp-dev-web team mailing list archive

[Bug 711190] [NEW] Using the CherryPy file session backend causes errors on server restart

 

Devishree Brahmbhatt (OpenERP) (dbr-openerp) has assigned this bug to you for OpenERP Web Client:

Hello,

We have run into this issue when deploying the OpenERP web client behind
Apache, where requests from clients are not necessarily served by the
same process every time.  However, this error can be reproduced using
the shipped OpenERP development client.  I give these steps below, but
simply suggesting that we don't use the file backend is not a solution.

Steps to reproduce:
 1) Add the following lines to openerp-web.cfg (tools.sessions.storage_path must be an existing directory):
      [/]
      tools.sessions.storage_type = 'file'
      tools.sessions.storage_path = '/var/tmp/sessions'
 2) Start the OpenERP web client development server.
 3) In a browser, navigate to the web interface and log into a database.  Open a list view (Sale Orders, for example).
 4) Kill the server (i.e. Ctrl-C).
 5) Start the server again.
 6) Refresh the page in your browser.

Expected behaviour:
 The current page will simply be re-displayed.

Actual behaviour:
 The following traceback is sent through to the browser:
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/cherrypy/_cprequest.py", line 606, in respond
    cherrypy.response.body = self.handler()
  File "/usr/lib/pymodules/python2.6/cherrypy/_cpdispatch.py", line 25, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "/home/dwa/openerp-6/web/openobject/tools/_expose.py", line 182, in func_wrapper
    res = func(*args, **kw)
  File "/home/dwa/openerp-6/web/openobject/controllers/_root.py", line 68, in default
    if obj.has_new_modules():
AttributeError: 'NoneType' object has no attribute 'has_new_modules'

Refreshing the page again will cause this error to go away.  However,
the following traceback is then sent through to the browser:

HTTP Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/cherrypy/_cprequest.py", line 606, in respond
    cherrypy.response.body = self.handler()
  File "/usr/lib/pymodules/python2.6/cherrypy/_cpdispatch.py", line 25, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "/home/dwa/openerp-6/web/openobject/tools/_expose.py", line 182, in func_wrapper
    res = func(*args, **kw)
  File "/home/dwa/openerp-6/web/openobject/controllers/_root.py", line 88, in default
    return request.handler()
  File "/usr/lib/pymodules/python2.6/cherrypy/_cpdispatch.py", line 25, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/utils.py", line 112, in wrapper
    return fn(*args, **kw)
  File "/home/dwa/openerp-6/web/openobject/tools/_expose.py", line 182, in func_wrapper
    res = func(*args, **kw)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/execute.py", line 21, in index
    return actions.execute(action, **data)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/actions.py", line 380, in execute
    return action_executor(action, data)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/actions.py", line 268, in act_window
    display_menu_tip=display_menu_tip)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/actions.py", line 85, in execute_window
    return Form().create(params)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/utils.py", line 112, in wrapper
    return fn(*args, **kw)
  File "/home/dwa/openerp-6/web/openobject/tools/_expose.py", line 182, in func_wrapper
    res = func(*args, **kw)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/form.py", line 195, in create
    form = self.create_form(params, tg_errors)
  File "/home/dwa/openerp-6/web/addons/openerp/controllers/form.py", line 186, in create_form
    return tw.form_view.ViewForm(params, name="view_form", action="/openerp/form/save")
AttributeError: 'module' object has no attribute 'form_view'

The traceback is displayed in a purple box in the browser, with the
OpenERP interface in the background.  If the traceback is dismissed,
then the interface is there as normal.  However, clicking on any link
that use a list view (i.e. sidebar menu items or module links which
should display a dashboard) will cause it to reappear.

As far as we have determined, the only way to get rid of it is to clear
the session cookie in the browser, or to delete the session information
on the server.  Neither of these should be necessary.

** Affects: openobject-client-web
     Importance: Undecided
     Assignee: OpenERP SA's Web Client R&D (openerp-dev-web)
         Status: Triaged

-- 
Using the CherryPy file session backend causes errors on server restart
https://bugs.launchpad.net/bugs/711190
You received this bug notification because you are a member of OpenERP SA's Web Client R&D, which is a bug assignee.