-
Notifications
You must be signed in to change notification settings - Fork 65
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
Reconnect to an existing bond after it was broken (instance_id issue) #22
Comments
@dmalyuta thanks for reporting, |
Looking a bit more into it, it looks like the bond state machine doesn't allow to exit the "Dead" state so allowing this use case would require more changes than just some cleanup on sister's death. I'm going to mark this as an enhancement and will try to address it either in ROS Lunar or ROS Melodic but not try to address it in existing stable distros. For the time being I'd suggest to delete the bond and create a new one with the same id. |
Sounds good. That's what I'm doing currently (deleting bond and creating a new one). |
I tried this but it doesn't always work. If I bring one of my nodes back up I still see |
@kjeremy Can you provide a reproducible example ? |
Hi there, ProcessA.cpp
ProcessB.cpp
|
does this bug sloved? |
It seems that because of line 309 in bond.cpp, it is not possible to re-form a bond after a node on one end died and was revived. The use case story is as follows:
waitUntilFormed
callMore than two locations are trying to use a single bond...
errorIs this intentional in the bond package? It means that, when the bond is broken, what A should do in the above use case is delete the old bond and create a new, identical ("fresh") one and use that with
waitUntilFormed
.The text was updated successfully, but these errors were encountered: