Crash GTK when try change location in stock shipment internal
Scenario:
1. Create a internal shipment with more than 160 lines (moves), for example, with 300 lines.
2. Save
3- Duplicate (optional)
4- Remove lines in o2m (not save)
5- Try to change "From location".
I get this traceback:
....
File "/home/resteve/tryton/tryton48/tryton/common/domain_inversion.py", line 232, in parse
return And(domain[1:] if domain[0] == 'AND' else domain)
File "/home/resteve/tryton/tryton48/tryton/common/domain_inversion.py", line 249, in __init__
self.branches = map(parse, expressions)
File "/home/resteve/tryton/tryton48/tryton/common/domain_inversion.py", line 232, in parse
return And(domain[1:] if domain[0] == 'AND' else domain)
File "/home/resteve/tryton/tryton48/tryton/common/domain_inversion.py", line 249, in __init__
self.branches = map(parse, expressions)
File "/home/resteve/tryton/tryton48/tryton/common/domain_inversion.py", line 225, in parse
if is_leaf(domain):
File "/home/resteve/tryton/tryton48/tryton/common/domain_inversion.py", line 42, in is_leaf
return (isinstance(expression, (list, tuple))
RuntimeError: maximum recursion depth exceeded in __instancecheck__
Successfully I can change "From Location" in case the shipment are less 150 lines (moves) because the loop not crash (maximum recursion)
Domain log in parse() method in domain_inversion.py is:
[[[u'from_location', u'child_of', [None], u'parent'], [u'to_location', u'child_of', [36], u'parent']]]
[[u'from_location', u'child_of', [None], u'parent'], [u'to_location', u'child_of', [36], u'parent']]
[u'from_location', u'child_of', [None], u'parent']
[u'to_location', u'child_of', [36], u'parent']
[]
GTK client version 4.8.14.