This question has been flagged
2 Replies
10356 Views

When I want save my record on my form I ve this error .maximum recursion depth exceeded

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write") File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3724, in _read_flat res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1197, in _fnct_read value = value[field] or False File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write") File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3724, in _read_flat res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1197, in _fnct_read value = value[field] or False File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write") File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3724, in _read_flat res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1197, in _fnct_read value = value[field] or False File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write") File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3680, in _read_flat res2 = self.pool.get(table).read(cr, user, [x[col] for x in res], cols, context, load) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3597, in read self.check_access_rights(cr, user, 'read') File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3878, in check_access_rights return self.pool.get('ir.model.access').check(cr, uid, self._name, operation, raise_exception) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\cache.py", line 18, in lookup r = self.lookup(self2, cr, args) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\cache.py", line 41, in lookup r = d[key] File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\func.py", line 35, in wrapper return func(self, *args, *kwargs) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\lru.py", line 38, in __getitem__ self[a[0]] = a[1] File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\func.py", line 35, in wrapper return func(self, args, *kwargs) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\lru.py", line 44, in __setitem__ del self[obj] File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\func.py", line 37, in wrapper lock.release() File "C:\APPLI\Python27x86\lib\threading.py", line 151, in release self._note("%s.release(): non-final release", self) RuntimeError: maximum recursion depth exceeded

Avatar
Discard

There can be many reasons which cause such error. One cannot predict what is wrong without looking at code. So you should post what kind of code you have done.

Best Answer

Looks like there is a problem with the PTFMedicaleRA module. It enters a recursive function and does not get out of it

Avatar
Discard
Best Answer

I have formatted the traceback below to make it easier to recognize the repeated lines.

You need to examine your code and understand why it loops infinitely through these five lines :

  1. orm.py (399) -- read table
  2. orm.py (3604) -- read flat
  3. orm.py (3724) -- columns[f].get()
  4. fields.py (1131) -- execute anonymous function
  5. fields.py (1197) -- fnct_read value = value[field] or False

Line #5 apparently calls line #1, over and over again, without finding any reason to stop.

Are you certain that the variable f in line #3 is in fact being incremented (or decremented)? If neither, then you will know why your loop gets excremented.

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write")

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load)

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3724, in _read_flat res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context)

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1197, in _fnct_read value = value[field] or False



File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write")

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load)

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3724, in _read_flat res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1197, in _fnct_read value = value[field] or False 



File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write") 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3724, in _read_flat res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1131, in get result = self._fnct(obj, cr, uid, ids, name, self._arg, context) File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\fields.py", line 1197, in _fnct_read value = value[field] or False 



File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 399, in __getitem__ field_values = self._table.read(self._cr, self._uid, ids, field_names, context=self._context, load="_classic_write") 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3604, in read result = self._read_flat(cr, user, select, fields, context, load) 


File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3680, in _read_flat res2 = self.pool.get(table).read(cr, user, [x[col] for x in res], cols, context, load) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3597, in read self.check_access_rights(cr, user, 'read') 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\osv\orm.py", line 3878, in check_access_rights return self.pool.get('ir.model.access').check(cr, uid, self._name, operation, raise_exception) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\cache.py", line 18, in lookup r = self.lookup(self2, cr, args) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\cache.py", line 41, in lookup r = d[key] 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\func.py", line 35, in wrapper return func(self, *args, *kwargs) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\lru.py", line 38, in __getitem__ self[a[0]] = a[1] 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\func.py", line 35, in wrapper return func(self, args, *kwargs) 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\lru.py", line 44, in __setitem__ del self[obj] 

File "C:\Eclipse\workspace\epsv36\PTFMedicaleRA\openerp\tools\func.py", line 37, in wrapper lock.release() 

File "C:\APPLI\Python27x86\lib\threading.py", line 151, in release self._note("%s.release(): non-final release", self) RuntimeError: maximum recursion depth exceeded
Avatar
Discard

Ah, the beauty of reformatted and syntax-highlighted stacktraces...

. . . able to leap tall buildings in a single bound! More powerful than a locomotive . . . IT'S superreadable.

Author

I made another model