Skip to content

ros2 launch with ComposableNodes doesn't terminate on SIGTERM #223

Closed
@ksuszka

Description

@ksuszka

Bug report

Required Info:

  • Operating System:
    • Ubuntu 20.04
  • Installation type:
    • official docker ros:foxy and ros:rolling
  • Version or commit hash:
    • N/A
  • DDS implementation:
    • rmw_fastrtps_cpp
  • Client library (if applicable):
    • ros-*-demo-nodes-cpp used as an example

Steps to reproduce issue

  1. Create test.launch.py launch file with composable node:
from launch import LaunchDescription
from launch_ros.actions import ComposableNodeContainer
from launch_ros.descriptions import ComposableNode

def generate_launch_description():
    nodes = ComposableNodeContainer(
        name="localization_container",
        namespace="",
        package="rclcpp_components",
        executable="component_container",
        composable_node_descriptions=[
            ComposableNode(
                package='demo_nodes_cpp',
                plugin='demo_nodes_cpp::Talker',
                name='talker')
        ],
        output="screen",
    )
    return LaunchDescription([nodes])
  1. Run this file by ros2 launch test.launch.py
  2. Find PID of running launch file
  3. In second terminal issue command: kill -SIGTERM <pid>

Expected behavior

Launch process is terminated as it happens without composable node.

Actual behavior

Launch process outputs standard termination messages and then hangs.

[ERROR] [launch]: using SIGTERM or SIGQUIT can result in orphaned processes
[ERROR] [launch]: make sure no processes launched are still running
[ERROR] [launch]: run task was canceled

Additional information

I've observed the same behaviour for ros:foxy and ros:rolling images.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions