Skip to content

Configuration Error: transport_optimization field incompatible with current Zenoh version (ROS Kilted) #843

@micat001

Description

@micat001

Generated by Generative AI

No.

Operating System:

Ubuntu 24.04

ROS version or commit hash:

kilted

RMW implementation (if applicable):

rmw_zenoh_cpp

RMW Configuration (if applicable):

No response

Client library (if applicable):

No response

'ros2 doctor --report' output

ros2 doctor --report
2025-10-20T19:08:39.627663Z ERROR ThreadId(01) zenohc::config: Failed to read config from /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5: JSON error: Message { msg: "unknown field `transport_optimization`, expected `enabled` or `mode`", location: Some(Location { line: 768, column: 7 }) } at /home/buildfarm/.cargo/git/checkouts/zenoh-cc237f2570fab813/8909230/commons/zenoh-config/src/lib.rs:1277.
[ERROR] [1760987319.627687838] [rmw_zenoh_cpp]: Invalid configuration file /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5
/opt/ros/kilted/lib/python3.12/site-packages/ros2doctor/api/__init__.py: 162: UserWarning: Fail to call QoSCompatibilityReport class functions.
2025-10-20T19:08:40.827076Z ERROR ThreadId(01) zenohc::config: Failed to read config from /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5: JSON error: Message { msg: "unknown field `transport_optimization`, expected `enabled` or `mode`", location: Some(Location { line: 768, column: 7 }) } at /home/buildfarm/.cargo/git/checkouts/zenoh-cc237f2570fab813/8909230/commons/zenoh-config/src/lib.rs:1277.
[ERROR] [1760987320.827092143] [rmw_zenoh_cpp]: Invalid configuration file /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5
/opt/ros/kilted/lib/python3.12/site-packages/ros2doctor/api/__init__.py: 162: UserWarning: Fail to call TopicReport class functions.

   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         : 172.17.0.2
inet4        : ['172.17.0.2']
ether        : 7a:7f:8d:3e:e7:5d
netmask      : 255.255.0.0
device       : eth0
flags        : UP,BROADCAST,RUNNING,MULTICAST
mtu          : 1500
broadcast    : 172.17.255.255

   PACKAGE VERSIONS
ros2service                               : latest=0.38.1, local=0.38.0
ament_uncrustify                          : latest=0.19.2, local=0.19.2
ament_lint_common                         : latest=0.19.2, local=0.19.2
ament_xmllint                             : latest=0.19.2, local=0.19.2
ros2topic                                 : latest=0.38.1, local=0.38.0
ament_cmake_cpplint                       : latest=0.19.2, local=0.19.2
rosidl_typesupport_fastrtps_cpp           : latest=3.8.1, local=3.8.0
ament_cmake                               : latest=2.7.3, local=2.7.3
ament_cmake_export_dependencies           : latest=2.7.3, local=2.7.3
ros_core                                  : latest=0.12.0, local=0.12.0
ament_cmake_include_directories           : latest=2.7.3, local=2.7.3
ament_cmake_export_libraries              : latest=2.7.3, local=2.7.3
ament_cmake_export_targets                : latest=2.7.3, local=2.7.3
tinyxml2_vendor                           : latest=0.10.0, local=0.10.0
rosidl_typesupport_fastrtps_c             : latest=3.8.1, local=3.8.0
std_msgs                                  : latest=5.5.1, local=5.5.0
ament_cmake_cppcheck                      : latest=0.19.2, local=0.19.2
ament_cmake_ros                           : latest=0.14.4, local=0.14.3
rmw_dds_common                            : latest=4.0.0, local=3.2.1
osrf_pycommon                             : latest=2.1.6, local=2.1.6
ament_cmake_pytest                        : latest=2.7.3, local=2.7.3
rosidl_generator_cpp                      : latest=4.9.5, local=4.9.5
ros2component                             : latest=0.38.1, local=0.38.0
rosidl_dynamic_typesupport_fastrtps       : latest=0.4.1, local=0.4.1
rmw_implementation_cmake                  : latest=7.8.2, local=7.8.2
rosidl_typesupport_c                      : latest=3.3.3, local=3.3.3
statistics_msgs                           : latest=2.3.0, local=2.3.0
ament_cmake_flake8                        : latest=0.19.2, local=0.19.2
ros2launch                                : latest=0.28.3, local=0.28.2
visualization_msgs                        : latest=5.5.1, local=5.5.0
ament_cmake_pep257                        : latest=0.19.2, local=0.19.2
actionlib_msgs                            : latest=5.5.1, local=5.5.0
ament_cmake_test                          : latest=2.7.3, local=2.7.3
rosidl_typesupport_interface              : latest=4.9.5, local=4.9.5
rcl_lifecycle                             : latest=10.1.2, local=10.1.1
stereo_msgs                               : latest=5.5.1, local=5.5.0
ament_copyright                           : latest=0.19.2, local=0.19.2
ament_cmake_version                       : latest=2.7.3, local=2.7.3
trajectory_msgs                           : latest=5.5.1, local=5.5.0
rosidl_core_runtime                       : latest=0.3.1, local=0.3.1
ament_cmake_core                          : latest=2.7.3, local=2.7.3
common_interfaces                         : latest=5.5.1, local=5.5.0
rclpy                                     : latest=9.1.1, local=9.1.1
class_loader                              : latest=2.8.1, local=2.8.0
rosidl_adapter                            : latest=4.9.5, local=4.9.5
ament_lint                                : latest=0.19.2, local=0.19.2
rclcpp_action                             : latest=29.5.3, local=29.5.2
ament_cmake_gtest                         : latest=2.7.3, local=2.7.3
ament_cmake_target_dependencies           : latest=2.7.3, local=2.7.3
rosidl_default_runtime                    : latest=1.7.1, local=1.7.1
rosidl_generator_c                        : latest=4.9.5, local=4.9.5
rosidl_typesupport_introspection_cpp      : latest=4.9.5, local=4.9.5
rosidl_default_generators                 : latest=1.7.1, local=1.7.1
rosidl_runtime_py                         : latest=0.14.1, local=0.14.1
uncrustify_vendor                         : latest=3.1.0, local=3.1.0
rpyutils                                  : latest=0.6.3, local=0.6.2
ament_cmake_python                        : latest=2.7.3, local=2.7.3
rcl_logging_spdlog                        : latest=3.2.3, local=3.2.2
rosidl_generator_type_description         : latest=4.9.5, local=4.9.5
rosidl_runtime_cpp                        : latest=4.9.5, local=4.9.5
launch                                    : latest=3.8.5, local=3.8.2
rcl_action                                : latest=10.1.2, local=10.1.1
rclcpp_lifecycle                          : latest=29.5.3, local=29.5.2
rcl_logging_interface                     : latest=3.2.3, local=3.2.2
ros2cli                                   : latest=0.38.1, local=0.38.0
rosidl_dynamic_typesupport                : latest=0.3.1, local=0.3.1
rosidl_generator_py                       : latest=0.24.2, local=0.24.1
ros2interface                             : latest=0.38.1, local=0.38.0
ament_flake8                              : latest=0.19.2, local=0.19.2
ament_index_cpp                           : latest=1.11.0, local=1.11.0
builtin_interfaces                        : latest=2.3.0, local=2.3.0
tracetools                                : latest=8.6.0, local=8.6.0
spdlog_vendor                             : latest=1.7.0, local=1.7.0
service_msgs                              : latest=2.3.0, local=2.3.0
rcl                                       : latest=10.1.2, local=10.1.1
rmw_implementation                        : latest=3.0.4, local=3.0.4
launch_testing                            : latest=3.8.5, local=3.8.2
ament_cmake_gen_version_h                 : latest=2.7.3, local=2.7.3
rcpputils                                 : latest=2.13.5, local=2.13.4
ament_cmake_export_interfaces             : latest=2.7.3, local=2.7.3
ament_cmake_copyright                     : latest=0.19.2, local=0.19.2
rcutils                                   : latest=6.9.8, local=6.9.8
shape_msgs                                : latest=5.5.1, local=5.5.0
ament_cmake_export_include_directories    : latest=2.7.3, local=2.7.3
ros2param                                 : latest=0.38.1, local=0.38.0
ros2run                                   : latest=0.38.1, local=0.38.0
ament_cmake_export_link_flags             : latest=2.7.3, local=2.7.3
ament_index_python                        : latest=1.11.0, local=1.11.0
rosidl_parser                             : latest=4.9.5, local=4.9.5
ros2doctor                                : latest=0.38.1, local=0.38.0
rclcpp_components                         : latest=29.5.3, local=29.5.2
pluginlib                                 : latest=5.6.1, local=5.6.0
rosidl_cli                                : latest=4.9.5, local=4.9.5
nav_msgs                                  : latest=5.5.1, local=5.5.0
rosidl_cmake                              : latest=4.9.5, local=4.9.5
ament_package                             : latest=0.17.2, local=0.17.2
ros_workspace                             : latest=1.0.3, local=1.0.3
rosidl_typesupport_cpp                    : latest=3.3.3, local=3.3.3
rmw                                       : latest=7.8.2, local=7.8.2
ament_cmake_ros_core                      : latest=0.14.4, local=0.14.3
launch_testing_ros                        : latest=0.28.3, local=0.28.2
type_description_interfaces               : latest=2.3.0, local=2.3.0
ros2lifecycle                             : latest=0.38.1, local=0.38.0
ament_pep257                              : latest=0.19.2, local=0.19.2
zenoh_cpp_vendor                          : latest=0.6.5, local=0.6.3
rosidl_typesupport_introspection_c        : latest=4.9.5, local=4.9.5
launch_yaml                               : latest=3.8.5, local=3.8.2
libyaml_vendor                            : latest=1.7.1, local=1.7.1
ros2pkg                                   : latest=0.38.1, local=0.38.0
rcl_yaml_param_parser                     : latest=10.1.2, local=10.1.1
std_srvs                                  : latest=5.5.1, local=5.5.0
ros_environment                           : latest=4.3.1, local=4.3.1
rosidl_pycommon                           : latest=4.9.5, local=4.9.5
ament_cpplint                             : latest=0.19.2, local=0.19.2
rmw_security_common                       : latest=7.8.2, local=7.8.2
rmw_fastrtps_shared_cpp                   : latest=9.3.3, local=9.3.2
ament_cmake_xmllint                       : latest=0.19.2, local=0.19.2
launch_testing_ament_cmake                : latest=3.8.5, local=3.8.2
action_msgs                               : latest=2.3.0, local=2.3.0
rmw_test_fixture                          : latest=0.14.4, local=0.14.3
unique_identifier_msgs                    : latest=2.7.0, local=2.7.0
libstatistics_collector                   : latest=2.0.1, local=2.0.1
ament_cmake_libraries                     : latest=2.7.3, local=2.7.3
ros2node                                  : latest=0.38.1, local=0.38.0
launch_ros                                : latest=0.28.3, local=0.28.2
ros2cli_common_extensions                 : latest=0.4.0, local=0.4.0
ament_cmake_export_definitions            : latest=2.7.3, local=2.7.3
ros2action                                : latest=0.38.1, local=0.38.0
ament_lint_auto                           : latest=0.19.2, local=0.19.2
sros2                                     : latest=0.15.2, local=0.15.2
rclcpp                                    : latest=29.5.3, local=29.5.2
launch_xml                                : latest=3.8.5, local=3.8.2
ament_cmake_auto                          : latest=2.7.3, local=2.7.3
rcl_interfaces                            : latest=2.3.0, local=2.3.0
rosidl_runtime_c                          : latest=4.9.5, local=4.9.5
diagnostic_msgs                           : latest=5.5.1, local=5.5.0
rosidl_core_generators                    : latest=0.3.1, local=0.3.1
sros2_cmake                               : latest=0.15.2, local=0.15.2
rmw_zenoh_cpp                             : latest=0.6.5, local=0.6.5
rmw_test_fixture_implementation           : latest=0.14.4, local=0.14.3
composition_interfaces                    : latest=2.3.0, local=2.3.0
console_bridge_vendor                     : latest=1.8.0, local=1.8.0
lifecycle_msgs                            : latest=2.3.0, local=2.3.0
ament_cppcheck                            : latest=0.19.2, local=0.19.2
geometry_msgs                             : latest=5.5.1, local=5.5.0
ament_lint_cmake                          : latest=0.19.2, local=0.19.2
rosgraph_msgs                             : latest=2.3.0, local=2.3.0
ros2multicast                             : latest=0.38.1, local=0.38.0
sensor_msgs                               : latest=5.5.1, local=5.5.0
ament_cmake_lint_cmake                    : latest=0.19.2, local=0.19.2
ament_cmake_gmock                         : latest=2.7.3, local=2.7.3
rmw_fastrtps_cpp                          : latest=9.3.3, local=9.3.2
ament_cmake_uncrustify                    : latest=0.19.2, local=0.19.2
example_interfaces                        : latest=0.13.1, local=0.13.0
demo_nodes_cpp                            : latest=0.36.2, local=0.36.2
mcap_vendor                               : latest=0.32.0, local=0.32.0
keyboard_handler                          : latest=0.4.0, local=0.4.0
eigen3_cmake_module                       : latest=0.4.0, local=0.4.0
rosbag2_transport                         : latest=0.32.0, local=0.32.0
tf2_eigen                                 : latest=0.41.3, local=0.41.2
rosbag2                                   : latest=0.32.0, local=0.32.0
rosbag2_cpp                               : latest=0.32.0, local=0.32.0
tf2_tools                                 : latest=0.41.3, local=0.41.2
rosbag2_interfaces                        : latest=0.32.0, local=0.32.0
kdl_parser                                : latest=2.12.1, local=2.12.1
message_filters                           : latest=7.1.4, local=7.1.1
tf2_eigen_kdl                             : latest=0.41.3, local=0.41.2
tf2_geometry_msgs                         : latest=0.41.3, local=0.41.2
tf2_bullet                                : latest=0.41.3, local=0.41.2
urdf                                      : latest=2.12.2, local=2.12.2
tf2_py                                    : latest=0.41.3, local=0.41.2
zstd_vendor                               : latest=0.32.0, local=0.32.0
tf2_sensor_msgs                           : latest=0.41.3, local=0.41.2
sensor_msgs_py                            : latest=5.5.1, local=5.5.0
rosbag2_compression_zstd                  : latest=0.32.0, local=0.32.0
python_orocos_kdl_vendor                  : latest=0.7.1, local=0.7.1
robot_state_publisher                     : latest=3.4.3, local=3.4.2
ros2bag                                   : latest=0.32.0, local=0.32.0
rosbag2_py                                : latest=0.32.0, local=0.32.0
tf2_ros_py                                : latest=0.41.3, local=0.41.2
urdf_parser_plugin                        : latest=2.12.2, local=2.12.2
rosbag2_storage_default_plugins           : latest=0.32.0, local=0.32.0
orocos_kdl_vendor                         : latest=0.7.1, local=0.7.1
sqlite3_vendor                            : latest=0.32.0, local=0.32.0
rosbag2_storage_sqlite3                   : latest=0.32.0, local=0.32.0
rosbag2_storage_mcap                      : latest=0.32.0, local=0.32.0
yaml_cpp_vendor                           : latest=9.1.0, local=9.1.0
tf2_kdl                                   : latest=0.41.3, local=0.41.2
liblz4_vendor                             : latest=0.32.0, local=0.32.0
rosbag2_storage                           : latest=0.32.0, local=0.32.0
geometry2                                 : latest=0.41.3, local=0.41.2
tf2_ros                                   : latest=0.41.3, local=0.41.2
ros_base                                  : latest=0.12.0, local=0.12.0
pybind11_vendor                           : latest=3.2.0, local=3.2.0
tf2                                       : latest=0.41.3, local=0.41.2
rosbag2_compression                       : latest=0.32.0, local=0.32.0
tf2_msgs                                  : latest=0.41.3, local=0.41.2

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

   RMW MIDDLEWARE
middleware name    : rmw_zenoh_cpp

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

Run inside a kilted docker:

FROM ros:kilted-ros-base

# Install rmw-zenoh-cpp
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    ros-kilted-rmw-zenoh-cpp \
    ros-kilted-demo-nodes-cpp && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Set environment to use Zenoh RMW
ENV RMW_IMPLEMENTATION=rmw_zenoh_cpp

# Source ROS setup
RUN echo "source /opt/ros/kilted/setup.bash" >> ~/.bashrc

CMD ["/bin/bash"]

Steps to reproduce issue

  1. Build Dockerfile: docker build -f Dockerfile.zenoh-test -t zenoh-test .
FROM ros:kilted-ros-base

# Install rmw-zenoh-cpp
RUN apt-get update && \
  apt-get install -y --no-install-recommends \
  ros-kilted-rmw-zenoh-cpp \
  ros-kilted-demo-nodes-cpp && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/*

# Set environment to use Zenoh RMW
ENV RMW_IMPLEMENTATION=rmw_zenoh_cpp

# Source ROS setup
RUN echo "source /opt/ros/kilted/setup.bash" >> ~/.bashrc

CMD ["/bin/bash"]
  1. Enter Docker:docker run -it --rm zenoh-test bash
  2. Set ROS/Zenoh config:
source /opt/ros/kilted/setup.bash
export RMW_IMPLEMENTATION=rmw_zenoh_cpp
  1. Run
/opt/ros/kilted/lib/rmw_zenoh_cpp/rmw_zenohd

# OR
ros2 run rmw_zenoh_cpp rmw_zenohd 

Expected behavior

The Zenoh router and ROS 2 nodes should start successfully with the default configuration files.

Actual behavior

Both the router and ROS 2 nodes fail to start, throwing configuration parsing errors about the unknown transport_optimization field.

ros2 run rmw_zenoh_cpp rmw_zenohd 
2025-10-20T19:12:15.945083Z ERROR ThreadId(01) zenohc::config: Failed to read config from /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5: JSON error: Message { msg: "unknown field `transport_optimization`, expected `enabled` or `mode`", location: Some(Location { line: 761, column: 7 }) } at /home/buildfarm/.cargo/git/checkouts/zenoh-cc237f2570fab813/8909230/commons/zenoh-config/src/lib.rs:1277.
logging system isn't initialized: call to rcutils_logging_console_output_handler failed.
[ros2run]: Process exited with failure 1

Additional information

  • ROS Distribution: Kilted
  • RMW Implementation: rmw_zenoh_cpp
  • Docker Base Image: ros:kilted-ros-base

Current workaround to get builds to start is to remove the transport_optimization block from both config files:

sed -i '/transport_optimization:/,/^[[:space:]]*},/d' /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5
sed -i '/transport_optimization:/,/^[[:space:]]*},/d' /opt/ros/kilted/share/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5

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