Skip to content
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

The nav2_amcl version present in the humble container crashes replaying the perfect odometry bagfile #253

Closed
glpuga opened this issue Sep 2, 2023 · 10 comments
Labels
bug Something isn't working

Comments

@glpuga
Copy link
Collaborator

glpuga commented Sep 2, 2023

Bug description

Running the perfect odometry bagfile against nav2 amcl in the Humble development container causes amcl to crash early in the bagfile.

This is an issue for us because this prevents performance measurements from being captured for this node, and therefore lacking any significant comparison baseline for beluga.

Building nav2_amcl from source with the source taken from a the current HEAD of navigation2's repository runs just fine, so it's probably an issue within amcl itself, but a relevant change has not been identified as the fix.

Platform (please complete the following information):

  • OS: Humble development container.
  • Beluga version: c0e2de1

How to reproduce

  1. Go to the beluga working copy
  2. ./docker/run --build
  3. Once in the container: colcon build && . install/setup.bash && ros2 launch beluga_example perfect_odometry.launch.xml localization_package:=nav2_amcl localization_node:=amcl

Expected behavior

AMCL should be able to produce localization data from the bagfile replay.

Actual behavior

AMCL crashes. When capturing performance data, no data is captured at all.

Additional context

This issue has been present since early June or so, but it was initially thought to be caused by #232 and other problems in the bagfiles.

The stack dump of the crash can be obtained with:

sudo apt update && sudo apt install xterm -y
colcon build
. install/setup.bash
ros2 launch beluga_example perfect_odometry.launch.xml localization_package:=nav2_amcl localization_node:=amcl localization_prefix:="xterm -e gdb --args "

Once in xterm start the amcl process with the run command and wait until it crashes. Then use the back command.

Screenshot from 2023-09-02 18-36-45

@glpuga glpuga added the bug Something isn't working label Sep 2, 2023
@glpuga
Copy link
Collaborator Author

glpuga commented Sep 3, 2023

This is somehow related to the launchfiles being broken and loading the wrong param file in #254 . When the right param file is loaded, nav2_amcl works fine.

The failure may then be related to some value in the default param yaml file.

@nahueespinosa
Copy link
Member

This might be related to #238 (comment). I think we agreed not to use Humble to benchmark.

Most likely, adaptive recovery is enabled in the default param yaml file, which causes the crash. We do need to fix the launch files.

@glpuga
Copy link
Collaborator Author

glpuga commented Sep 4, 2023

This might be related to #238 (comment). I think we agreed not to use Humble to benchmark.

Thanks for the pointer. I had totally forgot about that. Fixing the launchfile should prevent this from happening for the benchmark runs at least.

@glpuga
Copy link
Collaborator Author

glpuga commented Oct 19, 2023

For easier future reference this is the root issue that needs fixing in Humble:

@hidmic
Copy link
Collaborator

hidmic commented Nov 2, 2023

Ping the maintainer to backport ros-navigation/navigation2#3315 (comment). We'll see when and if we get a response.

@hidmic
Copy link
Collaborator

hidmic commented Nov 4, 2023

Backported ros-navigation/navigation2#3938 ! We should be in the clear in the next package sync.

@hidmic
Copy link
Collaborator

hidmic commented Feb 9, 2024

Well, no, the Nav2 folks did not release in time for https://discourse.ros.org/t/preparing-for-humble-sync-2023-12-15/35091.

@hidmic
Copy link
Collaborator

hidmic commented Dec 6, 2024

Have we observed this again @glpuga @nahueespinosa ? I think not.

@glpuga
Copy link
Collaborator Author

glpuga commented Dec 6, 2024

No, we haven't, but then again we don't ever run the beluga_benchmark package anymore.

More broadly, we should reconsider whether that package is needed or if it should be phased out now that we use lambkin. The one thing that we might still use this for, but which we can do without just fine, is profiling.

@hidmic
Copy link
Collaborator

hidmic commented Dec 6, 2024

beluga_benchmark is getting replaced, so no need to track this external issue anymore.

@hidmic hidmic closed this as completed Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants