Issue 10777

Title
'RecursionError: maximum recursion depth exceeded in comparison' refreshing after reconcile
Priority
bug
Status
chatting
Nosy list
ced, risto3
Assigned to
Keywords

Created on 2021-09-22.09:37:13 by risto3, last changed 5 days ago by ced.

Messages

Author: [hidden] (risto3)
Date: 2021-10-14.07:03:43

bumping up to urgent, as apparently the crashes dump the client at times (but not every time).

Author: [hidden] (risto3)
Date: 2021-09-22.15:03:21

well, on demo I created two moves to simulate the problem :

Company,Number,Journal,Period,Effective Date,Description,State (string),Lines/Account,Lines/Debit,Lines/Credit
Michael Scott Paper Company,7,Bank,2021-09,09/22/2021,pong,Draft,Main Payable,100,
,,,,,,,Main Cash,0,100
Michael Scott Paper Company,15,Expense,2021-09,09/01/2021,ping,Draft,Main Payable,,100
,,,,,,,Main Expense,100,0

then went to charts->open chart of accounts and opened 'Main payable'

Then entered a filter: "Reconciliation: ="
then reconciled 'ping' with 'pong'
then refreshed.... pow

you may have to create new moves

Author: [hidden] (ced) Tryton committer Tryton translator
Date: 2021-09-22.09:56:42

Please provide a scenario to replicate the error.

Author: [hidden] (risto3)
Date: 2021-09-22.09:37:13

with tryton-6.0.6, after reconciling some moves directly via the accounting plan, if I refresh, I get the following error:

ERROR:tryton.common.common:  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/view/list.py", line 1005, in __select_changed
    if not previous_record.validate(self.get_fields()):
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 390, in validate
    self._check_load(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 251, in _check_load
    self.reload(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 495, in reload
    self.validate(fields or [])
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 390, in validate
    self._check_load(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 251, in _check_load
    self.reload(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 495, in reload
    self.validate(fields or [])
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 390, in validate
    self._check_load(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 251, in _check_load
    self.reload(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 495, in reload
    self.validate(fields or [])
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 390, in validate
    self._check_load(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 251, in _check_load
    self.reload(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 495, in reload
    self.validate(fields or [])
... [repeated many times]
 File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 390, in validate
    self._check_load(fields)
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 250, in _check_load
    if not self.get_loaded(fields):
  File "/usr/lib/python3.9/site-packages/tryton/gui/window/view_form/model/record.py", line 261, in get_loaded
    return set(fields) <= (self._loaded | set(self.modified_fields))

RecursionError: maximum recursion depth exceeded in comparison

(tryton:3748): Gdk-WARNING **: 09:30:12.720: The program 'tryton' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 133467 error_code 11 request_code 130 (MIT-SHM) minor_code 5)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

as it has happened a few times it seems repeatable.

History
Date User Action Args
2021-10-14 09:18:09cedsetstatus: need-eg -> chatting
2021-10-14 09:17:58cedsetpriority: urgent -> bug
2021-10-14 07:03:43risto3setmessages: + msg70999
priority: bug -> urgent
2021-09-22 15:03:21risto3setmessages: + msg70274
2021-09-22 09:56:42cedsetmessages: + msg70260
nosy: + ced
status: unread -> need-eg
2021-09-22 09:37:13risto3create

Showing 10 items. Show all history (warning: this could be VERY long)