Closed SmartMario1 closed 7 months ago
Hi,
Thanks for pointing that out!
I pushed a bugfix (commit 7bfa0cc, master branch). Could you try it out?
The problem was that the planner assumed that all supertypes (in this case, locatable
) would be mentioned explicitly in the types
section of the domain file. So the while
-loop was expecting to find a supertype object
at some point.
The bugfix simply adds the supertype object
to the hierarchy when necessary. (Unfortunately, we cannot easily get rid of this supertype, as other parts of the planner assume the existence of at least one type.)
Let me know if you find other bugs or if the problem was not solved!
The issue was resolved! Thanks for the quick fix!
Problem
When using a hierarchy of types, the planner infinitely loops. The loop occurs during the "Normalizing task" phase. I've attached a very small planning problem in which this issue occurs: issue_problem.zip.
Cause
When using a keyboard interrupt to stop execution, the function it is looping in is revealed to be "remove_trivially_inapplicable_actions" in "/builds/release/translator/normalize.py". The specific loop that goes on indefinitely can be seen in the following screenshot: After printing the value "type_name", it is revealed that it tries to find the parent of "locatable" in the graph, but somehow ends up with the empty string. Then the empty string also gets the empty string back and thus, as we never get the name 'object', the translator loops forever.