Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

1

Error maximum recursion depth exceeded

v7
By
gennaooep
on 4/12/13, 10:43 AM 4,117 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

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.

Sudhir Arya (SA)
on 4/12/13, 5:55 PM
1

Gustavo

--Gustavo--
950
| 2 1 4
Buenos Aires, Argentina
--Gustavo--

Python developer, big fan of sailing

Gustavo
On 4/12/13, 10:48 AM

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

1

Martin

--Martin--
1978
| 5 6 8
Cornwall, Canada
--Martin--

Analysing, designing, coding and mentoring since 1975. Kilobytes to terabytes. Punch cards to punchy sites. My OpenERP video series: http://www.youtube.com/playlist?list=PLq7op4J183lX44ZlXPiHxUpRvmmRDtxye My Google Speadsheets --> OpenERP Data Pump project: http://martinhbramwell.github.io/GData_OpenERP_Data_Pump My email (with spaces removed) : mhb . warehouseman @ gmail . com

Martin
On 4/14/13, 12:12 AM

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

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

Lorenzo Cabrini
on 4/14/13, 10:42 PM

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

Martin
on 4/14/13, 11:20 PM

I made another model

gennaooep
on 4/22/13, 11:08 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)

Stats

Asked: 4/12/13, 10:43 AM
Seen: 4117 times
Last updated: 3/16/15, 8:10 AM