8.8. Regressions in 6.0.1
The following regressions were introduced in Connext 6.0.1.
8.8.1. Core Libraries
8.8.1.1. Samples lost if multiple readers were created in same locator and push_on_write was set to false
If push_on_write
was set to false in a DataWriter’s DATA_WRITER_PROTOCOL
QoS Policy, and multiple DataReaders were created in the same locator (same participant,
same port), samples may have been lost.
This potential loss may have occurred when the second or subsequent DataReader was
created. When the DataWriter detected the new DataReader, it sent an RTPS gap message,
which may have gapped unsent samples. This was only an issue if push_on_write
was set to false.
Fixed in: 6.1.1
[RTI Issue ID CORE-11515]
8.8.1.2. XML parser crashed from infinite recursion when XML QoS configuration contained inheritance loop
An inheritance loop was formed when a <qos_profile>
inherited from itself
or when any <xxx_qos>
inherited from itself or its encapsulating <qos_profile>
.
Inheritance can be performed by using the base_name
attribute or <base_name>
tag.
In previous releases, Connext ignored this inheritance loop, but in 6.0.1 it crashed.
The following XML, which was fine in previous releases, caused a crash in 6.0.1:
<qos_profile name="SetIdentityRequest" base_name="SkyKeeperProfile">
<topic_qos name="SetIdentityRequest">
<durability>
<kind>VOLATILE_DURABILITY_QOS</kind>
</durability>
</topic_qos>
<datawriter_qos base_name="SetIdentityRequest"> <!-- Infinite recursion -->
<batch>
<enable>true</enable>
<max_flush_delay>
<sec>0</sec>
<nanosec>250000000</nanosec>
</max_flush_delay>
</batch>
</datawriter_qos>
<datareader_qos name="SetIdentityRequestReader">
<base_name>
<element>SetIdentityRequestReader</element> <!-- Infinite recursion -->
<element>ControlTowerProfile</element>
</base_name>
</datareader_qos>
</datareader_qos>
</qos_profile>
This problem has been fixed in release 6.1.1 by producing an error, instead of a crash, if the parser detects the inheritance loop.
To work around this problem in earlier releases, remove the inheritance loop in your XML file. For example, revise the above XML file as follows:
<qos_profile name="SetIdentityRequest" base_name="SkyKeeperProfile">
<topic_qos name="SetIdentityRequest">
<durability>
<kind>VOLATILE_DURABILITY_QOS</kind>
</durability>
</topic_qos>
<datawriter_qos> <!-- Remove base_name attribute -->
<batch>
<enable>true</enable>
<max_flush_delay>
<sec>0</sec>
<nanosec>250000000</nanosec>
</max_flush_delay>
</batch>
</datawriter_qos>
<datareader_qos> <!-- Remove the base_name tag element -->
<base_name>
<element>ControlTowerProfile</element>
</base_name>
</datareader_qos>
</qos_profile>
Fixed in: 6.1.1
[RTI Issue ID CORE-11731]
8.8.1.3. Possible issues with communication and enabling DomainParticipant on Windows systems if network interface had multiple IP addresses
On Windows platforms, when a network interface has assigned more than one IP address, Connext only detected the one with the lowest IP address. DomainParticipants running on a Windows host with this network configuration could not be discovered through the other IP addresses, causing communication issues.
Besides the communication issues, the DomainParticipant could not be enabled if the allow/deny_interfaces_list properties of the transport restricted the available IP addresses to the ones not reported and there was no other transport enabled on that DomainParticipant.
This regression has been fixed. Now, all the IP addresses of a network interface are detected and work as expected.
Fixed in: 6.1.0
[RTI Issue ID CORE-11232]
8.8.1.4. Failure to allocate memory larger than 2 GB
Connext failed to allocate heap memory larger than 2 GB. For example, if the
DataWriterQos’s resource_limits.initial_samples
was large enough to cause a
preallocation of more than 2 GB but less than the available heap memory, then
DataWriter creation incorrectly failed.
Fixed in: 6.1.0
[RTI Issue ID CORE-10057]
8.8.2. Recording Service
8.8.2.1. Crash if monitoring enabled and TopicGroup matched with Topic name containing ‘/’ character
Recording Service crashed if monitoring was enabled and a TopicGroup matched with a Topic name that contained one or more forward slash (‘/’) characters.
Fixed in: 6.1.0
[RTI Issue ID RECORD-1153]
8.8.3. Prototyper
8.8.3.1. Prototyper broken in 6.0.1
Changes to internal components in RTI Connector, which are shared with RTI Prototyper, render Prototyper unusable in 6.0.1.
This problem is fixed in release 6.1.0; however, 6.1.0 is the last release in which Prototyper is supported. After 6.1.0, Prototyper will not be supported. RTI Connector replaces it and supports more scripting languages.
Fixed in: 6.1.0
[RTI Issue ID PROT-89]