4. Regressions
Regressions are documented in the release in which they were introduced, as well as the releases to which they still apply. For example, a regression introduced in 6.0.0 and not fixed until 6.1.0 will be listed in both the 6.0.0 and 6.0.1 sections below.
Note
This Migration Guide focuses only on the major, three-digit (LTS or feature) releases (6.0.1, 6.1.2, 7.2.0, etc.) in which a regression is introduced or fixed. Many regressions are also fixed in patch releases (such as 6.0.1.30), which are not always mentioned in this Migration Guide. To find out if a regression is fixed in a patch release, contact RTI Support at support@rti.com or via the RTI Customer Portal (https://support.rti.com).
7.2.0 Regressions
If you’re upgrading to 7.2.0, then only 7.2.0 Regressions
apply to you:
- 4.1. Regressions in 7.2.0
- 4.1.1. Core Libraries
- 4.1.1.1. Durable Writer History properties prefix must contain “.builtin” substring
- 4.1.1.2. Durable Writer History properties cannot be set on DomainParticipant
- 4.1.1.3. Some properties no longer accept LENGTH_UNLIMITED string as valid value
- 4.1.1.4. Fixed in 7.3.0
- 4.1.1.4.1. Potential bus error when calling print and to_string APIs in TypeCode
- 4.1.1.4.2. Sentinel constant for “invalid” Time contained unexpected value
- 4.1.1.4.3. Error message printed for each filtered sample when using writer-side filtering, FlatData, and Zero Copy over shared memory
- 4.1.1.4.4. RTI Monitor unable to start due to missing nddsjava.jar in rti_connext_dds-7.2.0/lib/java in LM bundles
- 4.1.2. Security Plugins
- 4.1.3. Limited Bandwidth Plugins
- 4.1.1. Core Libraries
7.1.0 Regressions
If you’re upgrading to 7.1.0, then only 7.1.0 Regressions
apply to you:
- 4.2. Regressions in 7.1.0
- 4.2.1. Core Libraries
- 4.2.2. Code Generator
- 4.2.3. Security Plugins
- 4.2.4. Limited Bandwidth Plugins
7.0.0 Regressions
In 7.0.0, only 7.0.0 Regressions apply to you:
- 4.3. Regressions in 7.0.0
- 4.3.1. Core Libraries
- 4.3.1.1. Durable Writer History properties prefix must contain “.builtin” substring
- 4.3.1.2. Durable Writer History properties cannot be set on DomainParticipant
- 4.3.1.3. Some properties no longer accept LENGTH_UNLIMITED string as valid value
- 4.3.1.4. Fixed in 7.1.0
- 4.3.1.4.1. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
- 4.3.1.4.2. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
- 4.3.1.4.3. Unexpected precondition error with debug libraries on a reliable DataWriter while sending a GAP
- 4.3.1.4.4. No more than 100 asynchronous publisher threads can be created
- 4.3.1.4.5. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 4.3.1.4.6. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 4.3.1.4.7. Arbitrary read access while parsing malicious RTPS message
- 4.3.1.4.8. DDS fragmentation leads to more fragments than expected for a sample
- 4.3.1.4.9. TCP transport debug library in Windows does not work with IOCP socket monitoring
- 4.3.1.4.10. Unexpected warning during discovery when multicast disabled
- 4.3.2. Code Generator
- 4.3.3. Security Plugins
- 4.3.4. Recording Service
- 4.3.5. Persistence Service
- 4.3.6. Limited Bandwidth Plugins
- 4.3.1. Core Libraries
6.1.1/6.1.2 Regressions
If you’re upgrading to 6.1.1 or 6.1.2, then only 6.1.1/6.1.2 Regressions
apply to you:
- 4.4. Regressions in 6.1.1/6.1.2
- 4.4.1. Core Libraries
- 4.4.1.1. Durable Writer History properties prefix must contain “.builtin” substring
- 4.4.1.2. Durable Writer History properties cannot be set on DomainParticipant
- 4.4.1.3. Fixed in 7.1.0
- 4.4.1.4. Fixed in 7.1.0 and 6.1.2
- 4.4.1.4.1. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
- 4.4.1.4.2. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
- 4.4.1.4.3. No more than 100 asynchronous publisher threads can be created
- 4.4.1.4.4. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 4.4.1.4.5. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 4.4.1.5. Fixed in 7.0.0 and 6.1.2
- 4.4.2. Code Generator
- 4.4.3. Security Plugins
- 4.4.4. Recording Service
- 4.4.5. Limited Bandwidth Plugins
- 4.4.1. Core Libraries
6.1.0 Regressions
If you’re upgrading to 6.1.0, then only 6.1.0 Regressions
apply to you:
- 4.5. Regressions in 6.1.0
- 4.5.1. Core Libraries
- 4.5.1.1. Durable Writer History properties prefix must contain “.builtin” substring
- 4.5.1.2. Durable Writer History properties cannot be set on DomainParticipant
- 4.5.1.3. Fixed in 7.1.0 and 6.1.2
- 4.5.1.3.1. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
- 4.5.1.3.2. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
- 4.5.1.3.3. No more than 100 asynchronous publisher threads can be created
- 4.5.1.3.4. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 4.5.1.3.5. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 4.5.1.3.6. Application using Monitoring Libraries produces segmentation fault during DataReader creation
- 4.5.1.4. Fixed in 7.0.0 and 6.1.2
- 4.5.1.5. Fixed in 6.1.1
- 4.5.1.5.1. Linking static Linux or QNX libraries with object files built with -fPIC will fail
- 4.5.1.5.2. XSD Issue: order enforced in <publisher> tag
- 4.5.1.5.3. Invalid key deserialization for mutable derived types with key members
- 4.5.1.5.4. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 4.5.1.5.5. Samples lost if multiple readers were created in same locator and push_on_write was set to false
- 4.5.1.5.6. XML parser crashed from infinite recursion when XML QoS configuration contained inheritance loop
- 4.5.1.5.7. Invalid serialization of samples with types containing nested structures with primitive members that require padding
- 4.5.1.5.8. Possible segmentation fault when receiving samples containing wstrings
- 4.5.1.5.9. Significant performance degradation when using MultiChannel DataWriters
- 4.5.1.5.10. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
- 4.5.1.5.11. ReadCondition may incorrectly stay enabled after sample in READ sample state removed from the DataReader’s queue
- 4.5.1.5.12. Missing SampleInfo.ReceptionTimestamp property (C# API only)
- 4.5.2. Code Generator
- 4.5.2.1. Fixed in 7.1.0
- 4.5.2.2. Fixed in 6.1.1
- 4.5.2.2.1. Change in behavior in C and traditional C++ for bounded sequences under certain conditions
- 4.5.2.2.2. Invalid key deserialization for mutable derived types with key members
- 4.5.2.2.3. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 4.5.2.2.4. Invalid serialization of samples with types containing nested structures with primitive members that require padding
- 4.5.3. Admin Console
- 4.5.4. TLS Support
- 4.5.5. Security Plugins
- 4.5.6. Routing Service
- 4.5.7. Recording Service
- 4.5.1. Core Libraries
6.0.1 Regressions
If you’re upgrading to 6.0.1, then only 6.0.1 Regressions
apply to you:
- 4.6. Regressions in 6.0.1
- 4.6.1. Core Libraries
- 4.6.1.1. Durable Writer History properties prefix must contain “.builtin” substring
- 4.6.1.2. Durable Writer History properties cannot be set on DomainParticipant
- 4.6.1.3. Fixed in 7.1.0 and 6.1.2
- 4.6.1.3.1. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 4.6.1.3.2. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 4.6.1.3.3. Application using Monitoring Libraries produces segmentation fault during DataReader creation
- 4.6.1.4. Fixed in 7.0.0 and 6.1.2
- 4.6.1.5. Fixed in 6.1.1
- 4.6.1.5.1. XSD Issue: order enforced in <publisher> tag
- 4.6.1.5.2. Invalid key deserialization for mutable derived types with key members
- 4.6.1.5.3. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 4.6.1.5.4. Samples lost if multiple readers were created in same locator and push_on_write was set to false
- 4.6.1.5.5. XML parser crashed from infinite recursion when XML QoS configuration contained inheritance loop
- 4.6.1.5.6. Possible segmentation fault when receiving samples containing wstrings
- 4.6.1.6. Fixed in 6.1.0
- 4.6.2. Security Plugins
- 4.6.3. Code Generator
- 4.6.4. Routing Service
- 4.6.5. Recording Service
- 4.6.6. Prototyper
- 4.6.1. Core Libraries
6.0.0 Regressions
If you’re upgrading to 6.0.0, then 6.0.0 Regressions
apply to you:
- 4.7. Regressions in 6.0.0
- 4.7.1. Core Libraries
- 4.7.1.1. Fixed in 7.1.0 and 6.1.2
- 4.7.1.1.1. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 4.7.1.1.2. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 4.7.1.1.3. Application using Monitoring Libraries produces segmentation fault during DataReader creation
- 4.7.1.2. Fixed in 7.0.0 and 6.1.2
- 4.7.1.3. Fixed in 6.1.1
- 4.7.1.4. Fixed in 6.1.0
- 4.7.1.5. Fixed in 6.0.1
- 4.7.1.5.1. XSD issues
- 4.7.1.5.2. Dynamic Data issues
- 4.7.1.5.2.1. Segmentation fault when using unkeyed DynamicData DataReader with content filter and writer-side filtering
- 4.7.1.5.2.2. Invalid serialization of samples with types containing primitive members that require padding
- 4.7.1.5.2.3. Possible data corruption or crash when using DynamicData and a type with inheritance
- 4.7.1.5.2.4. Missing parameter checking for several DynamicData APIs results in segmentation faults or incorrect return codes
- 4.7.1.5.2.5. Binding to unset optional member causes some operations on parent DynamicData object to fail
- 4.7.1.5.3. Discovery does not complete, and there is no error
- 4.7.1.5.4. Crash when deserialized_type_object_dynamic_allocation_threshold set to 0
- 4.7.1.5.5. Wrong return code for DDS::DataWriter::get_matched_subscription_data and DDS::DataReader::get_matched_publication_data
- 4.7.1.5.6. DataReader reports incorrect sample lost and rejected when receiving coherent set
- 4.7.1.5.7. QoS policies not resolved to correct values
- 4.7.1.1. Fixed in 7.1.0 and 6.1.2
- 4.7.2. Security Plugins
- 4.7.2.1. Fixed in 7.2.0
- 4.7.2.2. Fixed in 6.0.1
- 4.7.2.2.1. Possible lack of SUBSCRIPTION_MATCHED_STATUS if a DataWriter loses liveliness with the DataReader
- 4.7.2.2.2. Applications directly calling OpenSSL APIs after DomainParticipant deletion may crash
- 4.7.2.2.3. DataWriter does not report PUBLICATION_MATCHED_STATUS for DataReaders that are inactive when it receives their key material
- 4.7.3. Code Generator
- 4.7.3.1. Fixed in 6.1.1
- 4.7.3.1.1. Change in behavior in C and traditional C++ for sequences of bounded strings under certain conditions when code is generated with optimization level 1 or 2
- 4.7.3.1.2. Invalid key deserialization for mutable derived types with key members
- 4.7.3.1.3. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 4.7.3.2. Fixed in 6.0.1
- 4.7.3.2.1. Invalid serialization of samples with types containing primitive members that require padding
- 4.7.3.2.2. Java exception during serialization/deserialization of keyed types whose key is an unkeyed nested type with unbounded members
- 4.7.3.2.3. Incorrect deserialization in .Net of samples from certain types when published from a writer with disable_inline_keyhash set to true
- 4.7.3.2.4. Generated code in traditional C++ with namespaces for an IDL containing a nested module called “rti” will not compile
- 4.7.3.1. Fixed in 6.1.1
- 4.7.4. Routing Service
- 4.7.5. Recording Service
- 4.7.6. Cloud Discovery Service
- 4.7.1. Core Libraries