Tryton - Issues

 

Message48859

Author resteve
Recipients
Date 2019-04-12.10:53:46
Content
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.
History
Date User Action Args
2019-04-12 10:53:48restevesetmessageid: <1555059228.03.0.798852498197.issue8273@tryton.org>
2019-04-12 10:53:47restevelinkissue8273 messages
2019-04-12 10:53:46restevecreate

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