skiros2
skiros2 copied to clipboard
Skill creation: Not naming skill primitive correctly leads to pickle error
When expanding a skill like this:
skill.setProcessor(Selector())
skill(
self.skill("check_if_reached", ""),
self.skill("PoseThreeAxis", "pose_three_axis"),
)
instead of this
skill.setProcessor(Selector())
skill(
self.skill("Check", "check_if_reached"),
self.skill("PoseThreeAxis", "pose_three_axis"),
)
leads to a
Exception in thread Thread-17:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/ar-14/catkin_ws/src/libs/skiros2/skiros2/skiros2_skill/src/skiros2_skill/ros/skill_manager.py", line 61, in _run
printer.traverse(t)
File "/home/ar-14/catkin_ws/src/libs/skiros2/skiros2/skiros2_skill/src/skiros2_skill/core/visitors.py", line 40, in traverse
self._setState(root.visit(self))
File "/home/ar-14/catkin_ws/src/libs/skiros2/skiros2/skiros2_skill/src/skiros2_skill/core/skill.py", line 223, in visit
return visitor.process(self)
File "/home/ar-14/catkin_ws/src/libs/skiros2/skiros2/skiros2_skill/src/skiros2_skill/core/visitors.py", line 51, in process
state = self.processChildren(procedure)
File "/home/ar-14/catkin_ws/src/libs/skiros2/skiros2/skiros2_skill/src/skiros2_skill/core/visitors.py", line 106, in processChildren
[...]
File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
rv = reductor(2)
TypeError: can't pickle thread.lock objects
that is not very descriptive.
#80 is related - one could tackle them at the same time