-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Added mutex to prevent SEGFAULT on map change in AMCL #2933
Conversation
@mrmara, please properly fill in PR template in the future. @SteveMacenski, use this instead.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can rename one of these mutexes to just the mutex_
and that's used in all of the places that these 2 are used. There's no reason to have both locked in all situations.
Yes, you are right! I just pushed the modifications. |
In short, you do not have to worry about it.. :-) |
* Added mutex to prevent SEGFAULT on map change * Removing redundant mutex Co-authored-by: Antonio Marangi <[email protected]>
* fix invert logic (#2772) * Bugfix tf lookup of goal pose in nav2_controller (#2780) Signed-off-by: Erik Örjehag <[email protected]> * Feature to call controller action server to follow path (#2789) * Added call to controller action server with a path to follow ++ Added a new function in robot_navigator,py ++ Added a launch script to test function ++ Updated setup.py to include demo_follow_path.py * Code refactoring * Code refactoring * Code refactoring for consistency * Updated README.md * Resolved executable conflict in setup.py for example_follow_path.py * Code refactoring with ament_flake8 * Add recoveries to simple commander (#2792) * fix Typo * add recoveries * add docs * added demo using backup and spin * rename isNavigationComplete to isTaskComplete * rename cancelNav to cancelTask * add prints * fix premature exit * rename NavResult to TaskResult * fix readme order * fix import order * renaming * renaming * added planner_id (#2806) * Fixing the issue #2781: raytraceLine with same start and end point (#2784) * Fixing the issue #2781: raytraceLine with same start and end point no longer causes segmentation fault * Some whitespace modifications to make the code pass release_test * Add testcase for raytraceLine the same point Co-authored-by: Alexey Merzlyakov <[email protected]> * Add optional node names to wait (#2811) * add option to specify navigator and localizer to wait for * add docs for waituntilNav2Active * wait for pose only for amcl * revert order * remove resizing on update message callback (#2818) * restrict test_msgs to test_dependency (#2827) Signed-off-by: Alberto Soragna <[email protected]> * remove unused odometry smoother in bt navigator (#2829) * remove unused odometry smoother in bt navigator Signed-off-by: Alberto Soragna <[email protected]> * reorganize bt navigator to shared odom_smoother object with servers Signed-off-by: Alberto Soragna <[email protected]> * Add all action options (#2834) * added options * update docs * Adding theta* to the main packages list * Fix: bt_navigator crashes on lc transitions (#2848) * fix empty address access on halt all actions * fix unsafe declaration of parameters * restore odom smoother * fix styling issues * add missing semicolumn * fix-collision checker must capture lethal before unknow (#2854) * Removing old unused function and comment (#2863) * Better Costmap Error Message (#2884) * Better Costmap Error Message * PR Feedback * add getRobotRadius() in costmap_2d_ros (#2896) * Add clock time to costmaps (#2899) * update goal checker plugin to plugins (#2909) * Allow usage of std::string in searchAndGetParam() (#2918) * Allow usage of std::string in searchAndGetParam() Removed also old TODO related to legacy ROS API * Fix * Clean up action clients in nav2_simple_commander (#2924) * Clean up action clients in nav2_simple_commander * Add camelCase version * Add docs * Added mutex to prevent SEGFAULT on map change in AMCL (#2933) * Added mutex to prevent SEGFAULT on map change * Removing redundant mutex Co-authored-by: Antonio Marangi <[email protected]> Co-authored-by: G.Doisy <[email protected]> Co-authored-by: Erik Örjehag <[email protected]> Co-authored-by: Ekansh Sharma <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: janx8r <[email protected]> Co-authored-by: Alexey Merzlyakov <[email protected]> Co-authored-by: Andrii Maistruk <[email protected]> Co-authored-by: Alberto Soragna <[email protected]> Co-authored-by: Erwin Lejeune <[email protected]> Co-authored-by: Hossein Sheikhi Darani <[email protected]> Co-authored-by: David V. Lu!! <[email protected]> Co-authored-by: Carlos Andrés Álvarez Restrepo <[email protected]> Co-authored-by: Patrick Roncagliolo <[email protected]> Co-authored-by: M. Mostafa Farzan <[email protected]> Co-authored-by: mrmara <[email protected]> Co-authored-by: Antonio Marangi <[email protected]>
…#2933) * Added mutex to prevent SEGFAULT on map change * Removing redundant mutex Co-authored-by: Antonio Marangi <[email protected]>
Basic Info
Description of contribution in a few bullet points
Fixed Segmentation Fault happening in map_calc_range() if new laserscans were processed during a map change event.
This was done by adding
configuration_mutex_
lock on laserscan callback. Mutex lock has been added also to other methods accordingly to ROS Noetic implementationDescription of documentation updates required from your changes
none
Future work that may be required in bullet points
For Maintainers: