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 ?
ssunghhan
Tue, 07/02/2024 - 11:14
Permalink
Getting this error message as
Getting this error message as soon as another participant tries to call DDSTheParticipantFactory->create_participant_with_profile(). The participant A and and B uses the same QoS.xml file and uses UDPv4 like this:
COMMENDBeWriterService_assertRemoteReader:!create reachable destination
COMMENDBeWriterService_assertRemoteReader:!create reachable destination
COMMENDBeWriterService_assertRemoteReader:!create reachable destination
COMMENDSrWriterService_assertRemoteReader:!create reachable destination
COMMENDSrWriterService_assertRemoteReader:!create reachable destination
COMMENDSrWriterService_assertRemoteReader:!create reachable destination
COMMENDSrReaderService_assertRemoteWriter:!create reachable destination
COMMENDSrWriterService_assertRemoteReader:!create reachable destination
COMMENDSrReaderService_assertRemoteWriter:!create reachable destination
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 1.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 1.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
can't reach:
can't reach:
locator:
locator:
transport: 1 (UDPv4)
transport: 1 (UDPv4)
address: 192.168.0.201
address: 192.168.0.201
port: 7430
port: 7430
encapsulation:
encapsulation:
transport_priority: 0
transport_priority: 0
aliasList: ""
aliasList: ""
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 16777216.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 16777216.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
can't reach:
can't reach:
locator:
locator:
transport: 16777216
transport: 16777216
address: 590C:87B9:D01B:2953:6D26:2F85:0000:0000
address: 590C:87B9:D01B:2953:6D26:2F85:0000:0000
port: 7430
port: 7430
encapsulation:
encapsulation:
transport_priority: 0
transport_priority: 0
aliasList: ""
aliasList: ""
COMMENDSrWriterService_assertRemoteReader:!create reachable destination
COMMENDSrReaderService_assertRemoteWriter:!create reachable destination
COMMENDSrReaderService_assertRemoteWriter:!create reachable destination
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 1.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 1.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
can't reach:
can't reach:
locator:
locator:
transport: 1 (UDPv4)
transport: 1 (UDPv4)
address: 192.168.0.201
address: 192.168.0.201
port: 7430
port: 7430
COMMENDSrWriterService_assertRemoteReader:!create reachable destination
encapsulation:
encapsulation:
transport_priority: 0
transport_priority: 0
aliasList: ""
aliasList: ""
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 16777216.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 16777216.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
can't reach:
can't reach:
locator:
locator:
COMMENDSrReaderService_assertRemoteWriter:!create reachable destination
transport: 16777216
transport: 16777216
COMMENDSrReaderService_assertRemoteWriter:Discovered remote writer using a non-addressable locator for a transport with class ID 1.
This can occur if the transport is not installed and/or enabled in the local participant.
See https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean for additional info.
address: 590C:87B9:D01B:2953:6D26:2F85:0000:0000
address: 590C:87B9:D01B:2953:6D26:2F85:0000:0000
port: 7430
port: 7430
can't reach:
encapsulation:
encapsulation:
locator:
transport_priority: 0
transport_priority: 0
transport: 1 (UDPv4)
aliasList: ""
aliasList: ""
address: 192.168.0.201
port: 7430
encapsulation:
transport_priority: 0
aliasList: ""