Reputation: 3066
I am running a program that uses RTI DDS and keep encounter the following warning message along with constant program crashes:
No transport available to reach locator shmem://0000:0202:0402:0000:0000:0000:0000:0000:7411
What could be causing the above issue and what is a possible solution to the issue? I am running RTI DDS 5.2.0
on RHEL 6.8
.
EDIT:
Here is also the QOS file
?xml version="1.0"?>
<dds>
<qos_library name="Keep_History_Library">
<qos_profile name="Keep_Deep_History_profile" is_default_qos="true">
<participant_qos>
<discovery>
<initial_peers>
<element>239.255.0.1</element>
<element>[email protected]://127.0.0.1</element>
<element>builtin.shmem://</element>
</initial_peers>
<multicast_receive_addresses>
<element>239.255.0.1</element>
</multicast_receive_addresses>
</discovery>
<property>
<value>
<!--UDP/IP Transport configuration -->
<element>
<name>dds.transport.UDPv4.builtin.parent.message_size_max</name>
<value>65536</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.send_socket_buffer_size</name>
<value>1000000</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.recv_socket_buffer_size</name>
<value>2000000</value>
</element>
<!-- Definition of the flow controller See users' manual section
6.6 FlowControllers -->
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.scheduling_policy</name>
<value>DDS_RR_FLOW_CONTROLLER_SCHED_POLICY</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.sec</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.nanosec</name>
<value>10000000</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.max_tokens</name>
<value>100</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_added_per_period</name>
<value>40</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_leaked_per_period</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.bytes_per_token</name>
<value>66000</value>
</element>
</value>
</property>
</participant_qos>
<participant_factory_qos>
<logging>
<verbosity>ALL</verbosity>
<category>ALL</category>
<print_format>TIMESTAMPED</print_format>
<output_file>/root/Desktop/ddslog.txt</output_file>
</logging>
</participant_factory_qos>
<datawriter_qos name="ReliableWriter">
<publish_mode>
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
<flow_controller_name>DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name>
</publish_mode>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>10</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<publication_name>
<name>DataWriter</name>
</publication_name>
</datawriter_qos>
<datareader_qos name="ReliableReader">
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>10</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<subscription_name>
<name>DataReader</name>
</subscription_name>
</datareader_qos>
</qos_profile>
<qos_profile name="Keep_Short_History_profile" base_name="Keep_Deep_History_profile">
<participant_qos>
<discovery>
<initial_peers>
<element>239.255.0.1</element>
<element>[email protected]://127.0.0.1</element>
<element>builtin.shmem://</element>
</initial_peers>
<multicast_receive_addresses>
<element>239.255.0.1</element>
</multicast_receive_addresses>
</discovery>
<property>
<value>
<!--UDP/IP Transport configuration -->
<element>
<name>dds.transport.UDPv4.builtin.parent.message_size_max</name>
<value>65536</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.send_socket_buffer_size</name>
<value>1000000</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.recv_socket_buffer_size</name>
<value>2000000</value>
</element>
<!-- Definition of the flow controller See users' manual section
6.6 FlowControllers -->
<element>
<name>
dds.flow_controller.token_bucket.MyFlowController.scheduling_policy
</name>
<value>DDS_RR_FLOW_CONTROLLER_SCHED_POLICY</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.sec</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.nanosec</name>
<value>10000000</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.max_tokens</name>
<value>100</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_added_per_period</name>
<value>40</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_leaked_per_period</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.bytes_per_token</name>
<value>66000</value>
</element>
</value>
</property>
</participant_qos>
<participant_factory_qos>
<logging>
<verbosity>ALL</verbosity>
<category>ALL</category>
<print_format>TIMESTAMPED</print_format>
<output_file>/root/Desktop/ddslog.txt</output_file>
</logging>
</participant_factory_qos>
<datawriter_qos name="ReliableWriter">
<publish_mode>
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
<flow_controller_name>DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name>
</publish_mode>
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>1</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<publication_name>
<name>HistoryDataWriter</name>
</publication_name>
</datawriter_qos>
<datareader_qos name="ReliableReader">
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>1</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<subscription_name>
<name>HistoryDataReader</name>
</subscription_name>
</datareader_qos>
</qos_profile>
</qos_library>
</dds>
Upvotes: 0
Views: 448
Reputation: 51
@jgr208 The "No transport available to reach locator" message is in response to your application receiving a locator during the first phase of discovery that it does not have a transport for. This is a warning only and will not cause your application to crash. In fact it might be normal behavior depending on how your applications are set up with transports. This is described in the following knowledge base article:
https://community.rti.com/kb/what-does-cant-reach-locator-error-message-mean
However, the warning message might look different in 5.2.0.
This warning message will not cause the crash. So we'll need more information to determine why the crash is happening. Can you get a stack trace from a core dump, or run your application through gdb to see the back trace?
Upvotes: 3