Skip to content

ROS2 & discovery server : fails if running more than 100 nodes #6359

@1r0b1n0

Description

@1r0b1n0

Is there an already existing issue for this?

  • I have searched the existing issues

Expected behavior

all nodes should be visible in "ros2 topic list" and "ros2 node list"
ros2 topic list|wc -l should show 112
ros2 node list|wc -l should shows 110

Current behavior

only the first 100 nodes are working:
ros2 topic list|wc -l shows 102
ros2 node list|wc -l shows 100

Steps to reproduce

Create a launch file named launch.py :

from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument, OpaqueFunction
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node


def generate_talker_nodes(context):
    n = int(LaunchConfiguration('n').perform(context))
    nodes = []
    for i in range(1, n+1):
        nodes.append(
            Node(
                package='examples_rclcpp_minimal_publisher',
                executable='publisher_member_function',
                name=f'talker_{i}',
                namespace=f'talker_{i}',
                output='screen',
            )
        )
    return nodes


def generate_launch_description():
    return LaunchDescription([
        DeclareLaunchArgument(
            'n',
            default_value='5',
            description='Number of talker instances to launch'
        ),
        OpaqueFunction(function=generate_talker_nodes),
    ])

In ubuntu 24.04, install ROS2 Kilted then apt install ros-kilted-examples-rclcpp-minimal-publisher

In terminal A]

source /opt/ros/kilted/setup.bash
fastdds discovery

In terminal B]

export ROS_DISCOVERY_SERVER=UDPv4:[127.0.0.1]:11811
export FASTDDS_DEFAULT_PROFILES_FILE=/home/rov/super_client_configuration_file.xml

ros2 daemon stop
ros2 daemon start

In terminal C]

ros2 launch launch.py n:=110

Wait a minute, then again in Terminal B]

ros2 node list|wc -l
ros2 topic list|wc -l

Fast DDS version/commit

fastdds version : 3.2.3-1noble.20260224.230002 (ros2 kilted)
fastdds version : 3.4.2-1noble.20260130.183350 (ros2 rolling)

Platform/Architecture

Other. Please specify in Additional context section.

Transport layer

UDPv4

Additional context

OS: Ubuntu 24.04
Tested in ROS2 kilted (and also in ROS2 rolling)

XML configuration file

-> default config for the talker nodes
-> for ROS2 CLI tool (ros2 node list) : The `super_client_configuration_file.xml`, from this page : https://docs.ros.org/en/kilted/Tutorials/Advanced/Discovery-Server/Discovery-Server.html

Relevant log output

Network traffic capture

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    triageIssue pending classification

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions