← Back to team overview

openerp-india team mailing list archive

[Bug 1057505] [NEW] maximum recursion depth exceeded in cmp when opening timesheet

 

Public bug reported:

Hello,

I constated a bug in OpenERP 6.1-20120821-233337.

To reproduce this bug:
- Open the timesheet list
- Select unlimited as records limit
- Try to open a timesheet in form mode.

The following error appear:


Environment Information : 
System : Windows-Vista-6.0.6002-SP2
OS Name : nt
Operating System Release : Vista
Operating System Version : 6.0.6002
Operating System Architecture : 32bit
Operating System Locale : fr_CH.cp1252
Python Version : 2.6.5
OpenERP-Client Version : 6.1.1
Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/wsgi/core.py", line 79, in xmlrpc_return
    result = openerp.netsvc.dispatch_rpc(service, method, params)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/netsvc.py", line 360, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/service/web_services.py", line 586, in dispatch
    res = fn(db, uid, *params)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/osv.py", line 121, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/addons/audittrail/audittrail.py", line 495, in execute_cr
    return fct_src(cr, uid, model, method, *args)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/osv.py", line 164, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 3416, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 3539, in _read_flat
    res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/addons/hr_timesheet_sheet/hr_timesheet_sheet.py", line 53, in get
    ids2 = obj.pool.get(self._obj).search(cr, user, dom, limit=self._limit)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 2245, in search
    return self._search(cr, user, args, offset=offset, limit=limit, order=order, context=context, count=count)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 4586, in _search
    query = self._where_calc(cr, user, args, context=context)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 4435, in _where_calc
    e = expression.expression(cr, user, domain, self, context)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/expression.py", line 358, in __init__
    self.parse(cr, uid, distribute_not(normalize(exp)), table, context)
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/expression.py", line 316, in distribute_not
    return [domain[0]] + distribute_not(domain[1:])
 ...
  File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/expression.py", line 315, in distribute_not
    if domain[0] != NOT_OPERATOR:
RuntimeError: maximum recursion depth exceeded in cmp


Note: we have about 160 timesheets, and a lots of hours on each. I think
this is a procedure that loops lots of time for each timesheet (the
program is slow when we work with timesheet) and the program loops too
much when there are lots of timesheets.

** Affects: openobject-addons
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/1057505

Title:
  maximum recursion depth exceeded in cmp when opening timesheet

Status in OpenERP Addons (modules):
  New

Bug description:
  Hello,

  I constated a bug in OpenERP 6.1-20120821-233337.

  To reproduce this bug:
  - Open the timesheet list
  - Select unlimited as records limit
  - Try to open a timesheet in form mode.

  The following error appear:

  
  Environment Information : 
  System : Windows-Vista-6.0.6002-SP2
  OS Name : nt
  Operating System Release : Vista
  Operating System Version : 6.0.6002
  Operating System Architecture : 32bit
  Operating System Locale : fr_CH.cp1252
  Python Version : 2.6.5
  OpenERP-Client Version : 6.1.1
  Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/wsgi/core.py", line 79, in xmlrpc_return
      result = openerp.netsvc.dispatch_rpc(service, method, params)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/netsvc.py", line 360, in dispatch_rpc
      result = ExportService.getService(service_name).dispatch(method, params)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/service/web_services.py", line 586, in dispatch
      res = fn(db, uid, *params)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/osv.py", line 121, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/addons/audittrail/audittrail.py", line 495, in execute_cr
      return fct_src(cr, uid, model, method, *args)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/osv.py", line 164, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 3416, in read
      result = self._read_flat(cr, user, select, fields, context, load)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 3539, in _read_flat
      res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/addons/hr_timesheet_sheet/hr_timesheet_sheet.py", line 53, in get
      ids2 = obj.pool.get(self._obj).search(cr, user, dom, limit=self._limit)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 2245, in search
      return self._search(cr, user, args, offset=offset, limit=limit, order=order, context=context, count=count)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 4586, in _search
      query = self._where_calc(cr, user, args, context=context)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/orm.py", line 4435, in _where_calc
      e = expression.expression(cr, user, domain, self, context)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/expression.py", line 358, in __init__
      self.parse(cr, uid, distribute_not(normalize(exp)), table, context)
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/expression.py", line 316, in distribute_not
      return [domain[0]] + distribute_not(domain[1:])
   ...
    File "/usr/local/lib/python2.6/dist-packages/openerp-6.1_20120821_233337-py2.6.egg/openerp/osv/expression.py", line 315, in distribute_not
      if domain[0] != NOT_OPERATOR:
  RuntimeError: maximum recursion depth exceeded in cmp


  Note: we have about 160 timesheets, and a lots of hours on each. I
  think this is a procedure that loops lots of time for each timesheet
  (the program is slow when we work with timesheet) and the program
  loops too much when there are lots of timesheets.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/1057505/+subscriptions


Follow ups

References