What does the "can't reach: locator" error message mean?
Note: Applies to RTI Connext 4.x.
In general, a can't reach:locator:
error message means that a DataWriter cannot send to the locator of a DataReader, usually due to a transport configuration error.
For example, suppose Participant A has both the UDPv4 and shared-memory built-in transports enabled, while Participant B only has shared-memory enabled. When B discovers A, it will try to reach A over A’s advertised UDPv4 and shared-memory locators. However B will fail to send to A's UDPv4 locators because B does not have its own UDPv4 transport plugin enabled. Consequently, B will log an exception.
To resolve this problem, either disable UDPv4 on A or enable UDPv4 on B.
Another common example is related to the discovery of Participants with multicast locators. Suppose Participant A has multicast enabled, but Participant B does not. By default, A will advertise the default multicast address 239.255.0.1 as a multicast locator to B. When B receives this advertisement, B will try to send meta-traffic back to 239.255.0.1, but it will fail with the following error message:
can't reach: locator: transport: 1 address: 0000:0000:0000:0000:0000:0000:EFFF:0001 port: 7400 transport_priority: 0 aliasList: ""
Notice that EFFF:0001 translates to 239.255.0.1.
To resolve this problem, you can either:
- Disable multicast on A, either at the network and DDS levels or at the DDS level only (see solution How do I configure RTI Connext not to use multicast?)
- or enable multicast on B.
Note: Applies to RTI Connext 5.2.0 or later
You may be running into a compatibility issue between RTI Connext 5.2.0 or later and a previous version. Please see this solution.
Comments
thanhan34
Thu, 05/11/2017 - 19:47
Permalink
What does the "can't reach: locator" error message mean?
I got the same error message. I use the tracking vehicles example code. I run on local machine. When I launch the RTI Connext DDS with Administration Console. I got that message. What should I do now ?