ros2
communication_error
ai_generated
partial
[WARN] No DDS participants discovered on domain 0
ID: ros2/dds-discovery-failure
72%Fix Rate
85%Confidence
3Evidence
2023-01-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 2 | active | — | — | — |
Root Cause
ROS 2 nodes cannot discover each other. Usually a DDS multicast or ROS_DOMAIN_ID mismatch.
genericWorkarounds
-
90% success Verify ROS_DOMAIN_ID matches on all machines
echo $ROS_DOMAIN_ID # must be the same on all machines (default: 0)
-
85% success Check firewall allows UDP multicast on ports 7400-7500
sudo ufw allow 7400:7500/udp
-
88% success Test with ROS_LOCALHOST_ONLY=1 on single machine first to isolate network issues
ROS_LOCALHOST_ONLY=1 ros2 run demo_nodes_cpp talker
Dead Ends
Common approaches that don't work:
-
Reinstall ROS 2 entirely
88% fail
Discovery issues are network/DDS configuration problems, not installation problems
-
Switch RMW vendor blindly
75% fail
Discovery failure usually stems from network config (firewall, multicast), not the DDS vendor
-
Set ROS_LOCALHOST_ONLY on multi-machine setups
90% fail
This disables network discovery entirely; nodes on other machines become invisible
Error Chain
Frequently confused with: