Skip to content

Composable Lifecycle components do not auto start correctly due to differences in node_name #479

@SuperJappie08

Description

@SuperJappie08

Generated by Generative AI

No response

Operating System:

Linux J001-Ubuntu2404 6.14.0-27-generic #27~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 17:38:49 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

ROS version or commit hash:

Rolling

RMW implementation (if applicable):

No response

RMW Configuration (if applicable):

No response

Client library (if applicable):

rclcpp/rlcpy (_lifecycle)

'ros2 doctor --report' output

ros2 doctor --report
   ACTION LIST
action                 : none
action server count    : 0
action client count    : 0

   NETWORK CONFIGURATION
inet         : 127.0.0.1
inet4        : ['127.0.0.1']
inet6        : ['::1']
netmask      : 255.0.0.0
device       : lo
flags        : UP,LOOPBACK,RUNNING
mtu          : 65536
inet         : 192.168.1.35
inet4        : ['192.168.1.35']
ether        : 70:66:55:e9:0b:cf
inet6        : ['fe80::5a98:d8cb:dfbf:f00c%wlo1']
netmask      : 255.255.255.0
device       : wlo1
flags        : UP,BROADCAST,RUNNING,MULTICAST
mtu          : 1500
broadcast    : 192.168.1.255
inet         : 172.17.0.1
inet4        : ['172.17.0.1']
ether        : fa:a2:1d:a9:2d:65
netmask      : 255.255.0.0
device       : docker0
flags        : UP,BROADCAST,MULTICAST
mtu          : 1500
broadcast    : 172.17.255.255
ether        : bc:e9:2f:89:04:51
device       : eno1
flags        : UP,BROADCAST,MULTICAST
mtu          : 1500

   PACKAGE VERSIONS
topic_statistics_demo                     : latest=0.37.2, local=0.37.2
topic_monitor                             : latest=0.37.2, local=0.37.2
test_launch_ros                           : latest=N/A, local=0.29.2
ros2launch                                : latest=0.29.2, local=0.29.2
quality_of_service_demo_py                : latest=0.37.2, local=0.37.2
quality_of_service_demo_cpp               : latest=0.37.2, local=0.37.2
pendulum_control                          : latest=0.37.2, local=0.37.2
pendulum_msgs                             : latest=0.37.2, local=0.37.2
logging_demo                              : latest=0.37.2, local=0.37.2
lifecycle_py                              : latest=0.37.2, local=0.37.2
lifecycle                                 : latest=0.37.2, local=0.37.2
launch_testing_ros                        : latest=0.29.2, local=0.29.2
dummy_robot_bringup                       : latest=0.37.2, local=0.37.2
demo_nodes_cpp                            : latest=0.37.2, local=0.37.2
composition                               : latest=0.37.2, local=0.37.2
launch_ros                                : latest=0.29.2, local=0.29.2
intra_process_demo                        : latest=0.37.2, local=0.37.2
image_tools                               : latest=0.37.2, local=0.37.2
dummy_sensors                             : latest=0.37.2, local=0.37.2
dummy_map_server                          : latest=0.37.2, local=0.37.2
demo_nodes_py                             : latest=0.37.2, local=0.37.2
demo_nodes_cpp_native                     : latest=0.37.2, local=0.37.2
action_tutorials_py                       : latest=0.37.2, local=0.37.2
action_tutorials_cpp                      : latest=0.37.2, local=0.37.2
libyaml_vendor                            : latest=1.8.0, local=1.8.0
ros_environment                           : latest=4.4.1, local=4.4.1
std_srvs                                  : latest=5.8.2, local=5.8.2
rosidl_typesupport_cpp                    : latest=3.4.0, local=3.4.0
ament_uncrustify                          : latest=0.20.2, local=0.20.2
ros2action                                : latest=0.40.0, local=0.40.0
ament_cmake_core                          : latest=2.8.4, local=2.8.4
tf2_msgs                                  : latest=0.44.0, local=0.44.0
unique_identifier_msgs                    : latest=2.8.1, local=2.8.1
lifecycle_msgs                            : latest=2.4.2, local=2.4.2
diagnostic_msgs                           : latest=5.8.2, local=5.8.2
gz_math_vendor                            : latest=0.3.1, local=0.3.1
spdlog_vendor                             : latest=1.8.0, local=1.8.0
rosbag2_storage                           : latest=0.33.0, local=0.33.0
rclcpp_components                         : latest=30.1.0, local=30.1.0
ament_cppcheck                            : latest=0.20.2, local=0.20.2
ros2doctor                                : latest=0.40.0, local=0.40.0
ament_cmake_ros_core                      : latest=0.15.2, local=0.15.2
rosidl_typesupport_fastrtps_cpp           : latest=3.9.1, local=3.9.1
shape_msgs                                : latest=5.8.2, local=5.8.2
ament_cmake_version                       : latest=2.8.4, local=2.8.4
ament_cmake_ros                           : latest=0.15.2, local=0.15.2
trajectory_msgs                           : latest=5.8.2, local=5.8.2
rosbag2_storage_sqlite3                   : latest=0.33.0, local=0.33.0
ament_package                             : latest=0.18.1, local=0.18.1
ament_cmake                               : latest=2.8.4, local=2.8.4
rosidl_core_runtime                       : latest=0.4.0, local=0.4.0
ros2run                                   : latest=0.40.0, local=0.40.0
rcl_action                                : latest=10.2.3, local=10.2.3
rosbag2                                   : latest=0.33.0, local=0.33.0
rmw_dds_common                            : latest=4.0.0, local=4.0.0
ament_cmake_export_definitions            : latest=2.8.4, local=2.8.4
launch_xml                                : latest=3.9.2, local=3.9.2
python_orocos_kdl_vendor                  : latest=0.8.0, local=0.8.0
rosbag2_compression                       : latest=0.33.0, local=0.33.0
ament_cmake_export_dependencies           : latest=2.8.4, local=2.8.4
ros2pkg                                   : latest=0.40.0, local=0.40.0
ament_cmake_gen_version_h                 : latest=2.8.4, local=2.8.4
ament_pep257                              : latest=0.20.2, local=0.20.2
rcpputils                                 : latest=2.14.2, local=2.14.2
mcap_vendor                               : latest=0.33.0, local=0.33.0
ros_workspace                             : latest=1.0.3, local=1.0.3
rosidl_dynamic_typesupport_fastrtps       : latest=0.5.0, local=0.5.0
gz_transport_vendor                       : latest=0.2.2, local=0.2.2
rqt_gui                                   : latest=1.10.0, local=1.10.0
ament_cmake_pep257                        : latest=0.20.2, local=0.20.2
tf2_sensor_msgs                           : latest=0.44.0, local=0.44.0
ament_cmake_test                          : latest=2.8.4, local=2.8.4
common_interfaces                         : latest=5.8.2, local=5.8.2
ament_cmake_gmock                         : latest=2.8.4, local=2.8.4
ament_lint_cmake                          : latest=0.20.2, local=0.20.2
uncrustify_vendor                         : latest=3.2.0, local=3.2.0
orocos_kdl_vendor                         : latest=0.8.0, local=0.8.0
ament_cmake_export_libraries              : latest=2.8.4, local=2.8.4
ament_lint_common                         : latest=0.20.2, local=0.20.2
rclcpp_action                             : latest=30.1.0, local=30.1.0
tf2_ros                                   : latest=0.44.0, local=0.44.0
ros2topic                                 : latest=0.40.0, local=0.40.0
urdf                                      : latest=2.13.0, local=2.13.0
rosbag2_cpp                               : latest=0.33.0, local=0.33.0
std_msgs                                  : latest=5.8.2, local=5.8.2
stereo_msgs                               : latest=5.8.2, local=5.8.2
rcl_interfaces                            : latest=2.4.2, local=2.4.2
rosidl_core_generators                    : latest=0.4.0, local=0.4.0
ament_cmake_export_include_directories    : latest=2.8.4, local=2.8.4
ros2param                                 : latest=0.40.0, local=0.40.0
service_msgs                              : latest=2.4.2, local=2.4.2
gz_msgs_vendor                            : latest=0.2.3, local=0.2.3
ament_cmake_gtest                         : latest=2.8.4, local=2.8.4
rmw_test_fixture_implementation           : latest=0.15.2, local=0.15.2
ament_cmake_flake8                        : latest=0.20.2, local=0.20.2
sqlite3_vendor                            : latest=0.33.0, local=0.33.0
rosidl_pycommon                           : latest=5.0.1, local=5.0.1
zenoh_cpp_vendor                          : latest=0.8.2, local=0.8.2
rosidl_typesupport_introspection_c        : latest=5.0.1, local=5.0.1
ament_cmake_lint_cmake                    : latest=0.20.2, local=0.20.2
rosbag2_storage_mcap                      : latest=0.33.0, local=0.33.0
ament_cmake_cpplint                       : latest=0.20.2, local=0.20.2
rmw_implementation                        : latest=3.1.2, local=3.1.2
rmw_fastrtps_shared_cpp                   : latest=9.4.2, local=9.4.2
rosbag2_compression_zstd                  : latest=0.33.0, local=0.33.0
console_bridge_vendor                     : latest=1.9.1, local=1.9.1
ament_cpplint                             : latest=0.20.2, local=0.20.2
tf2_kdl                                   : latest=0.44.0, local=0.44.0
rcl_lifecycle                             : latest=10.2.3, local=10.2.3
composition_interfaces                    : latest=2.4.2, local=2.4.2
rcl_yaml_param_parser                     : latest=10.2.3, local=10.2.3
ament_cmake_target_dependencies           : latest=2.8.4, local=2.8.4
ament_cmake_cppcheck                      : latest=0.20.2, local=0.20.2
rmw_security_common                       : latest=7.9.0, local=7.9.0
ros2cli_common_extensions                 : latest=0.5.1, local=0.5.1
rosidl_cli                                : latest=5.0.1, local=5.0.1
rosidl_default_generators                 : latest=1.8.1, local=1.8.1
ament_xmllint                             : latest=0.20.2, local=0.20.2
ament_lint_auto                           : latest=0.20.2, local=0.20.2
rosidl_typesupport_interface              : latest=5.0.1, local=5.0.1
ament_cmake_pytest                        : latest=2.8.4, local=2.8.4
builtin_interfaces                        : latest=2.4.2, local=2.4.2
ament_cmake_export_targets                : latest=2.8.4, local=2.8.4
tf2_eigen                                 : latest=0.44.0, local=0.44.0
rclcpp_lifecycle                          : latest=30.1.0, local=30.1.0
qt_dotgraph                               : latest=2.10.1, local=2.10.1
rosidl_runtime_c                          : latest=5.0.1, local=5.0.1
rosbag2_storage_default_plugins           : latest=0.33.0, local=0.33.0
pybind11_vendor                           : latest=3.3.1, local=3.3.1
rmw                                       : latest=7.9.0, local=7.9.0
keyboard_handler                          : latest=0.5.0, local=0.5.0
domain_coordinator                        : latest=0.15.2, local=0.15.2
rmw_test_fixture                          : latest=0.15.2, local=0.15.2
gz_utils_vendor                           : latest=0.3.0, local=0.3.0
ament_cmake_copyright                     : latest=0.20.2, local=0.20.2
vision_msgs                               : latest=4.2.0, local=4.2.0
ros2cli                                   : latest=0.40.0, local=0.40.0
ament_cmake_libraries                     : latest=2.8.4, local=2.8.4
geometry2                                 : latest=0.44.0, local=0.44.0
rosidl_generator_type_description         : latest=5.0.1, local=5.0.1
ament_flake8                              : latest=0.20.2, local=0.20.2
ament_mypy                                : latest=0.20.2, local=0.20.2
rosidl_typesupport_c                      : latest=3.4.0, local=3.4.0
ament_cmake_export_link_flags             : latest=2.8.4, local=2.8.4
rosidl_runtime_py                         : latest=0.15.1, local=0.15.1
ros2test                                  : latest=0.9.1, local=0.9.1
rosidl_typesupport_fastrtps_c             : latest=3.9.1, local=3.9.1
rosidl_typesupport_introspection_cpp      : latest=5.0.1, local=5.0.1
tinyxml2_vendor                           : latest=0.11.2, local=0.11.2
rosidl_cmake                              : latest=5.0.1, local=5.0.1
ament_cmake_xmllint                       : latest=0.20.2, local=0.20.2
tracetools                                : latest=8.8.1, local=8.8.1
pluginlib                                 : latest=5.7.0, local=5.7.0
rosidl_default_runtime                    : latest=1.8.1, local=1.8.1
actuator_msgs                             : latest=0.0.1, local=0.0.1
ros2component                             : latest=0.40.0, local=0.40.0
launch_yaml                               : latest=3.9.2, local=3.9.2
class_loader                              : latest=2.9.0, local=2.9.0
osrf_pycommon                             : latest=2.1.7, local=2.1.7
ros_testing                               : latest=0.9.1, local=0.9.1
python_qt_binding                         : latest=2.4.0, local=2.4.0
tlsf                                      : latest=0.11.1, local=0.11.1
ros_base                                  : latest=0.13.0, local=0.13.0
liblz4_vendor                             : latest=0.33.0, local=0.33.0
ros2multicast                             : latest=0.40.0, local=0.40.0
rosidl_parser                             : latest=5.0.1, local=5.0.1
rclpy                                     : latest=10.0.0, local=10.0.0
ament_cmake_uncrustify                    : latest=0.20.2, local=0.20.2
rosbag2_interfaces                        : latest=0.33.0, local=0.33.0
ros2node                                  : latest=0.40.0, local=0.40.0
rclcpp                                    : latest=30.1.0, local=30.1.0
nav_msgs                                  : latest=5.8.2, local=5.8.2
type_description_interfaces               : latest=2.4.2, local=2.4.2
eigen3_cmake_module                       : latest=0.5.1, local=0.5.1
sensor_msgs_py                            : latest=5.8.2, local=5.8.2
qt_gui                                    : latest=2.10.1, local=2.10.1
message_filters                           : latest=7.3.0, local=7.3.0
ament_index_cpp                           : latest=1.12.1, local=1.12.1
tlsf_cpp                                  : latest=0.19.1, local=0.19.1
tf2_bullet                                : latest=0.44.0, local=0.44.0
tango_icons_vendor                        : latest=0.5.1, local=0.5.1
ament_lint                                : latest=0.20.2, local=0.20.2
gps_msgs                                  : latest=2.1.1, local=2.1.1
ament_copyright                           : latest=0.20.2, local=0.20.2
ament_cmake_python                        : latest=2.8.4, local=2.8.4
rmw_implementation_cmake                  : latest=7.9.0, local=7.9.0
rosidl_generator_c                        : latest=5.0.1, local=5.0.1
action_msgs                               : latest=2.4.2, local=2.4.2
zstd_vendor                               : latest=0.33.0, local=0.33.0
gz_tools_vendor                           : latest=0.1.2, local=0.1.2
launch_testing                            : latest=3.9.2, local=3.9.2
rmw_fastrtps_cpp                          : latest=9.4.2, local=9.4.2
rosidl_generator_cpp                      : latest=5.0.1, local=5.0.1
launch_testing_ament_cmake                : latest=3.9.2, local=3.9.2
rmw_zenoh_cpp                             : latest=0.8.2, local=0.8.2
rosidl_generator_py                       : latest=0.26.0, local=0.25.0
rqt_graph                                 : latest=1.8.1, local=1.8.1
tf2_ros_py                                : latest=0.44.0, local=0.44.0
libstatistics_collector                   : latest=2.1.1, local=2.1.1
sensor_msgs                               : latest=5.8.2, local=5.8.2
robot_state_publisher                     : latest=3.5.2, local=3.5.2
ament_cmake_include_directories           : latest=2.8.4, local=2.8.4
geometry_msgs                             : latest=5.8.2, local=5.8.2
ament_index_python                        : latest=1.12.1, local=1.12.1
tf2_eigen_kdl                             : latest=0.44.0, local=0.44.0
rosgraph_msgs                             : latest=2.4.2, local=2.4.2
tf2_tools                                 : latest=0.44.0, local=0.44.0
rqt_gui_py                                : latest=1.10.0, local=1.10.0
rcl                                       : latest=10.2.3, local=10.2.3
yaml_cpp_vendor                           : latest=9.2.0, local=9.2.0
ros2interface                             : latest=0.40.0, local=0.40.0
rosidl_adapter                            : latest=5.0.1, local=5.0.1
kdl_parser                                : latest=3.0.0, local=3.0.0
tf2_py                                    : latest=0.44.0, local=0.44.0
example_interfaces                        : latest=0.14.1, local=0.14.1
tf2                                       : latest=0.44.0, local=0.44.0
tf2_geometry_msgs                         : latest=0.44.0, local=0.44.0
rttest                                    : latest=0.19.1, local=0.19.1
ros_core                                  : latest=0.13.0, local=0.13.0
gz_cmake_vendor                           : latest=0.3.1, local=0.3.1
sros2_cmake                               : latest=0.16.2, local=0.16.2
rcl_logging_interface                     : latest=3.3.0, local=3.3.0
ros2lifecycle                             : latest=0.40.0, local=0.40.0
rosbag2_transport                         : latest=0.33.0, local=0.33.0
rpyutils                                  : latest=0.7.1, local=0.7.1
ros2bag                                   : latest=0.33.0, local=0.33.0
rosidl_dynamic_typesupport                : latest=0.4.0, local=0.4.0
ament_cmake_auto                          : latest=2.8.4, local=2.8.4
visualization_msgs                        : latest=5.8.2, local=5.8.2
rcutils                                   : latest=7.0.1, local=7.0.1
rosidl_runtime_cpp                        : latest=5.0.1, local=5.0.1
urdf_parser_plugin                        : latest=2.13.0, local=2.13.0
statistics_msgs                           : latest=2.4.2, local=2.4.2
ros2service                               : latest=0.40.0, local=0.40.0
sros2                                     : latest=0.16.2, local=0.16.2
rcl_logging_spdlog                        : latest=3.3.0, local=3.3.0
launch                                    : latest=3.9.2, local=3.9.2
rosbag2_py                                : latest=0.33.0, local=0.33.0

   PLATFORM INFORMATION
system           : Linux
platform info    : Linux-6.14.0-27-generic-x86_64-with-glibc2.39
release          : 6.14.0-27-generic
processor        : x86_64

   QOS COMPATIBILITY LIST
compatibility status    : No publisher/subscriber pairs found

   RMW MIDDLEWARE
middleware name    : rmw_fastrtps_cpp

   ROS 2 INFORMATION
distribution name      : rolling
distribution type      : ros2
distribution status    : rolling
release platforms      : {'debian': ['bookworm'], 'rhel': ['9'], 'ubuntu': ['noble']}

   SERVICE LIST
service          : none
service count    : 0
client count     : 0

   TOPIC LIST
topic               : none
publisher count     : 0
subscriber count    : 0

================================================================================
                                !!! WARNING !!!                                 
================================================================================
The report includes all ROS 2 endpoint information and system platform information.
Please review the report before sharing, as it may contain sensitive or private data.
================================================================================

Steps to reproduce issue

  1. Make a (python) launch file, which namespaces a lifecycle node component (directly in container or loaded latter does not matter)
  2. Make sure autostart is enabled
  3. launch

Expected behavior

The node auto activates.

Actual behavior

The node does not activate.

Additional information

Setting autostart does not work when a lifecycle node component is namespaced due to differences in the node_name attribute between the Composable(Lifecycle)Node and (Lifecycle)Node, which is used by the LifecycleEventManager.

node_name is the fully qualified node name for the normal (lifecycle) node.
While it is just the node name for the component equivalent.

(Discovered while working on #478, which is non-trivial to test due to the lack of demo/example lifecycle components)

EDIT: Clarification

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions