-
Notifications
You must be signed in to change notification settings - Fork 575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
execute()
and stop()
both call spin_some()
, thus crash
#1127
Comments
Please note that I'm willing to fix this myself (in the range of my knowledge of MoveIt) but I don't know exactly which strategy to use. I even think that this should be solved in |
@galou I think the MoveGroupInterface was never designed to be thread-safe, and I don't think there is a good way to make the full API work reliably across multiple threads. What you can do is to use |
I can work on it but I have a question first. Why is there a call to My suggestion would be to add a |
spin_some has been removed a while ago, closing |
Description
Despite #503 and #506, you cannot call
MoveGroupInterface::stop()
in a separate thread whileMoveGroupInterface::execute()
is running. This is related to thread-safety but I couldn't find information about thread-safety ofMoveGroupInterface
.Your environment
main
(419db3b).Steps to reproduce
Call
move_group->execute()
, then, beforeexecute
returns, callmove_group->stop()
in another thread.Expected behaviour
The executable should not crash and the trajectory execution should stop.
Actual behaviour
The executable crashes with
Backtrace or Console output
Backtrace.
The text was updated successfully, but these errors were encountered: