UbiquityRobotics / move_basic

A minimal navigation node
BSD 3-Clause "New" or "Revised" License
69 stars 21 forks source link

Terminal status for goals #83

Closed MoffKalast closed 3 years ago

MoffKalast commented 3 years ago

It seems that occasionally when using move_basic through the action client it's possible to get the following result when preempting:

[ WARN] [1613663891.808006341, 985.273000000]: Your executeCallback did not set the goal to a terminal status.
This is a bug in your ActionServer implementation. Fix your code!
For now, the ActionServer will set this goal to aborted

Upon which move_basic seems to lock up sometimes. The solution would be to check in which case it's possible to end the callback without calling set_something for the goal before returning. Found in nav-features-aislemode branch, possibly a problem in others as well.

MoffKalast commented 3 years ago

After more research it seems to be a bug in the action client itself, so we'll have to watch to never get into situations where this can occur instead.

https://github.com/ros/actionlib/issues/126

dorkamotorka commented 3 years ago

From my experience this is usually not a bug in the actionServer but rather our code that set a goal two time successful or aborting the same goal multiple times.

MoffKalast commented 3 years ago

Well in this case it may just be both 😑