← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 742314] Re: [5.0.16] a class that defines __slots__ without defining __getstate__ cannot be pickled

 

Hey, I got the same problem here. When I try to create a record
including an image or document, this problem comes up. I think it is
related to ir.attachment. And it comes up only with web client.
Everything works fine with GTK.

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/742314

Title:
  [5.0.16] a class that defines __slots__ without defining __getstate__
  cannot be pickled

Status in OpenERP Web Client:
  Triaged

Bug description:
  Hi,

  I attempted to install OpenERP 5.0.16 (as per the source from the
  tarballs) on a fresh install of Ubuntu 10.04 LTS

  The installation proceeds as normal, for both server and web client,
  however, after the creation of the datrabase (and continueing to
  install the base data), this error occurs after filling in the company
  information.

  a class that defines __slots__ without defining __getstate__ cannot be
  pickled

  
  Full stack trace:

    File "/usr/local/lib/python2.6/dist-packages/CherryPy-3.2.0-py2.6.egg/cherrypy/_cprequest.py", line 645, in respond
      response.body = self.handler()
    File "/usr/local/lib/python2.6/dist-packages/CherryPy-3.2.0-py2.6.egg/cherrypy/lib/encoding.py", line 188, in __call__
      self.body = self.oldhandler(*args, **kwargs)
    File "/usr/local/lib/python2.6/dist-packages/CherryPy-3.2.0-py2.6.egg/cherrypy/_cpdispatch.py", line 29, in __call__
      return self.callable(*self.args, **self.kwargs)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/controllers/base.py", line 130, in wrapper
      return fn(*args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/tools/expose.py", line 211, in func_wrapper
      res = func(*args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/tools/utils.py", line 149, in func_wrapper
      return func(*args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/tools/utils.py", line 166, in func_wrapper
      return func(*args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/controllers/wizard.py", line 253, in action
      return self.create(params, tg_errors=tg_errors)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/controllers/base.py", line 130, in wrapper
      return fn(*args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/tools/expose.py", line 211, in func_wrapper
      res = func(*args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/controllers/wizard.py", line 169, in create
      return self.execute(params)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/controllers/wizard.py", line 85, in execute
      res = rpc.session.execute('wizard', 'execute', wiz_id, datas, state, ctx)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/rpc.py", line 351, in execute
      return self.gateway.execute(obj, method, *args)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/rpc.py", line 153, in execute
      return self.__execute(obj, method, args)
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/rpc.py", line 142, in __execute
      raise common.error(_('Application Error!'), str(e))
    File "/usr/local/lib/python2.6/dist-packages/openerp_web-5.0.16-py2.6.egg/openerp/common.py", line 72, in error
      raise TinyError(message=msg, title=title or _("Error"))
  TinyError: a class that defines __slots__ without defining __getstate__ cannot be pickled

  
  This error prevents me from finishing the installation.

  
  The current Python packages installed 
  `pip freeze`

  Babel==0.9.6
  Beaker==1.5.4
  CherryPy==3.2.0
  FormEncode==1.2.3dev
  GnuPGInterface==0.3.2
  Landscape-Client==1.5.0
  Mako==0.2.5
  PAM==0.4.2
  PIL==1.1.7
  PyChart==1.39
  PyYAML==3.09
  Twisted-Core==10.0.0
  command-not-found==0.1
  distribute==0.6.10
  httplib2==0.6.0
  launchpadlib==1.6.0
  lazr.restfulclient==0.9.11
  lazr.uri==1.0.2
  lxml==2.2.4
  oauth==1.0a
  openerp-server==5.0.16
  openerp-web==5.0.16
  pexpect==2.3
  psycopg2==2.0.13
  pyOpenSSL==0.10
  pycurl==7.19.0
  pydot==1.0.2
  pyparsing==1.5.2
  pyserial==2.3
  python-apt==0.7.94.2ubuntu6.2
  python-dateutil==1.4.1
  pytz==2010b
  reportlab==2.4
  simplejson==2.0.9
  smart==1.2
  ufw==0.30pre1-0ubuntu2
  vobject==0.8.1c
  wadllib==1.1.4
  wsgiref==0.1.2
  zope.interface==3.5.3

  upon slightly modifying the location where the error was thrown to
  output locals(), I got this info (might not be much, but might help)

  
  {
      'obj': 'wizard',
      'self': <openerp.rpc.NETRPCGateway object at 0xad9f10c>,
      'args': (6, {
          'form': {
              'profile': 51,
              'city': 'Gerompont',
              'street2': False,
              'phone': '(+32).81.81.37.00',
              'street': 'Chaussee de Namur 40',
              'rml_header1': 'Free Business Solutions',
              'logo': <cherrypy._cpreqbody.Part object at 0xae6078c>,
              'rml_footer1': 'Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07',
              'rml_footer2': 'IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701',
              'name': 'Tiny sprl',
              'zip': '1367',
              'currency': 1,
              'country_id': 20,
              'state_id': False,
              'email': False},
              'context': {}
          },
          u'update', {
              'lang': u'en_US',
              'client': 'web',
              'tz': False
          }),
      'auth': True,
      'e': TypeError('a class that defines __slots__ without defining __getstate__ cannot be pickled',),
      'method': 'execute'
  }


References