Skip to content

Listen endpoint fails and doesn't restart or exit #864

@ciandonovan

Description

@ciandonovan

Generated by Generative AI

No response

Operating System:

Offical ROS 2 DockerHub image

ROS version or commit hash:

Jazzy

RMW implementation (if applicable):

rmw_zenoh

RMW Configuration (if applicable):

Host: OC0049

  listen: {
    /// timeout waiting for all listen endpoints (0: no retry, -1: infinite timeout)
    /// Accepts a single value (e.g. timeout_ms: 0)
    /// or different values for router, peer and client (e.g. timeout_ms: { router: -1, peer: -1, client: 0 }).
    timeout_ms: -1,

    /// The list of endpoints to listen on.
    /// Accepts a single list (e.g. endpoints: ["tcp/[::]:7447", "udp/[::]:7447"])
    /// or different lists for router, peer and client (e.g. endpoints: { router: ["tcp/[::]:7447"], peer: ["tcp/[::]:0"] }).
    ///
    /// See https://docs.rs/zenoh/latest/zenoh/config/struct.EndPoint.html
    endpoints: [
      "tcp/[::]:7447#iface=lo",
      "tcp/[::]:7448?rel=1;prio=0-3",
      "udp/[::]:7449?rel=0;prio=4-7",
    ],

    /// Global listen configuration,
    /// Accepts a single value or different values for router, peer and client.
    /// The configuration can also be specified for the separate endpoint
    /// it will override the global one
    /// E.g. tcp/192.168.0.1:7447#exit_on_failure=false;retry_period_max_ms=1000"

    /// exit from application, if timeout exceed
    exit_on_failure: true,
    /// listen retry configuration
    retry: {
      /// initial wait timeout until next try
      period_init_ms: 1000,
      /// maximum wait timeout until next try
      period_max_ms: 4000,
      /// increase factor for the next timeout until next try
      period_increase_factor: 2,
    },
  },

Host: cdonovan-fw-13

function zenoh() {
  podman run -it --init --pull=newer --tz=local --ipc=host --net=host \
    --dns=127.0.0.53 \
    --volume="/tmp/:/tmp/:rw" \
    --env RUST_LOG=warn,zenoh_transport::unicast::establishment=debug \
    docker.io/eclipse/zenoh:1.6.1 \
    --cfg="listen/endpoints:[]" \
    --cfg="connect/endpoints:[\"tcp/localhost:7447\",\"tcp/$1:7448?rel=1;prio=0-3\",\"udp/$1:7449?rel=0;prio=4-7\"]" \
    --cfg="scouting/multicast/enabled:false" \
    --cfg="transport/shared_memory/enabled:false" \
    --cfg="transport/unicast/max_links:3"
}
cian@cdonovan-fw-13:/$ zenoh oc0049
#!/bin/ash
cat /entrypoint.sh
echo " * Starting: /$BINARY $*"
exec /$BINARY $*
 * Starting: /zenohd --cfg=listen/endpoints:[] --cfg=connect/endpoints:["tcp/localhost:7447","tcp/oc0049:7448?rel=1;prio=0-3","udp/oc0049:7449?rel=0;prio=4-7"] --cfg=scouting/multicast/enabled:false --cfg=transport/shared_memory/enabled:false --cfg=transport/unicast/max_links:3
2025-11-28T15:30:32.768659Z  WARN main ThreadId(01) zenoh::net::runtime::orchestrator: Starting with no listener endpoints!
2025-11-28T15:30:32.771137Z DEBUG net-0 ThreadId(03) zenoh_transport::unicast::establishment::open: New transport link opened from a4eb7b455cb6ae77746138234d8c5b7c to 5d3f2484ff50d86c6f1fbc23cc4419e3: TransportLinkUnicast { link: Link { src: tcp/127.0.0.1:45388, dst: tcp/127.0.0.1:7447, mtu: 65480, is_reliable: true, is_streamed: true }, config: TransportLinkUnicastConfig { direction: Outbound, batch: BatchConfig { mtu: 49152, is_streamed: true, is_compression: false }, priorities: None, reliability: None } }.
2025-11-28T15:30:32.804523Z DEBUG net-0 ThreadId(03) zenoh_transport::unicast::establishment::open: New transport link opened from a4eb7b455cb6ae77746138234d8c5b7c to 4b1d7e7996a246828f4299aa52fac90f: TransportLinkUnicast { link: Link { src: udp/100.98.221.93:42444, dst: udp/100.107.79.125:7449, mtu: 65487, is_reliable: false, is_streamed: false }, config: TransportLinkUnicastConfig { direction: Outbound, batch: BatchConfig { mtu: 65487, is_streamed: false, is_compression: false }, priorities: Some(PriorityRange(DataHigh..=Background)), reliability: Some(BestEffort) } }.
2025-11-28T15:30:32.811726Z DEBUG net-0 ThreadId(03) zenoh_transport::unicast::establishment::open: New transport link opened from a4eb7b455cb6ae77746138234d8c5b7c to 4b1d7e7996a246828f4299aa52fac90f: TransportLinkUnicast { link: Link { src: tcp/100.98.221.93:49318, dst: tcp/100.107.79.125:7448, mtu: 65084, is_reliable: true, is_streamed: true }, config: TransportLinkUnicastConfig { direction: Outbound, batch: BatchConfig { mtu: 65084, is_streamed: true, is_compression: false }, priorities: Some(PriorityRange(Control..=InteractiveLow)), reliability: Some(Reliable) } }.

Client library (if applicable):

No response

'ros2 doctor --report' output

ros2 doctor --report
root@OC0049:/# ros2 doctor --report

   NETWORK CONFIGURATION
inet         : 127.0.0.1
inet4        : ['127.0.0.1']
inet6        : ['::1']
netmask      : 255.0.0.0
device       : lo
flags        : 73<UP,LOOPBACK,RUNNING>
mtu          : 65536
inet         : 192.168.1.192
inet4        : ['192.168.1.192']
ether        : 2c:cf:67:23:3b:f9
inet6        : ['fd00:abcd::2ecf:67ff:fe23:3bf9', 'fe80::2ecf:67ff:fe23:3bf9%wifi_client']
netmask      : 255.255.255.0
device       : wifi_client
flags        : 4163<UP,BROADCAST,MULTICAST,RUNNING>
mtu          : 1500
broadcast    : 192.168.1.255
inet         : 10.67.68.1
inet4        : ['10.67.68.1']
ether        : 02:80:c3:9a:11:ff
netmask      : 255.255.255.0
device       : bridge_lan
flags        : 4099<UP,BROADCAST,MULTICAST>
mtu          : 1500
broadcast    : 10.67.68.255
inet         : 100.107.79.125
inet4        : ['100.107.79.125']
inet6        : ['fd7a:115c:a1e0::1637:4f7d', 'fe80::ce47:ba15:6e96:c9a9%tailscale0']
netmask      : 255.255.255.255
device       : tailscale0
flags        : 4305<UP,MULTICAST,PTP,RUNNING,NOARP>
mtu          : 1280
ether        : 2c:cf:67:23:3b:f8
device       : ethernet_client
flags        : 4099<UP,BROADCAST,MULTICAST>
mtu          : 1500

   PACKAGE VERSIONS
rcl_logging_interface                     : latest=3.1.1, local=3.1.1
ament_cmake_export_definitions            : latest=2.5.4, local=2.5.4
ros2cli                                   : latest=0.32.6, local=0.32.6
ament_cmake_uncrustify                    : latest=0.17.3, local=0.17.3
ros2param                                 : latest=0.32.6, local=0.32.6
ament_cmake_pep257                        : latest=0.17.3, local=0.17.3
ament_cmake_pytest                        : latest=2.5.4, local=2.5.4
ros_core                                  : latest=0.11.0, local=0.11.0
class_loader                              : latest=2.7.0, local=2.7.0
ament_cmake_include_directories           : latest=2.5.4, local=2.5.4
rosidl_adapter                            : latest=4.6.6, local=4.6.6
ros2doctor                                : latest=0.32.6, local=0.32.6
unique_identifier_msgs                    : latest=2.5.0, local=2.5.0
ament_cmake_libraries                     : latest=2.5.4, local=2.5.4
ament_cpplint                             : latest=0.17.3, local=0.17.3
ament_cmake_xmllint                       : latest=0.17.3, local=0.17.3
rmw_implementation_cmake                  : latest=7.3.2, local=7.3.2
ros2action                                : latest=0.32.6, local=0.32.6
rclcpp                                    : latest=28.1.14, local=28.1.12
ament_lint                                : latest=0.17.3, local=0.17.3
python_cmake_module                       : latest=0.11.1, local=0.11.1
ament_cmake_export_dependencies           : latest=2.5.4, local=2.5.4
ament_cmake_copyright                     : latest=0.17.3, local=0.17.3
visualization_msgs                        : latest=5.3.6, local=5.3.6
rosidl_typesupport_introspection_c        : latest=4.6.6, local=4.6.6
ament_uncrustify                          : latest=0.17.3, local=0.17.3
common_interfaces                         : latest=5.3.6, local=5.3.6
rmw_fastrtps_shared_cpp                   : latest=8.4.3, local=8.4.3
rosidl_generator_py                       : latest=0.22.2, local=0.22.2
lifecycle_msgs                            : latest=2.0.3, local=2.0.3
ament_cmake                               : latest=2.5.4, local=2.5.4
actionlib_msgs                            : latest=5.3.6, local=5.3.6
ament_cmake_export_libraries              : latest=2.5.4, local=2.5.4
ament_lint_cmake                          : latest=0.17.3, local=0.17.3
rosidl_dynamic_typesupport_fastrtps       : latest=0.1.0, local=0.1.0
std_msgs                                  : latest=5.3.6, local=5.3.6
ros2run                                   : latest=0.32.6, local=0.32.6
ros_workspace                             : latest=1.0.3, local=1.0.3
ament_cmake_export_interfaces             : latest=2.5.4, local=2.5.4
ament_cmake_test                          : latest=2.5.4, local=2.5.4
ros2multicast                             : latest=0.32.6, local=0.32.6
ament_index_python                        : latest=1.8.1, local=1.8.1
fastrtps_cmake_module                     : latest=3.6.3, local=3.6.2
diagnostic_msgs                           : latest=5.3.6, local=5.3.6
libyaml_vendor                            : latest=1.6.3, local=1.6.3
ament_cmake_lint_cmake                    : latest=0.17.3, local=0.17.3
rosidl_typesupport_interface              : latest=4.6.6, local=4.6.6
ament_cmake_cppcheck                      : latest=0.17.3, local=0.17.3
ament_lint_common                         : latest=0.17.3, local=0.17.3
ros2launch                                : latest=0.26.10, local=0.26.9
rosidl_typesupport_c                      : latest=3.2.2, local=3.2.2
statistics_msgs                           : latest=2.0.3, local=2.0.3
rcl_action                                : latest=9.2.8, local=9.2.7
action_msgs                               : latest=2.0.3, local=2.0.3
ros2interface                             : latest=0.32.6, local=0.32.6
libstatistics_collector                   : latest=1.7.4, local=1.7.4
rosidl_generator_cpp                      : latest=4.6.6, local=4.6.6
stereo_msgs                               : latest=5.3.6, local=5.3.6
rcl_yaml_param_parser                     : latest=9.2.8, local=9.2.7
rosidl_core_runtime                       : latest=0.2.0, local=0.2.0
sensor_msgs                               : latest=5.3.6, local=5.3.6
launch_yaml                               : latest=3.4.9, local=3.4.7
type_description_interfaces               : latest=2.0.3, local=2.0.3
ament_cmake_export_targets                : latest=2.5.4, local=2.5.4
ament_cmake_core                          : latest=2.5.4, local=2.5.4
uncrustify_vendor                         : latest=3.0.1, local=3.0.1
ament_cppcheck                            : latest=0.17.3, local=0.17.3
ament_cmake_flake8                        : latest=0.17.3, local=0.17.3
ament_cmake_cpplint                       : latest=0.17.3, local=0.17.3
ament_cmake_python                        : latest=2.5.4, local=2.5.4
console_bridge_vendor                     : latest=1.7.1, local=1.7.1
ros2component                             : latest=0.32.6, local=0.32.6
ament_cmake_gtest                         : latest=2.5.4, local=2.5.4
rclcpp_lifecycle                          : latest=28.1.14, local=28.1.12
rclcpp_action                             : latest=28.1.14, local=28.1.12
std_srvs                                  : latest=5.3.6, local=5.3.6
rclcpp_components                         : latest=28.1.14, local=28.1.12
rcl_lifecycle                             : latest=9.2.8, local=9.2.7
ament_cmake_version                       : latest=2.5.4, local=2.5.4
rmw_implementation                        : latest=2.15.6, local=2.15.6
launch_testing_ros                        : latest=0.26.10, local=0.26.9
rosidl_parser                             : latest=4.6.6, local=4.6.6
rmw_dds_common                            : latest=3.1.0, local=3.1.0
ros2service                               : latest=0.32.6, local=0.32.6
ament_cmake_gmock                         : latest=2.5.4, local=2.5.4
ament_cmake_gen_version_h                 : latest=2.5.4, local=2.5.4
ros2lifecycle                             : latest=0.32.6, local=0.32.6
sros2_cmake                               : latest=0.13.4, local=0.13.4
launch_xml                                : latest=3.4.9, local=3.4.7
launch_testing_ament_cmake                : latest=3.4.9, local=3.4.7
ament_cmake_export_include_directories    : latest=2.5.4, local=2.5.4
rosidl_runtime_py                         : latest=0.13.1, local=0.13.1
ament_pep257                              : latest=0.17.3, local=0.17.3
rcl_interfaces                            : latest=2.0.3, local=2.0.3
rcl_logging_spdlog                        : latest=3.1.1, local=3.1.1
tinyxml2_vendor                           : latest=0.9.2, local=0.9.1
sros2                                     : latest=0.13.4, local=0.13.4
pluginlib                                 : latest=5.4.3, local=5.4.2
rosidl_typesupport_introspection_cpp      : latest=4.6.6, local=4.6.6
rosidl_core_generators                    : latest=0.2.0, local=0.2.0
rpyutils                                  : latest=0.4.2, local=0.4.2
geometry_msgs                             : latest=5.3.6, local=5.3.6
ros2node                                  : latest=0.32.6, local=0.32.6
rosidl_default_runtime                    : latest=1.6.0, local=1.6.0
shape_msgs                                : latest=5.3.6, local=5.3.6
rosidl_typesupport_fastrtps_c             : latest=3.6.3, local=3.6.2
composition_interfaces                    : latest=2.0.3, local=2.0.3
ros2cli_common_extensions                 : latest=0.3.0, local=0.3.0
ros_environment                           : latest=4.2.1, local=4.2.1
tracetools                                : latest=8.2.4, local=8.2.4
ament_cmake_ros                           : latest=0.12.0, local=0.12.0
domain_coordinator                        : latest=0.12.0, local=0.12.0
trajectory_msgs                           : latest=5.3.6, local=5.3.6
ament_cmake_export_link_flags             : latest=2.5.4, local=2.5.4
rosidl_typesupport_fastrtps_cpp           : latest=3.6.3, local=3.6.2
ros2topic                                 : latest=0.32.6, local=0.32.6
nav_msgs                                  : latest=5.3.6, local=5.3.6
rosidl_pycommon                           : latest=4.6.6, local=4.6.6
launch_testing                            : latest=3.4.9, local=3.4.7
rosgraph_msgs                             : latest=2.0.3, local=2.0.3
service_msgs                              : latest=2.0.3, local=2.0.3
rosidl_generator_type_description         : latest=4.6.6, local=4.6.6
rosidl_typesupport_cpp                    : latest=3.2.2, local=3.2.2
ament_package                             : latest=0.16.4, local=0.16.4
rcutils                                   : latest=6.7.4, local=6.7.4
ament_copyright                           : latest=0.17.3, local=0.17.3
rcpputils                                 : latest=2.11.2, local=2.11.2
rosidl_generator_c                        : latest=4.6.6, local=4.6.6
ament_index_cpp                           : latest=1.8.1, local=1.8.1
osrf_pycommon                             : latest=2.1.7, local=2.1.7
rosidl_cmake                              : latest=4.6.6, local=4.6.6
rosidl_cli                                : latest=4.6.6, local=4.6.6
launch                                    : latest=3.4.9, local=3.4.7
ament_xmllint                             : latest=0.17.3, local=0.17.3
ament_flake8                              : latest=0.17.3, local=0.17.3
rosidl_dynamic_typesupport                : latest=0.1.2, local=0.1.2
ament_cmake_auto                          : latest=2.5.4, local=2.5.4
rosidl_runtime_c                          : latest=4.6.6, local=4.6.6
rosidl_runtime_cpp                        : latest=4.6.6, local=4.6.6
builtin_interfaces                        : latest=2.0.3, local=2.0.3
rosidl_default_generators                 : latest=1.6.0, local=1.6.0
rmw_fastrtps_cpp                          : latest=8.4.3, local=8.4.3
rcl                                       : latest=9.2.8, local=9.2.7
ament_lint_auto                           : latest=0.17.3, local=0.17.3
ament_cmake_target_dependencies           : latest=2.5.4, local=2.5.4
ros2pkg                                   : latest=0.32.6, local=0.32.6
spdlog_vendor                             : latest=1.6.1, local=1.6.1
rmw                                       : latest=7.3.2, local=7.3.2
rclpy                                     : latest=7.1.7, local=7.1.5
launch_ros                                : latest=0.26.10, local=0.26.9
rmw_cyclonedds_cpp                        : latest=2.2.3, local=2.2.3
zenoh_cpp_vendor                          : latest=0.2.9, local=0.2.9
rmw_zenoh_cpp                             : latest=0.2.9, local=0.2.9
mcap_vendor                               : latest=0.26.9, local=0.26.9
tf2_eigen                                 : latest=0.36.16, local=0.36.14
rosbag2_storage_mcap                      : latest=0.26.9, local=0.26.9
tf2_kdl                                   : latest=0.36.16, local=0.36.14
rosbag2_storage_sqlite3                   : latest=0.26.9, local=0.26.9
rosbag2_storage_default_plugins           : latest=0.26.9, local=0.26.9
sensor_msgs_py                            : latest=5.3.6, local=5.3.6
tf2_geometry_msgs                         : latest=0.36.16, local=0.36.14
rosbag2_cpp                               : latest=0.26.9, local=0.26.9
rosbag2                                   : latest=0.26.9, local=0.26.9
orocos_kdl_vendor                         : latest=0.5.1, local=0.5.1
tf2_msgs                                  : latest=0.36.16, local=0.36.14
urdf_parser_plugin                        : latest=2.10.0, local=2.10.0
geometry2                                 : latest=0.36.16, local=0.36.14
message_filters                           : latest=4.11.9, local=4.11.8
eigen3_cmake_module                       : latest=0.3.0, local=0.3.0
pybind11_vendor                           : latest=3.1.3, local=3.1.3
rosbag2_interfaces                        : latest=0.26.9, local=0.26.9
keyboard_handler                          : latest=0.3.1, local=0.3.1
tf2_eigen_kdl                             : latest=0.36.16, local=0.36.14
tf2_bullet                                : latest=0.36.16, local=0.36.14
tf2_ros_py                                : latest=0.36.16, local=0.36.14
sqlite3_vendor                            : latest=0.26.9, local=0.26.9
rosbag2_transport                         : latest=0.26.9, local=0.26.9
ros_base                                  : latest=0.11.0, local=0.11.0
liblz4_vendor                             : latest=0.26.9, local=0.26.9
tf2                                       : latest=0.36.16, local=0.36.14
yaml_cpp_vendor                           : latest=9.0.1, local=9.0.1
tf2_ros                                   : latest=0.36.16, local=0.36.14
rosbag2_compression_zstd                  : latest=0.26.9, local=0.26.9
zstd_vendor                               : latest=0.26.9, local=0.26.9
tf2_tools                                 : latest=0.36.16, local=0.36.14
tf2_sensor_msgs                           : latest=0.36.16, local=0.36.14
tf2_py                                    : latest=0.36.16, local=0.36.14
rosbag2_compression                       : latest=0.26.9, local=0.26.9
kdl_parser                                : latest=2.11.0, local=2.11.0
rosbag2_py                                : latest=0.26.9, local=0.26.9
python_orocos_kdl_vendor                  : latest=0.5.1, local=0.5.1
robot_state_publisher                     : latest=3.3.3, local=3.3.3
urdf                                      : latest=2.10.0, local=2.10.0
ros2bag                                   : latest=0.26.9, local=0.26.9
rosbag2_storage                           : latest=0.26.9, local=0.26.9

   PLATFORM INFORMATION
system           : Linux
platform info    : Linux-6.12.47+rpt-rpi-v8-aarch64-with-glibc2.39
release          : 6.12.47+rpt-rpi-v8
processor        : aarch64

   QOS COMPATIBILITY LIST
[REDACTED]

   RMW MIDDLEWARE
middleware name    : rmw_zenoh_cpp

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

   TOPIC LIST
[REDACTED]

Steps to reproduce issue

No explicit trigger, error occurs randomly with time

Expected behavior

Listen endpoint doesn't fail, or if it does, the whole zenoh router dies so that it can be restarted by systemd, or that particular endpoint is restarted.

Actual behavior

Listen endpoint fails, but since the whole process doesn't exit, it continues with only one listen endpoint. This is an issue where two listen endpoints were explicitly configured for link partitioning of reliable and unreliable data stream, forcing large non-realtime unreliable data to flood the reliable link.

Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.141975Z  INFO ThreadId(01) zenoh::net::runtime: Using ZID: 3dd7ad526a46cccae0084cf3dddac6e0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.180081Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: tcp/[fd00:abcd::2ecf:67ff:fe23:3bf9]:7448?prio=0-3;rel=1
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181478Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: tcp/[fd7a:115c:a1e0::1637:4f7d]:7448?prio=0-3;rel=1
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181498Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: tcp/100.107.79.125:7448?prio=0-3;rel=1
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181501Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: tcp/[fe80::2ecf:67ff:fe23:3bf9]:7448?prio=0-3;rel=1
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181504Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: tcp/[fe80::ce47:ba15:6e96:c9a9]:7448?prio=0-3;rel=1
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181506Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: tcp/192.168.1.192:7448?prio=0-3;rel=1
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181508Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: udp/[fd00:abcd::2ecf:67ff:fe23:3bf9]:7449?prio=4-7;rel=0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181510Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: udp/[fd7a:115c:a1e0::1637:4f7d]:7449?prio=4-7;rel=0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181512Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: udp/100.107.79.125:7449?prio=4-7;rel=0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181514Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: udp/[fe80::2ecf:67ff:fe23:3bf9]:7449?prio=4-7;rel=0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181516Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: udp/[fe80::ce47:ba15:6e96:c9a9]:7449?prio=4-7;rel=0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:53:59.181518Z  INFO ThreadId(01) zenoh::net::runtime::orchestrator: Zenoh can be reached at: udp/192.168.1.192:7449?prio=4-7;rel=0
Nov 26 16:53:59 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] Started Zenoh router with id 3dd7ad526a46cccae0084cf3dddac6e0
Nov 26 16:56:38 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-26T16:56:38.450833Z  INFO rx-1 ThreadId(09) zenoh::net::routing::interceptor::downsampling: Some message(s) have been dropped by the downsampling interceptor. Enable trace level tracing for more details.
Nov 28 12:16:31 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-28T12:16:22.720288Z ERROR Watchdog Validator ThreadId(05) zenoh_shm::watchdog::periodic_task: Some("Watchdog Validator"): timer overrun
Nov 28 12:17:09 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-28T12:16:54.923631Z ERROR Watchdog Validator ThreadId(05) zenoh_shm::watchdog::periodic_task: Some("Watchdog Validator"): timer overrun
cian@cdonovan-fw-13:/$ zenoh oc0049
#!/bin/ash
cat /entrypoint.sh
echo " * Starting: /$BINARY $*"
exec /$BINARY $*
 * Starting: /zenohd --cfg=listen/endpoints:[] --cfg=connect/endpoints:["tcp/localhost:7447","tcp/oc0049:7448?rel=1;prio=0-3","udp/oc0049:7449?rel=0;prio=4-7"] --cfg=scouting/multicast/enabled:false --cfg=transport/shared_memory/enabled:false --cfg=transport/unicast/max_links:3
2025-11-28T15:38:19.242046Z  WARN main ThreadId(01) zenoh::net::runtime::orchestrator: Starting with no listener endpoints!
2025-11-28T15:38:19.243806Z DEBUG net-0 ThreadId(03) zenoh_transport::unicast::establishment::open: New transport link opened from 10cb389c1195193ee2bf0acf8f4fde05 to 5d3f2484ff50d86c6f1fbc23cc4419e3: TransportLinkUnicast { link: Link { src: tcp/127.0.0.1:58670, dst: tcp/127.0.0.1:7447, mtu: 65480, is_reliable: true, is_streamed: true }, config: TransportLinkUnicastConfig { direction: Outbound, batch: BatchConfig { mtu: 49152, is_streamed: true, is_compression: false }, priorities: None, reliability: None } }.
2025-11-28T15:38:19.260249Z DEBUG net-0 ThreadId(03) zenoh_transport::unicast::establishment::open: New transport link opened from 10cb389c1195193ee2bf0acf8f4fde05 to 4b1d7e7996a246828f4299aa52fac90f: TransportLinkUnicast { link: Link { src: tcp/100.98.221.93:38884, dst: tcp/100.107.79.125:7448, mtu: 65084, is_reliable: true, is_streamed: true }, config: TransportLinkUnicastConfig { direction: Outbound, batch: BatchConfig { mtu: 65084, is_streamed: true, is_compression: false }, priorities: Some(PriorityRange(Control..=InteractiveLow)), reliability: Some(Reliable) } }.

Additional information

This has happened only with the UDP listen endpoint so far, not the TCP one. However, don't have enough data to say it's exclusively an issue with UDP.

The issue itself seems to be flagged by the below, however not enough information is provided in the debug log to say further.

Nov 28 12:16:31 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-28T12:16:22.720288Z ERROR Watchdog Validator ThreadId(05) zenoh_shm::watchdog::periodic_task: Some("Watchdog Validator"): timer overrun
Nov 28 12:17:09 OC0049 ros2_zenoh[1862381]: [rmw_zenohd-1] 2025-11-28T12:16:54.923631Z ERROR Watchdog Validator ThreadId(05) zenoh_shm::watchdog::periodic_task: Some("Watchdog Validator"): timer overrun

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions