Nodes missing from `ros2 node list` after relaunch
See original GitHub issueBug report
Required Info:
- Operating System:
- Ubuntu 20.04
- Installation type:
- Foxy binaries
- Version or commit hash:
- ros-foxy-navigation2 0.4.5-1focal.20201210.084248
- DDS implementation:
- Fast-RTPS (default)
- Client library (if applicable):
- n/a
Steps to reproduce issue
1
From the workspace root, launch (e.g.) a TurtleBot3 simulation:
export TURTLEBOT3_MODEL=burger
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$(pwd)/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
Then, in a second terminal, launch the navigation:
export TURTLEBOT3_MODEL=burger
ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=true
Print the node list:
ros2 node list
Close (ctrl-c) the navigation and the simulation.
2
Relaunch from the same respective terminals, the simulation:
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
and the navigation:
ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=true
Print the node list again (2nd time):
ros2 node list
Close (ctrl-c) the navigation and the simulation. Stop the ros2
daemon:
ros2 daemon stop
3
Relaunch from the same respective terminals, the simulation:
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
and the navigation:
ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=true
Print the node list again (3rd time):
ros2 node list
Expected behavior
The node list should be the same all three times (up to some hash in the /transform_listener_impl_...
nodes).
Actual behavior
The second time, the following nodes are missing (the remainder is practically the same):
/controller_server
/controller_server_rclcpp_node
/global_costmap/global_costmap
/global_costmap/global_costmap_rclcpp_node
/global_costmap_client
/local_costmap/local_costmap
/local_costmap/local_costmap_rclcpp_node
/local_costmap_client
/planner_server
/planner_server_rclcpp_node
The third time, after stopping the daemon, it works as expected again.
Note, that everything else works fine and in case of the above navigation use case, the nodes are fully functional.
Additional information
This issue was raised here: ros-planning/navigation2#2145.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:3
- Comments:28 (6 by maintainers)
Top GitHub Comments
I’m seeing something similar with gazebo + ros2_control as well.
The interesting thing is that if I do:
ros2 node list
I get 0 nodes.If I do
ros2 node list --no-daemon
I get the list of nodes.Restarting the daemon with
ros2 daemon stop; ros2 daemon start
also shows all nodes.I hope you guys can reproduce this issue on your machine, otherwise, nobody can help confirm even if I have a workaround patch 😄 .