Skip to content

topic discovery works, but no messages transmitted when running rmw-zenoh with mixed ROS2 distros #569

@berndpfrommer

Description

@berndpfrommer

I encounter the following strange issue when running inside a docker container (and I'm not sure the docker container is the problem, actually):

There are 3 hosts involved on a fixed wire LAN, where Host A sends messages to Host B and Host C:

Host B <- Host A -> Host C

Host A runs a zenoh router without a docker container, with default config except for:

   endpoints: [
       "tcp/host_b:7447",
       "tcp/host_c:7447"
    ],

and analogously configured are Host B and Host C. The only host running ROS humble inside a docker container is Host C, which is an older Jetson that can not run Humble natively because the OS cannot be upgraded past Ubuntu 20.04.

Running the demo talker on Host A, and the demo listener on Host B works as expected. No problems there.

On Host C however (the Jetson running ROS2 humble inside a docker container), I can query the topics and node lists fine, however no messages are transmitted upon subscription. Host A, for some reason never even sends the messages (checked with tcpdump), although (from experiments with other nodes where I modified the source code) the talker node on Host A does see the subscription occurring, and does call publish().

By tcpdumping the request packets from Host C -> Host A I found a potential problem:

/%chatter/std_msgs::msg::dds_::String_/TypeHashNotSupported/

Whereas the request packets from Host B -> Host A have:

%chatter/std_msgs::msg::dds_::String_/RIHS01_df668c74.....

Is the problem that Humble and Rolling cannot communicate with each other due to different message types? Any other reasons why this is failing, or any suggestions how to fix this?

Quite a bummer if I cannot make this work because all my newer hosts are running on Rolling and Jazzy and even upgrading to the latest Jetson would not allow me to run Jazzy/Rolling since NVidia only support Ubuntu 22.04.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions