10. Regressions
Regressions are documented only in the release in which they were introduced. For example, a regression introduced in 6.0.0 and fixed in 6.1.0 exists in both 6.0.0 and 6.0.1, but will only be listed in the 6.0.0 Regressions section. Each regression entry says in which release the regression was fixed.
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 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. Some regressions are also introduced or fixed in patch releases (such as 6.0.1.30), which are not mentioned in this Migration Guide. To find out if a regression is introduced or fixed in a patch release, contact RTI Support at support@rti.com or via the RTI Customer Portal (https://support.rti.com).
- 10.1. Regressions in 7.5.0
 - 10.2. Regressions in 7.4.0
 - 10.3. Regressions in 7.3.0
- 10.3.1. Core Libraries
- 10.3.1.1. Duplicate network traffic captures when creating WaitSets, AsyncWaitSets, or GuardConditions
 - 10.3.1.2. Error when setting QoS on Publisher or Subscriber without endpoints
 - 10.3.1.3. Crash on DDS_DomainParticipantFactory_finalize_instance when using XML-Based Application Creation
 - 10.3.1.4. Unexpected error messages when disposing of an instance while using batching and setting serialize_key_with_dispose to TRUE
 - 10.3.1.5. RTI DDS Spy shows DDS_DataReader_get_matched_publication_participant_data error before leaking memory
 - 10.3.1.6. Misleading warning message when one non-loopback interface doesn’t support multicast
 
 - 10.3.2. Admin Console
 - 10.3.3. Routing Service
 
 - 10.3.1. Core Libraries
 - 10.4. Regressions in 7.2.0
- 10.4.1. General
 - 10.4.2. Core Libraries
- 10.4.2.1. Vulnerability: Potential invalid read memory access in Connext applications when subscribing to PublicationBuiltinTopicData
 - 10.4.2.2. Incorrect value of an infinite duration in non-Java APIs
 - 10.4.2.3. Sentinel constant for “invalid” Time contained unexpected value
 - 10.4.2.4. Error message printed for each filtered sample when using writer-side filtering, FlatData, and Zero Copy over shared memory
 - 10.4.2.5. RTI Monitor unable to start due to missing nddsjava.jar in rti_connext_dds-7.2.0/lib/java in LM bundles
 
 - 10.4.3. Code Generator
 - 10.4.4. Security Plugins
 
 - 10.5. Regressions in 7.1.0
- 10.5.1. Core Libraries
- 10.5.1.1. Possible unbounded memory growth on DataReader of keyed type after failing to match with a remote DataWriter
 - 10.5.1.2. Possible crash when creating DomainParticipants concurrently
 - 10.5.1.3. Potential bus error when calling print and to_string APIs in TypeCode
 - 10.5.1.4. Running rtisetenv_<arch>.bat caused issues in PATH environment
 - 10.5.1.5. Instance purging based on source timestamp does not work
 
 - 10.5.2. Code Generator
- 10.5.2.1. Code Generator server not working as expected using relative paths with the -d option
 - 10.5.2.2. Code not stored in specified output directory on Windows when IDL was in a Symlink
 - 10.5.2.3. Command-line option tips not printed if you entered an invalid option
 - 10.5.2.4. Include flag used without a space causes Code Generator to fail
 
 
 - 10.5.1. Core Libraries
 - 10.6. Regressions in 7.0.0
- 10.6.1. Core Libraries
- 10.6.1.1. Memory leaks and errors when using DynamicDataReaders or FlatData DataReaders plus DDS-fragmentation and compression or encryption
 - 10.6.1.2. Some properties no longer accept LENGTH_UNLIMITED string as valid value
 - 10.6.1.3. Possible segmentation fault while enabling a DataWriter that enables batching
 - 10.6.1.4. Running out of memory during DomainParticipant creation causes DomainParticipantFactory finalization to hang
 - 10.6.1.5. Error message that is printed when failing to allocate the writer buffer pool is wrong
 - 10.6.1.6. Arbitrary read access while parsing malicious RTPS message
 - 10.6.1.7. Unexpected warning during DomainParticipant enablement when locator reachability enabled
 - 10.6.1.8. DDS fragmentation leads to more fragments than expected for a sample
 - 10.6.1.9. TCP transport won’t run with Windows debug libraries if socket_monitoring_kind is IOCP
 
 - 10.6.2. Security Plugins
 - 10.6.3. Persistence Service
 
 - 10.6.1. Core Libraries
 - 10.7. Regressions in 6.1.1/6.1.2
- 10.7.1. Core Libraries
- 10.7.1.1. Stack smashing error when serializing strings with RTI_CDR_SIZEOF_LONG_DOUBLE set to 16 in C++11 in release mode using GCC compiler
 - 10.7.1.2. Reliable DataReader may stop receiving samples from DataWriter using durable writer history and DDS fragmentation
 - 10.7.1.3. Thread names longer than 15 characters on QNX platforms cause errors in API calls
 - 10.7.1.4. Unexpected precondition error with debug libraries on a reliable DataWriter while sending a GAP
 - 10.7.1.5. Unexpected warning during discovery when multicast disabled
 
 - 10.7.2. Security Plugins
 - 10.7.3. Persistence Service
 - 10.7.4. Limited Bandwidth Plugins
 
 - 10.7.1. Core Libraries
 - 10.8. Regressions in 6.1.0
- 10.8.1. Core Libraries
- 10.8.1.1. Possible to create a DomainParticipant in a DomainID > 232 without getting error or warning
 - 10.8.1.2. Segmentation fault if application runs out of memory while generating a log message
 - 10.8.1.3. Possible memory leak when initializing and finalizing the DomainParticipantFactory concurrently
 - 10.8.1.4. max_samples resource limit not honored in some cases when using an unkeyed Topic and TopicQueries
 - 10.8.1.5. DomainParticipant with non-default metatraffic_transport_priority QoS does not complete discovery
 - 10.8.1.6. Broken communication when DataWriter with transport priority discovers DataReader with multicast receive address
 - 10.8.1.7. No more than 100 asynchronous publisher threads can be created
 - 10.8.1.8. Linking static Linux or QNX libraries with object files built with -fPIC will fail
 - 10.8.1.9. Invalid serialization of samples with types containing nested structures with primitive members that require padding
 - 10.8.1.10. Significant performance degradation when using MultiChannel DataWriters
 - 10.8.1.11. Significant performance regression on Windows when using OpenSSL 1.1.1 libraries in 6.1.0
 - 10.8.1.12. ReadCondition may incorrectly stay enabled after sample in READ sample state removed from the DataReader’s queue
 - 10.8.1.13. Missing SampleInfo.ReceptionTimestamp property (C# API only)
 - 10.8.1.14. Source code bundle missing critical piece of code related to UDP multicast support
 - 10.8.1.15. Significant performance regression on Windows systems when using OpenSSL 1.1.1k libraries provided in 6.1.0
 - 10.8.1.16. Support removed for ARMv8 and x64 processors, cxx and gpp compilers, for QNX platform
 - 10.8.1.17. Support removed for ARMv8 Linux architecture
 
 - 10.8.2. Code Generator
- 10.8.2.1. Generated code may contain mixed line breaks
 - 10.8.2.2. @default annotation for wstring members in C++11 is not applied
 - 10.8.2.3. Java subscriber may not preserve union discriminator value, when discriminator is enum
 - 10.8.2.4. Compile-time error when using -constructor with types containing sequence of pointers
 - 10.8.2.5. Invalid serialization of samples with types containing nested structures with primitive members that require padding
 - 10.8.2.6. Invalid code generated for unions in C++98
 
 - 10.8.3. Admin Console
 - 10.8.4. TLS Support
 - 10.8.5. Security Plugins
 - 10.8.6. Routing Service
 - 10.8.7. Recording Service
 - 10.8.8. Cloud Discovery Service
 
 - 10.8.1. Core Libraries
 - 10.9. Regressions in 6.0.1
- 10.9.1. Core Libraries
- 10.9.1.1. Samples lost if multiple readers created in same locator and push_on_write is set to false
 - 10.9.1.2. XML parser crashes from infinite recursion when XML QoS configuration contains inheritance loop
 - 10.9.1.3. Possible issues with communication and enabling DomainParticipant on Windows systems if network interface has multiple IP addresses
 - 10.9.1.4. Failure to allocate memory larger than 2 GB
 
 - 10.9.2. Routing Service
 - 10.9.3. Recording Service
 - 10.9.4. Prototyper
 - 10.9.5. Security Plugins
 
 - 10.9.1. Core Libraries
 - 10.10. Regressions in 6.0.0
- 10.10.1. Core Libraries
- 10.10.1.1. Non-Java register_type fails if the maximum size is greater than 2 GB
 - 10.10.1.2. XCDR serialization of a mutable union with an unknown discriminator value is not compliant with OMG specification
 - 10.10.1.3. Participant may receive RTPS traffic over SHMEM transport not intended for participant
 - 10.10.1.4. Instance handling on a DataReader and filtering operations in ContentFilteredTopics, QueryConditions, TopicQueries, and Multi-Channel DataWriters may fail
 - 10.10.1.5. Creating DynamicDataTypePlugin with TypeCode from discovery and using content filtering causes segmentation fault
 - 10.10.1.6. Crash with NULL listeners and non-none status masks in C applications that mix types with and without Zero Copy
 - 10.10.1.7. Application using Monitoring Libraries produces segmentation fault during DataReader creation
 - 10.10.1.8. Continuous creation of TopicQueries may lead to unnecessary memory fragmentation in OS memory allocator
 - 10.10.1.9. Unbounded memory growth in Spy when discovering multiple endpoints with the same Topics and types
 - 10.10.1.10. Types Containing Typedefs sent without the typedefs in discovery when using DynamicData
 - 10.10.1.11. XSD issue: order enforced in <publisher> tag
 - 10.10.1.12. Invalid key deserialization for mutable derived types with key members
 - 10.10.1.13. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
 - 10.10.1.14. VxWorks kernel mode shared memory doesn’t work after restarting an application
 - 10.10.1.15. Serialization of string members does not check for null-terminated strings in C, traditional C++, and modern C++
 - 10.10.1.16. Discovery issues when reusing shared memory segments
 - 10.10.1.17. Unexpected log message when calling DataWriter::get_matched_subscription_data or DataReader::get_matched_publication_data on unmatched endpoints
 - 10.10.1.18. XSD issues
 - 10.10.1.19. Dynamic Data issues
- 10.10.1.19.1. Segmentation fault when using unkeyed DynamicData DataReader with content filter and writer-side filtering
 - 10.10.1.19.2. Invalid serialization of samples with types containing primitive members that require padding
 - 10.10.1.19.3. Possible data corruption or crash when using DynamicData and a type with inheritance
 - 10.10.1.19.4. Missing parameter checking for several DynamicData APIs results in segmentation faults or incorrect return codes
 - 10.10.1.19.5. Binding to unset optional member causes some operations on parent DynamicData object to fail
 
 - 10.10.1.20. Discovery does not complete, and there is no error
 - 10.10.1.21. Crash when deserialized_type_object_dynamic_allocation_threshold set to 0
 - 10.10.1.22. Wrong return code for DDS::DataWriter::get_matched_subscription_data and DDS::DataReader::get_matched_publication_data
 - 10.10.1.23. DataReader reports incorrect sample lost and rejected when receiving coherent set
 - 10.10.1.24. QoS policies not resolved to correct values
 
 - 10.10.2. Security Plugins
- 10.10.2.1. Discovery time scales poorly
 - 10.10.2.2. Possible lack of SUBSCRIPTION_MATCHED_STATUS if a DataWriter loses liveliness with the DataReader
 - 10.10.2.3. Applications directly calling OpenSSL APIs after DomainParticipant deletion may crash
 - 10.10.2.4. DataWriter does not report PUBLICATION_MATCHED_STATUS for DataReaders that are inactive when it receives their key material
 
 - 10.10.3. Code Generator
- 10.10.3.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
 - 10.10.3.2. -d64 flag missing in generated Java makefile for Red Hat Enterprise Linux 8.0
 - 10.10.3.3. Invalid key deserialization for mutable derived types with key members
 - 10.10.3.4. Malformed samples with invalid strings not dropped by DataReader in C, traditional C++, and modern C++
 - 10.10.3.5. Invalid serialization of samples with types containing primitive members that require padding
 - 10.10.3.6. Java exception during serialization/deserialization of keyed types whose key is an unkeyed nested type with unbounded members
 - 10.10.3.7. Incorrect deserialization in .Net of samples from certain types when published from a writer with disable_inline_keyhash set to true
 - 10.10.3.8. Generated code in traditional C++ with namespaces for an IDL containing a nested module called “rti” will not compile
 
 - 10.10.4. Persistence Service
 - 10.10.5. Routing Service
- 10.10.5.1. Vulnerability: Potential stack corruption in Routing Service when using malicious XML configuration document
 - 10.10.5.2. Unbounded memory growth when restarting Service or creating/deleting DomainRoutes
 - 10.10.5.3. Large per-sample memory usage in Routing Service
 - 10.10.5.4. Routing Service remote shell: Adding to initial peers list does not work, possible segmentation fault
 - 10.10.5.5. Incorrect content filtering and “RTICdrTypeCodeUtils_type_has_external_members:!get member” error
 - 10.10.5.6. Create method in Service API fails to parse XML snippets that start with ‘str://’
 - 10.10.5.7. Memory leak if malformed configuration file prevents Routing Service creation
 - 10.10.5.8. Executable ignores logging QoS
 
 - 10.10.6. Recording Service
- 10.10.6.1. Segmentation fault after discovering application that uses UserData QoS Policy
 - 10.10.6.2. Executable does not log build ID for DDS libraries
 - 10.10.6.3. Legacy deserialized database table cannot be replayed or converted if it contains compact byte sequences or arrays
 - 10.10.6.4. Segmentation fault in Replay Service or Converter if recorded topics have “::” in their names
 
 - 10.10.7. Cloud Discovery Service
 - 10.10.8. Queuing Service
 
 - 10.10.1. Core Libraries