-
Notifications
You must be signed in to change notification settings - Fork 197
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
Raise std::future_error: Promise already satisfied #141
Labels
bug
Something isn't working
Comments
Related to ros-navigation/navigation2#967 |
@jacobperron @tfoote - can someone prioritize looking into this, it is causing failures in navigation2 about 50-60% of the time |
I also ran into this myself. Working on a fix now. |
jacobperron
added a commit
that referenced
this issue
Aug 6, 2019
The timer-request handle map is used to check if the promise to the user has already been set. For the transformable request callback, we loop over the values of the map to check if the request is still valid. Alternatively, we could implement a bi-directional map for efficiency, but I don't expect the number of entries in the timer-request map to be large so it seems like a pre-mature optimization. Fixes #141 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
@vinnamkim @mkhansen-intel Can someone confirm that applying #143 resolves the issue for you? |
jacobperron
added a commit
that referenced
this issue
Aug 6, 2019
* Add test for race in tf2_ros::Buffer Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Fix race between timeout and transform ready callback The timer-request handle map is used to check if the promise to the user has already been set. For the transformable request callback, we loop over the values of the map to check if the request is still valid. Alternatively, we could implement a bi-directional map for efficiency, but I don't expect the number of entries in the timer-request map to be large so it seems like a pre-mature optimization. Fixes #141 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug report
Required Info:
Ubuntu 18.04
source
e29db0a
Fast-RTPS
rclcpp, nav2_amcl
Steps to reproduce issue
Launching nav2_bringup's nav2_simulation_launch.py and waiting some minutes.
Expected behavior
Nothing happen
Actual behavior
Exception(
what(): std::future_error: Promise already satisfied
) is raised at the following code.geometry2/tf2_ros/src/buffer.cpp
Line 256 in e29db0a
Additional information
It seems
Buffer::timerCallback
is calledgeometry2/tf2_ros/src/buffer.cpp
Line 256 in e29db0a
after
cb_handle
is called.geometry2/tf2_ros/src/buffer.cpp
Line 205 in e29db0a
The text was updated successfully, but these errors were encountered: