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

controller_server crashed with calling /lifecycle_manager/manage_nodes service #3762

Closed
AmmarAlbakri opened this issue Aug 17, 2023 · 4 comments
Labels
bug Something isn't working

Comments

@AmmarAlbakri
Copy link

Bug report

  • Operating System:
    • Ubuntu 22.04
  • ROS2 Version:
    • Humble binary
  • DDS implementation:
    • FastRTPS

Steps to reproduce the issue

  • Launch the navigation stack
  • Call the manage_nodes service of the navigation lifecycle manager with a value of 3 -> Reset
  • Call the manage_nodes service of the navigation lifecycle manager with a value of 0 -> Bringup

Expected behavior

The Navigation stack should transition into the active state with no problem

Actual behavior

controller_server crashes with the error:
[controller_server-1] terminate called after throwing an instance of 'std::runtime_error' [controller_server-1] what(): Node '/local_costmap/local_costmap' has already been added to an executor.

and the node is dead and must be restarted.

@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 17, 2023

Can you verify that it works in main and/or if you apply this patch onto Humble that it works?

I believe we have handled this but it just hasn't been released to Humble binaries yet as a relatively recent fix. If that's the only issue, I can re-release Humble sooner to provide it.

@SteveMacenski SteveMacenski added the bug Something isn't working label Aug 17, 2023
@AmmarAlbakri
Copy link
Author

main doesn't build, nav2_utils gives error:

navigation2/nav2_util/include/nav2_util/service_client.hpp:49:15: error: cannot convert ‘rclcpp::SystemDefaultsQoS’ to ‘const rmw_qos_profile_t&’ {aka ‘const rmw_qos_profile_s&’} 49 | rclcpp::SystemDefaultsQoS()

along with several more errors I can open a new issue for (maybe humble compatibility issue).

humble also doesn't build, nav2_mppi_controller gives error:

navigation2/nav2_mppi_controller/test/utils_test.cpp:199:29: error: too many arguments to function ‘double mppi::utils::posePointAngle(const Pose&, double, double)’ 199 | EXPECT_NEAR(posePointAngle(pose, point_x, point_y, forward_preference), 0.0, 1e-6);

I removed the nav2_mppi_controller and can confirm with this patch it works on humble.

I couldn't test on main since nav2_planner and nav2_controller now include nav2_core/controller_exceptions.hpp which isn't available in humble.

@SteveMacenski
Copy link
Member

But anyhow this is the answer:

I removed the nav2_mppi_controller and can confirm with this patch it works on humble.

That patch is actually already on humble, its just not in the released binaries. If you build humble from source, you're good to go! It will be released into binary format next time there is a release. I ran a release on August 4th and it looks like that release is happening today / tomorrow https://discourse.ros.org/t/preparing-for-humble-sync-2023-08-18/32950 so you should have humble binaries with this fix by the latest end of this week.

@SteveMacenski
Copy link
Member

https://discourse.ros.org/t/new-packages-for-humble-hawksbill-2023-08-18/32971

Update now and it should be patched

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

2 participants