Comments (11)
I can intermittently reproduce. This is using 8c20da4, above command
Robot Puget:
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
Personal Puget:
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
Laptop:
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
1659472001.976298 [0] ros2: selected interface "lo" is not multicast-capable: disabling multicast
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
bash-5.0$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
from drake-ros.
All this being said, we can punt on this for the time being, and revisit if/when it becomes a problem.
I'm still disturbed about the spurious nature of it, but 🤷 for now.
from drake-ros.
(FTR, I assume this is part of ROS_LOCALHOST_ONLY
working in #98, but also want to confirm)
from drake-ros.
However, this only happens once per machine.
It seems to have happened on only 2 of 3 machines (I think...), which is disturbing, but I want to check.
The warning comes from this line in CycloneDDS. On my machine I can make the warning disappear with sudo ifconfig lo multicast
, and reappear with sudo ifconfig lo -multicast
. Communication between two nodes with ROS_LOCALHOST_ONLY=1
seems to work fine whether multicast is enabled on the loopback device or not.
Maybe some machines don't see the warning because they were previously configured to use LCM without a network interface?
I'd recommend enabling multicast on the loopback device to silence the warning, but if that isn't sufficient I can look deeper at cyclonedds's logging mechanism.
from drake-ros.
Gotcha; if things work fine on a single machine w/ or w/o multicast loopback, then great!
That being said, we should be careful about how we establish multicast. I am tentative to enable by default w/o understanding implications - e.g. how it may impact doing real multicast in the future in an intentional fashion.
But I am still very concerned on the warning appearing once the same machine.
Why does this happen?
Is it non-determinism? (like it's just selecting a device at random?)
Is it a persistent log-once kind of thing? etc
from drake-ros.
But I am still very concerned on the warning appearing once the same machine.
I haven't been able to reproduce this. On my machine the warning appears once at the start of every ROS 2 process when multicast is disabled on the loopback device. I tried restarting processes multiple times, and launching other processes but the behavior has been the same every time. When I enable multicast the warning never appears.
I'm using the commands ROS_LOCALHOST_ONLY=1 bazel run //ros2_example_apps:oracle_cc
, ROS_LOCALHOST_ONLY=1 ros2 topic echo chatter std_msgs/msg/String
, and ROS_LOCALHOST_ONLY=1 ros2 topic pub chater std_msgs/msg/String "data: 'foobar'"
for my testing. Do you see inconsistent warning behavior with those?
from drake-ros.
But I am still very concerned on the warning appearing once the same machine.
Can you elaborate? Does this happen once per machine or multiple times on the same machine?
from drake-ros.
I only saw the message once per machine - that is, if I run ./run //tools:ros2 node list
10 times, I only saw it the very first time.
This happened on two machines (my laptop and office Puget), but not on a third (robot Puget).
I am unable to reproduce, but I know that I received the warning b/c I copied and pasted it here.
I will try:
env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
using drake-ros
with #101
from drake-ros.
In the FWIW category, I was able to recreate the warning if I rebooted my machine.
from drake-ros.
I can confirm that I see the same results as you:
First call:
$ ./run //tools:ros2 node list
+ ./run //tools:ros2 node list
1659476179.279749 [0] ros2: selected interface "lo" is not multicast-capable: disabling multicast
Every other time.
$ ./run //tools:ros2 node list
+ ./run //tools:ros2 node list
And setting the ROS_LOCALHOST_ONLY
returns nothing:
$ env ROS_LOCALHOST_ONLY=1 bazel-bin/external/ros2/ros2 node list
from drake-ros.
As of late, possibly due to no mixing of ros2cli
between ROS_LOCALHOST_ONLY
modes, this became consistent.
Additionally, as indicated by Shane in eclipse-cyclonedds/cyclonedds#1400, we can suppress this by using the nice startup script he mentioned in his overview comment.
Closing for now (I believe we have the "please warn bout ros2cli daemon settings mismatch" tracked in #103)
from drake-ros.
Related Issues (20)
- [colcon] Upstream test isolation to colcon test HOT 4
- [bazel_ros2_rules] Handle's typesupport identifier (rosidl_typesupport_cpp) is not supported by this library
- [bazel_ros2_rules] Unable to configure with `ros-humble-rosbag2-storage-mcap` HOT 3
- [drake] Should upgrade suggested version to v1.23.0
- Please update DRAKE_SUGGESTED_VERSION to v1.24.0 HOT 1
- Please update DRAKE_SUGGESTED_VERSION to v1.25.0 HOT 4
- Support ``image_transport`` in ``ros2_examples_bazel_installed`` HOT 1
- Please update DRAKE_SUGGESTED_VERSION to v1.26.0 HOT 2
- [plugins] Unclear how to succinctly incorporate plotjugger data HOT 5
- SceneMarkersSystem support for glTFs with external assets HOT 12
- [bazel] Should minimize unneeded runfiles data? HOT 3
- Please update DRAKE_SUGGESTED_VERSION to v1.27.0 HOT 3
- Please update DRAKE_SUGGESTED_VERSION to v1.28.0 HOT 2
- Should address roslaunch Support Limitations HOT 2
- Getting Linting and autocompletion with Neovim on `drake_ros`
- problem while intergrate drake-ros with manipulation library on MIT manipulation course HOT 2
- [bazel] Unable to use workspaces with underscores in name? HOT 1
- Please update DRAKE_SUGGESTED_VERSION to v1.29.0
- Issues with scraping ROS2 packages that link against local libraries. HOT 1
- [bazel_ros2_rules] Decouple ros_binary rule with runfiles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drake-ros.