ros2 communication_error ai_generated partial

[WARN] No DDS participants discovered on domain 0

ID: ros2/dds-discovery-failure

Also available as: JSON · Markdown
72%Fix Rate
85%Confidence
3Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
2 active

Root Cause

ROS 2 nodes cannot discover each other. Usually a DDS multicast or ROS_DOMAIN_ID mismatch.

generic

Workarounds

  1. 90% success Verify ROS_DOMAIN_ID matches on all machines
    echo $ROS_DOMAIN_ID  # must be the same on all machines (default: 0)
  2. 85% success Check firewall allows UDP multicast on ports 7400-7500
    sudo ufw allow 7400:7500/udp
  3. 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:

  1. Reinstall ROS 2 entirely 88% fail

    Discovery issues are network/DDS configuration problems, not installation problems

  2. Switch RMW vendor blindly 75% fail

    Discovery failure usually stems from network config (firewall, multicast), not the DDS vendor

  3. 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: