8. 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 Regressions and 6.0.1 Regressions sections below.
Regressions fixed in 7.0.0, 7.1.0, or 7.2.0 are also fixed in 7.3.0, because 7.3.0 includes 7.0.0, 7.1.0, and 7.2.0.
Note
This Migration Guide focuses only on the major, three-digit (LTS or feature) releases (6.0.1, 6.1.2, 7.3.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.4.0 Regressions
If you’re upgrading to 7.4.0, then only 7.4.0 Regressions
apply to you:
7.3.0 Regressions
If you’re upgrading to 7.3.0, then only 7.3.0 Regressions
apply to you:
7.2.0, 7.1.0, and 7.0.0 Regressions
Regressions introduced in 7.2.0, 7.1.0, or 7.0.0 that have been fixed in 7.3.0
are documented for historical purposes. If you never installed 7.2.0, 7.1.0, or
7.0.0, you can ignore the following sections:
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:
- 8.6. Regressions in 6.1.1/6.1.2
- 8.6.1. Core Libraries
- 8.6.1.1. Fixed in 7.1.0
- 8.6.1.2. Fixed in 7.1.0 and 6.1.2
- 8.6.1.2.1. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
- 8.6.1.2.2. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
- 8.6.1.2.3. No more than 100 asynchronous publisher threads can be created
- 8.6.1.2.4. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 8.6.1.2.5. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 8.6.1.3. Fixed in 7.0.0 and 6.1.2
- 8.6.2. Code Generator
- 8.6.3. Security Plugins
- 8.6.4. Recording Service
- 8.6.5. Limited Bandwidth Plugins
- 8.6.1. Core Libraries
6.1.0 Regressions
If you’re upgrading to 6.1.0, then only 6.1.0 Regressions
apply to you:
- 8.7. Regressions in 6.1.0
- 8.7.1. Core Libraries
- 8.7.1.1. Fixed in 7.4.0
- 8.7.1.2. Fixed in 7.1.0 and 6.1.2
- 8.7.1.2.1. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
- 8.7.1.2.2. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
- 8.7.1.2.3. No more than 100 asynchronous publisher threads can be created
- 8.7.1.2.4. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 8.7.1.2.5. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 8.7.1.2.6. Application using Monitoring Libraries produces segmentation fault during DataReader creation
- 8.7.1.3. Fixed in 7.0.0 and 6.1.2
- 8.7.1.4. Fixed in 6.1.1
- 8.7.1.4.1. Linking static Linux or QNX libraries with object files built with -fPIC will fail
- 8.7.1.4.2. XSD Issue: order enforced in <publisher> tag
- 8.7.1.4.3. Invalid key deserialization for mutable derived types with key members
- 8.7.1.4.4. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 8.7.1.4.5. Samples lost if multiple readers were created in same locator and push_on_write was set to false
- 8.7.1.4.6. XML parser crashed from infinite recursion when XML QoS configuration contained inheritance loop
- 8.7.1.4.7. Invalid serialization of samples with types containing nested structures with primitive members that require padding
- 8.7.1.4.8. Possible segmentation fault when receiving samples containing wstrings
- 8.7.1.4.9. Significant performance degradation when using MultiChannel DataWriters
- 8.7.1.4.10. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
- 8.7.1.4.11. ReadCondition may incorrectly stay enabled after sample in READ sample state removed from the DataReader’s queue
- 8.7.1.4.12. Missing SampleInfo.ReceptionTimestamp property (C# API only)
- 8.7.2. Code Generator
- 8.7.2.1. Fixed in 7.1.0
- 8.7.2.2. Fixed in 6.1.1
- 8.7.2.2.1. Change in behavior in C and traditional C++ for bounded sequences under certain conditions
- 8.7.2.2.2. Invalid key deserialization for mutable derived types with key members
- 8.7.2.2.3. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 8.7.2.2.4. Invalid serialization of samples with types containing nested structures with primitive members that require padding
- 8.7.3. Admin Console
- 8.7.4. TLS Support
- 8.7.5. Security Plugins
- 8.7.6. Routing Service
- 8.7.7. Recording Service
- 8.7.1. Core Libraries
6.0.1 Regressions
If you’re upgrading to 6.0.1, then only 6.0.1 Regressions
apply to you:
- 8.8. Regressions in 6.0.1
- 8.8.1. Core Libraries
- 8.8.1.1. Fixed in 7.1.0 and 6.1.2
- 8.8.1.1.1. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 8.8.1.1.2. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 8.8.1.1.3. Application using Monitoring Libraries produces segmentation fault during DataReader creation
- 8.8.1.2. Fixed in 7.0.0 and 6.1.2
- 8.8.1.3. Fixed in 6.1.1
- 8.8.1.3.1. XSD Issue: order enforced in <publisher> tag
- 8.8.1.3.2. Invalid key deserialization for mutable derived types with key members
- 8.8.1.3.3. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 8.8.1.3.4. Samples lost if multiple readers were created in same locator and push_on_write was set to false
- 8.8.1.3.5. XML parser crashed from infinite recursion when XML QoS configuration contained inheritance loop
- 8.8.1.3.6. Possible segmentation fault when receiving samples containing wstrings
- 8.8.1.4. Fixed in 6.1.0
- 8.8.1.1. Fixed in 7.1.0 and 6.1.2
- 8.8.2. Security Plugins
- 8.8.3. Code Generator
- 8.8.4. Routing Service
- 8.8.5. Recording Service
- 8.8.6. Prototyper
- 8.8.1. Core Libraries
6.0.0 Regressions
If you’re upgrading to 6.0.0, then 6.0.0 Regressions
apply to you:
- 8.9. Regressions in 6.0.0
- 8.9.1. Core Libraries
- 8.9.1.1. Fixed in 7.1.0 and 6.1.2
- 8.9.1.1.1. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
- 8.9.1.1.2. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
- 8.9.1.1.3. Application using Monitoring Libraries produces segmentation fault during DataReader creation
- 8.9.1.2. Fixed in 7.0.0 and 6.1.2
- 8.9.1.3. Fixed in 6.1.1
- 8.9.1.4. Fixed in 6.1.0
- 8.9.1.5. Fixed in 6.0.1
- 8.9.1.5.1. XSD issues
- 8.9.1.5.2. Dynamic Data issues
- 8.9.1.5.2.1. Segmentation fault when using unkeyed DynamicData DataReader with content filter and writer-side filtering
- 8.9.1.5.2.2. Invalid serialization of samples with types containing primitive members that require padding
- 8.9.1.5.2.3. Possible data corruption or crash when using DynamicData and a type with inheritance
- 8.9.1.5.2.4. Missing parameter checking for several DynamicData APIs results in segmentation faults or incorrect return codes
- 8.9.1.5.2.5. Binding to unset optional member causes some operations on parent DynamicData object to fail
- 8.9.1.5.3. Discovery does not complete, and there is no error
- 8.9.1.5.4. Crash when deserialized_type_object_dynamic_allocation_threshold set to 0
- 8.9.1.5.5. Wrong return code for DDS::DataWriter::get_matched_subscription_data and DDS::DataReader::get_matched_publication_data
- 8.9.1.5.6. DataReader reports incorrect sample lost and rejected when receiving coherent set
- 8.9.1.5.7. QoS policies not resolved to correct values
- 8.9.1.1. Fixed in 7.1.0 and 6.1.2
- 8.9.2. Security Plugins
- 8.9.2.1. Fixed in 7.2.0
- 8.9.2.2. Fixed in 6.0.1
- 8.9.2.2.1. Possible lack of SUBSCRIPTION_MATCHED_STATUS if a DataWriter loses liveliness with the DataReader
- 8.9.2.2.2. Applications directly calling OpenSSL APIs after DomainParticipant deletion may crash
- 8.9.2.2.3. DataWriter does not report PUBLICATION_MATCHED_STATUS for DataReaders that are inactive when it receives their key material
- 8.9.3. Code Generator
- 8.9.3.1. Fixed in 6.1.1
- 8.9.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
- 8.9.3.1.2. Invalid key deserialization for mutable derived types with key members
- 8.9.3.1.3. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
- 8.9.3.2. Fixed in 6.0.1
- 8.9.3.2.1. Invalid serialization of samples with types containing primitive members that require padding
- 8.9.3.2.2. Java exception during serialization/deserialization of keyed types whose key is an unkeyed nested type with unbounded members
- 8.9.3.2.3. Incorrect deserialization in .Net of samples from certain types when published from a writer with disable_inline_keyhash set to true
- 8.9.3.2.4. Generated code in traditional C++ with namespaces for an IDL containing a nested module called “rti” will not compile
- 8.9.3.1. Fixed in 6.1.1
- 8.9.4. Routing Service
- 8.9.5. Recording Service
- 8.9.6. Cloud Discovery Service
- 8.9.1. Core Libraries