-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Looks like some of the tests the "samehost" container fails because no interface is bound to the given multicast address
It looks like all that's required is to set RMW_IMPLEMENTATION=rmw_cyclonedds_cpp, then ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST.
RMW_IMPLEMENTATION=rmw_cyclonedds_cpp ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST ROS_STATIC_PEERS= ros2 run test_discovery publish_once
./test_scenario.bash <path/to/ws> rmw_cyclonedds_cppAttaching to iron_irwini_discovery_modes_prototype_samehost_container_1
samehost_container_1 | Same host publisher setting is LOCALHOST, static peers is 10.0.0.2;10.0.0.3
samehost_container_1 | [INFO] [1675970780.699019115] [rcl]: Automatic discovery range is RMW_AUTOMATIC_DISCOVERY_RANGE_OFF (1)
samehost_container_1 | [INFO] [1675970780.699038321] [rcl]: Static peers count is 1
samehost_container_1 | [INFO] [1675970780.699043426] [rcl]: 10.0.0.2
samehost_container_1 | [INFO] [1675970780.699886841] [rmw_cyclonedds_cpp]: Config XML is <CycloneDDS><Domain><General><AllowMulticast>asm,ssm</AllowMulticast></General><Discovery><Peers><Peer address="10.0.0.2"/></Peers></Discovery></Domain></CycloneDDS>,
samehost_container_1 | [INFO] [1675970780.893820534] [rcl]: Automatic discovery range is RMW_AUTOMATIC_DISCOVERY_RANGE_LOCALHOST
samehost_container_1 | [INFO] [1675970780.893839339] [rcl]: Static peers count is 2
samehost_container_1 | [INFO] [1675970780.893863233] [rcl]: 10.0.0.2
samehost_container_1 | [INFO] [1675970780.893867414] [rcl]: 10.0.0.3
samehost_container_1 | [INFO] [1675970780.894581896] [rmw_cyclonedds_cpp]: Config XML is <CycloneDDS><Domain><General><AllowMulticast>true</AllowMulticast><MulticastRecvNetworkInterfaceAddresses>224.0.0.1</MulticastRecvNetworkInterfaceAddresses></General><Discovery><Peers><Peer address="10.0.0.2"/><Peer address="10.0.0.3"/></Peers></Discovery></Domain></CycloneDDS>,
samehost_container_1 | 1675970780.895466 [0] ros2: No interface bound to requested address '224.0.0.1'
samehost_container_1 | [ERROR] [1675970780.895508752] [rmw_cyclonedds_cpp]: rmw_create_node: failed to create domain, error Error
samehost_container_1 |
samehost_container_1 | >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
samehost_container_1 | This error state is being overwritten:
samehost_container_1 |
samehost_container_1 | 'error not set, at /home/sloretz/ws/ddsoobe/src/ros2/rcl/rcl/src/rcl/node.c:263'
samehost_container_1 |
samehost_container_1 | with this new error message:
samehost_container_1 |
samehost_container_1 | 'rcl node's rmw handle is invalid, at /home/sloretz/ws/ddsoobe/src/ros2/rcl/rcl/src/rcl/node.c:415'
samehost_container_1 |
samehost_container_1 | rcutils_reset_error() should be called after error handling to avoid this.
samehost_container_1 | <<<
samehost_container_1 | [ERROR] [1675970780.895607734] [rcl]: Failed to fini publisher for node: 1
samehost_container_1 | error creating node: rcl node's rmw handle is invalid, at /home/sloretz/ws/ddsoobe/src/ros2/rcl/rcl/src/rcl/node.c:415
iron_irwini_discovery_modes_prototype_samehost_container_1 exited with code 1
Seems like the xml address is specified in the config file
<CycloneDDS>
<Domain>
<General>
<AllowMulticast>true</AllowMulticast>
<MulticastRecvNetworkInterfaceAddresses>224.0.0.1</MulticastRecvNetworkInterfaceAddresses>
</General>
<Discovery>
<Peers>
<Peer address="10.0.0.2"/>
<Peer address="10.0.0.3"/>
</Peers>
</Discovery>
</Domain>
</CycloneDDS>Reproduce with node from ros2/system_tests#512
Metadata
Metadata
Assignees
Labels
No labels