Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rmw_zenohd crashes on IPv4-only systems #451

Open
gavanderhoorn opened this issue Feb 5, 2025 · 3 comments
Open

rmw_zenohd crashes on IPv4-only systems #451

gavanderhoorn opened this issue Feb 5, 2025 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@gavanderhoorn
Copy link
Contributor

As per title.

On systems that have no IPv6 support at all, starting rmw_zenohd results in:

2025-02-05T17:23:30.329605Z  WARN ThreadId(03) zenoh::net::runtime::orchestrator: Unable to open listener tcp/[::]:7447: Can not create a new TCP listener bound to tcp/[::]:7447: [Os { code: 97, kind: Uncategorized, message: "Address family not supported by protocol" }] at /home/buildfarm/.cargo/git/checkouts/zenoh-cc237f2570fab813/9640d22/io/zenoh-links/zenoh-link-tcp/src/unicast.rs:326.
2025-02-05T17:23:30.329864Z ERROR ThreadId(03) zenohc::session: Error opening session: Can not create a new TCP listener bound to tcp/[::]:7447: [Os { code: 97, kind: Uncategorized, message: "Address family not supported by protocol" }] at /home/buildfarm/.cargo/git/checkouts/zenoh-cc237f2570fab813/9640d22/io/zenoh-links/zenoh-link-tcp/src/unicast.rs:326.
Error opening Session!\n[ros2run]: Process exited with failure 1

Note the tcp/[::]:7447 in the error message, which indicates it's trying to bind to ANY but IPv6.

This seems to be due to eclipse-zenoh/zenoh#366, which was also discussed in eclipse-zenoh/zenoh-plugin-ros2dds#84.

So technically not a bug, but at least surprising.

Perhaps the error message could be improved? Anyone not into networking (which I guess would be at least part of the audience of rmw_zenoh) would likely not immediately understand the error.

@gavanderhoorn
Copy link
Contributor Author

Thought to report this to give some visibility to it.

Note also: the only way to work around this seems to be creating a custom .json5 config file which adds "tcp/0.0.0.0:7447" (back?) to the endpoints to listen on.

That's not that user friendly I feel, but I understand why that works the way it does.

@Yadunund Yadunund added the enhancement New feature or request label Feb 5, 2025
@Yadunund
Copy link
Member

Yadunund commented Feb 5, 2025

@gavanderhoorn thanks for reporting the issue. I would imagine a more descriptive error message would be something to add to upstream Zenoh.
What we could do in rmw_zenoh for now is add an entry for this under the Known issues section of the README to inform users of the issue and possible workarounds.

Please open a PR and i'll be happy to review it!

@gavanderhoorn
Copy link
Contributor Author

I would imagine a more descriptive error message would be something to add to upstream Zenoh.

could be. I'm a user of rmw_zenoh though, hence I report it here.

Please open a PR and i'll be happy to review it!

this may take a while, but I'll put it on the TODO list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants