-
Notifications
You must be signed in to change notification settings - Fork 522
Closed
Description
Bug report
Required Info:
- Operating System:
- Ubuntu 22.04
- Installation type:
- binaries (humble)
- Version or commit hash:
- DDS implementation:
- cyclonedds
- Client library (if applicable):
- rclcpp
Steps to reproduce issue
I set use_composition to "True" to run the navigation stack nodes in one process and it worked.
after that, I typed ctrl+c to exit the process. but it takes too long to terminate(more than 10 seconds), and it does not terminate properly sometimes.
Below is part of the launch file I ran.
......
nav2_container = Node(
condition=IfCondition(use_composition),
package='rclcpp_components',
executable='component_container_isolated',
name=container_name,
output='screen',
respawn=use_respawn,
respawn_delay=2.0,
parameters=[configured_params_for_compositon, {'autostart': autostart}],
remappings=remappings),
......
load_composable_nodes = LoadComposableNodes(
condition=IfCondition(use_composition),
target_container=container_name, #nav2_container
composable_node_descriptions=[
ComposableNode(
package='nav2_controller',
plugin='nav2_controller::ControllerServer',
name='controller_server',
parameters=[configured_params],
remappings=[('cmd_vel', 'cmd_vel_nav')] + remappings),
ComposableNode(
package='nav2_smoother',
plugin='nav2_smoother::SmootherServer',
name='smoother_server',
parameters=[configured_params],
remappings=remappings),
ComposableNode(
package='nav2_planner',
plugin='nav2_planner::PlannerServer',
name='planner_server',
parameters=[configured_params],
remappings=remappings),
ComposableNode(
package='nav2_behaviors',
plugin='behavior_server::BehaviorServer',
name='behavior_server',
parameters=[configured_params],
remappings=remappings),
ComposableNode(
package='nav2_waypoint_follower',
plugin='nav2_waypoint_follower::WaypointFollower',
name='waypoint_follower',
parameters=[configured_params],
remappings=remappings),
ComposableNode(
package='nav2_bt_navigator',
plugin='nav2_bt_navigator::BtNavigator',
name='bt_navigator',
parameters=[configured_params],
remappings=remappings),
ComposableNode(
package='nav2_velocity_smoother',
plugin='nav2_velocity_smoother::VelocitySmoother',
name='velocity_smoother',
parameters=[configured_params],
remappings=[('cmd_vel', 'cmd_vel_nav'),
('cmd_vel_smoothed', 'cmd_vel')] + remappings),
ComposableNode(
package='nav2_lifecycle_manager',
plugin='nav2_lifecycle_manager::LifecycleManager',
name='lifecycle_manager_navigation',
parameters=[{'use_sim_time': use_sim_time,
'autostart': autostart,
'node_names': lifecycle_nodes}],
remappings=remappings),
],
)
.......
Below is the log when component container ends. (actually I use two container node, one is for navigation stack, and the other is for my custom node)
[ERROR] [component_container_isolated-13]: process[component_container_isolated-13] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[ERROR] [component_container_isolated-7]: process[component_container_isolated-7] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [component_container_isolated-13]: sending signal 'SIGTERM' to process[component_container_isolated-13]
[INFO] [component_container_isolated-7]: sending signal 'SIGTERM' to process[component_container_isolated-7]
[component_container_isolated-13] [INFO 1673835779.167809326] [rclcpp]: signal_handler(signum=15) (./src/rclcpp/signal_handler.cpp:71)
[component_container_isolated-7] [INFO 1673835779.169543075] [rclcpp]: signal_handler(signum=15) (./src/rclcpp/signal_handler.cpp:71)
[ERROR] [component_container_isolated-13]: process[component_container_isolated-13] failed to terminate '10.0' seconds after receiving 'SIGTERM', escalating to 'SIGKILL'
[ERROR] [component_container_isolated-7]: process[component_container_isolated-7] failed to terminate '10.0' seconds after receiving 'SIGTERM', escalating to 'SIGKILL'
[INFO] [component_container_isolated-13]: sending signal 'SIGKILL' to process[component_container_isolated-13]
[INFO] [component_container_isolated-7]: sending signal 'SIGKILL' to process[component_container_isolated-7]
[ERROR] [component_container_isolated-7]: process has died [pid 22074, exit code -9, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_isolated --ros-args -r __node:=perception_container -r __ns:=/'].
[ERROR] [component_container_isolated-13]: process has died [pid 22086, exit code -9, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_isolated --ros-args -r __node:=nav_container -r __ns:=/ --params-file /tmp/tmpf4tgn9jt --params-file /tmp/launch_params_ei4e54qx -r /tf:=tf -r /tf_static:=tf_static'].
On the other hand, when using component_container instead of component_container_isolated, it is almost finished immediately.
Is it normal to take a long time to end when using component_container_isolated?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels