5. What’s Fixed in 7.3.1
This section describes bugs fixed in the Core Libraries in 7.3.1. These are fixes since 7.3.0.
Connext 7.3.1 is a maintenance release in the 7.3 long-term support (LTS) series. See Previous Releases for all other fixes in 7.3 LTS.
See the Connext Versions and Lifecycle page for more information on RTI’s software release model.
For what’s new and fixed in other products in the Connext suite, see those products’ release notes on https://community.rti.com/documentation or in your installation. Or start with the RTI Connext What’s New for a launchpad to all products.
[Critical]: System-stopping issue, such as a crash or data loss.
[Major]: Significant issue with no easy workaround.
[Minor]: Issue that usually has a workaround.
[Trivial]: Small issue, such as a typo in a log.
- 5.1. Discovery
- 5.1.1. [Critical] Port collision on one channel of multichannel DataWriter caused discovery to fail even if another channel had no port collision
- 5.1.2. [Critical] Undefined behavior when serializing using any of the builtin discovery plugins
- 5.1.3. [Critical] Incorrect locators used on newly created DataWriters or DataReaders after a Locator Reachability event
- 5.1.4. [Critical] DNS Tracking not supported with participants using SPDP2 *
- 5.1.5. [Major] DomainParticipants failed to announce that endpoint was not reachable when internal clock was monotonic and external clock was real-time
- 5.1.6. [Major] DomainParticipants using SPDP2 and fragmentation of the participant configuration messages failed to complete discovery *
- 5.2. Serialization and Deserialization
- 5.3. Usability
- 5.3.1. [Critical] Locator Reachability DataReader could not receive assertions from more than four DomainParticipants
- 5.3.2. [Minor] DDS_RTPS_AUTO_ID_FROM_MAC failed if MAC address had all zeros for first 4 bytes or last 4 bytes
- 5.3.3. [Minor] Inconsistent QoS error when enabling Monitoring Library 2.0 with a default profile (is_default_qos = TRUE) *
- 5.3.4. [Minor] Lack of allowed multicast interfaces did not cause Connext to ignore multicast addresses
- 5.4. Transports
- 5.4.1. [Critical] Shared Memory communications might not have been recovered if a DataReader crashed or was ungracefully killed
- 5.4.2. [Major] TCP Transport did not properly enforce system FD_SETSIZE hard limits for select() socket monitoring
- 5.4.3. [Minor] Possible failure to create DomainParticipant if using multicast
- 5.5. Reliability Protocol and Wire Representation
- 5.5.1. [Critical] Writer-side filtered samples not always marked as acknowledged when application acknowledgment was used
- 5.5.2. [Critical] Late-joiner DataReader may have stopped receiving samples from DataWriters using a finite durability.writer_depth
- 5.5.3. [Critical] Unexpected data loss when using batching and finite reader resource limits
- 5.5.4. [Critical] Repair sample was not sent if the sample was smaller than either transport’s message_size_max
- 5.5.5. [Critical] Sample may not have been delivered to a DataReader in a Required Subscription
- 5.5.6. [Major] DataWriters with finite durability.writer_depth may have sent repairs over unicast instead of multicast
- 5.5.7. [Major] Reliable large data performance issues due to redundant fragment repairs
- 5.6. Debuggability
- 5.7. Performance and Scalability
- 5.8. Bandwidth Sensitivity
- 5.9. Content Filters and Query Conditions
- 5.10. TopicQueries
- 5.11. Logging
- 5.11.1. [Major] Misleading warning message when one non-loopback interface doesn’t support multicast *
- 5.11.2. [Major] Unexpected warning during DomainParticipant enablement when locator reachability enabled *
- 5.11.3. [Trivial] Incorrect warning printed for best-effort synchronous DataWriters that required DDS fragmentation *
- 5.12. Dynamic Data
- 5.13. APIs (C or Traditional C++)
- 5.14. APIs (Modern C++ API)
- 5.15. APIs (Java)
- 5.16. APIs (Python)
- 5.17. APIs (Multiple Languages)
- 5.17.1. [Major] The result of cdr_serialized_sample_max_size was too small if the maximum size was greater than 4 GB
- 5.17.2. [Major] DynamicData Errors when operating on unions with unknown discriminator values
- 5.17.3. [Major] Non-Java register_type failed if the maximum size was greater than 2 GB
- 5.17.4. [Minor] Enum label not printed when there was only one enum member
- 5.17.5. [Minor] Creating a DomainParticipant with a negative domain ID was incorrectly allowed
- 5.18. XML Configuration
- 5.19. Entities
- 5.20. Platform and Build Changes
- 5.21. Crashes
- 5.21.1. [Critical] Potential race conditions in construction or deletion of Requesters and Repliers (C, Traditional C++, C#, and Python)
- 5.21.2. [Critical] Possible crash when creating dds.DynamicData.Topic with a listener
- 5.21.3. [Critical] Race condition in RTI Monitoring Library 2.0 caused a crash *
- 5.21.4. [Critical] Possible crash after a failure to create Monitoring Library 2.0 object *
- 5.21.5. [Critical] Modern C++ Distributed Logger may have crashed upon instance finalization *
- 5.21.6. [Critical] Segmentation fault if Application Kind contained more than 255 characters when calling RTI_DL_DistLogger_getInstance
- 5.21.7. [Critical] Potential stack overflow in Connext applications when parsing XML files with a custom DTD with deeply nested entity references
- 5.21.8. [Critical] Crash when writing data on a ContentFilteredTopic in combination with transient durability and delegated reliability
- 5.21.9. [Critical] Potential crash if creation of Publisher or Subscriber failed while database garbage collection process was running
- 5.21.10. [Critical] Possible crash when calling any write operation on architectures with a weak memory model
- 5.21.11. [Critical] Stack smashing error when serializing strings with RTI_CDR_SIZEOF_LONG_DOUBLE set to 16 in C++11 in release mode using GCC compiler
- 5.21.12. [Critical] Stack overflow when parsing very long SQL filter expressions
- 5.21.13. [Critical] Crash if element in initial_peers longer than 72 characters added
- 5.21.14. [Critical] Possible crash on MIGInterpreter_parse while receiving data at the same time that entities are removed, on architectures with a weak memory model
- 5.21.15. [Critical] Crash on DDS_DomainParticipantFactory_finalize_instance() when using XML-Based Application Creation *
- 5.21.16. [Critical] Possible crash when creating DomainParticipants concurrently *
- 5.21.17. [Critical] Possible crash when calling DDS_DataWriter_get_matched_subscriptions() or DDS_DataReader_get_matched_publications() on architectures with a weak memory model
- 5.21.18. [Critical] Possible segmentation fault while enabling a DataWriter that enables batching *
- 5.21.19. [Critical] Parsing of malformed RTPS packets may have led to bus error on some platforms
- 5.21.20. [Critical] Potential crash when creating new GuardCondition when low on resources
- 5.21.21. [Critical] Segmentation fault when copying invalid samples and using Zero Copy transfer over shared memory transport
- 5.21.22. [Critical] Parsing an XML file with a root “types” tag that contained a “name” attribute led to a segmentation fault
- 5.21.23. [Critical] Possible crash when metric value changed when Monitoring Library 2.0 was being disabled *
- 5.21.24. [Critical] Segmentation fault and precondition errors with Monitoring Library 2.0 when Entities were deleted *
- 5.21.25. [Critical] Segmentation fault when a DomainParticipant failed to be created
- 5.21.26. [Critical] Segmentation fault when using Network Capture APIs concurrently with DomainParticipantFactory deletion
- 5.21.27. [Critical] Potential crash while printing the log message after an error *
- 5.21.28. [Critical] Possible crash when accessing information about a remote endpoint at the same time that the endpoint was being removed
- 5.21.29. [Critical] Possible crash when using QosProvider to load XML file with syntax “file:///” on Windows systems
- 5.21.30. [Critical] Possible segmentation fault when deleting a DomainParticipant when DNS tracker was enabled
- 5.21.31. [Major] Possible crash when closing a logger device while it was being used
- 5.21.32. [Major] Precondition added to rti::flat::StringBuilder::set_string() and rti::flat::PrimitiveSequenceBuilder<T>::add_n()
- 5.22. Hangs
- 5.22.1. [Critical] Calling ignore_participant during a ParticipantBuiltinTopicDataDataReader on_data_available callback triggered by the deletion of a remote DomainParticipant led to a hang or unexpected error message
- 5.22.2. [Critical] Potential deadlock when calling DDS_DomainParticipantFactory_set_qos and DDS_DomainParticipantFactory_finalize_instance
- 5.22.3. [Critical] Potential deadlock when using TCP Transport on Windows systems if WINDOWS_WAITFORMULTIPLEOBJECTS was selected as the socket monitoring API
- 5.22.4. [Critical] Potential deadlock when using SHMEM transport on Linux, macOS, and LynxOS systems and killing one application
- 5.22.5. [Critical] Potential deadlock when creating entities in parallel that use Zero Copy Transfer over Shared Memory transport
- 5.22.6. [Critical] String built-in type unregister_type API blocked associated DomainParticipant
- 5.22.7. [Critical] Hang of QNX application using shared memory if one of the shared semaphores was in an unusable state
- 5.22.8. [Critical] Potential deadlock when using Network Capture utility APIs concurrently with DDS calls
- 5.22.9. [Major] Potential deadlock when using Durable Writer History if there was a failure while creating the connection *
- 5.22.10. [Major] Calling ignore_participant when using the on_data_available callback to process a ParticipantBuiltinTopicData with partial_configuration led to a hang during DomainParticipant deletion *
- 5.23. Memory Leaks/Growth
- 5.23.1. [Critical] Spike in memory usage when creating a DataWriter using Durable Writer History to restore samples
- 5.23.2. [Critical] Memory leaks and errors when using DynamicDataReaders or FlatData DataReaders plus DDS-fragmentation and compression or encryption *
- 5.23.3. [Critical] Possible unbounded memory growth on DataReader of keyed type after failing to match with a remote DataWriter
- 5.23.4. [Critical] Unbounded memory growth when using RECOVER instance state consistency and instances were removed from DataReader queue *
- 5.23.5. [Critical] Parsing DTD with many nested/recursive entities could cause uncontrolled resource consumption
- 5.23.6. [Critical] Parsing XML configuration with large tokens caused uncontrolled resource consumption
- 5.23.7. [Critical] Unbounded memory growth when using DynamicDataReaders with multiple data representations and keyed types
- 5.23.8. [Critical] Potential unbounded memory growth when using DNS tracking
- 5.23.9. [Major] RTI DDS Spy showed DDS_DataReader_get_matched_publication_participant_data error before leaking memory *
- 5.23.10. [Major] DomainParticipantFactory finalization failed even if all the DomainParticipants were deleted
- 5.23.11. [Minor] Memory leak upon Transport TCP creation failure because of invalid configuration
- 5.23.12. [Minor] Possible memory leak when initializing and finalizing the DomainParticipantFactory concurrently
- 5.24. Data Corruption
- 5.25. OMG Specification Compliance
- 5.26. Vulnerabilities
- 5.26.1. [Critical] Potential invalid read memory access in Connext applications during endpoint discovery
- 5.26.2. [Critical] Potential invalid read memory access in Connext applications when subscribing to PublicationBuiltinTopicData *
- 5.26.3. [Critical] Potential heap buffer read overflow in Connext applications when using a malicious license string
- 5.26.4. [Critical] Potential stack buffer write overflow in license-managed Core Libraries when setting RTI_LICENSE_FILE environment variable
- 5.26.5. [Critical] Potential buffer write overflow in Connext applications while parsing malicious license file
- 5.26.6. [Critical] Potential integer overflow in Connext applications on 32-bit systems when parsing XML files with very large number of default attributes or levels of nesting
- 5.26.7. [Critical] Potential stack buffer write overflow in Connext applications while parsing malicious license file
- 5.26.8. [Critical] Potential stack buffer write overflow in Connext applications while parsing malicious XML types document (1)
- 5.26.9. [Critical] Potential stack buffer write overflow in Connext applications while parsing malicious XML types document (2)
- 5.26.10. [Critical] Potential stack buffer overflow in Connext applications when parsing an XML type
- 5.26.11. [Critical] Potential unauthorized access to instance information in Connext applications *
- 5.27. Interoperability
- 5.27.1. [Critical] RTPS messages containing vendor-specific submessages could have been dropped
- 5.27.2. [Critical] XCDR serialization of a mutable union with a discriminator value that does not select a union member was not compliant with OMG specification
- 5.27.3. [Critical] Multiple RTPS messages received in a single datagram caused issues
- 5.27.4. [Critical] RTPS checksums incorrect for multiple RTPS messages received in a single datagram *
- 5.27.5. [Critical] Incorrect handling of RTPS messages with submessages from different participants
- 5.28. Other
- 5.28.1. [Critical] Data races on architectures with weak memory models
- 5.28.2. [Critical] Data races on architectures with weak memory model
- 5.28.3. [Major] Error sending batch when batch size exceeded transport MTU and included unregister or dispose messages
- 5.28.4. [Major] Printing to XML missed quotes for external union members
- 5.28.5. [Major] XML parser did not parse scientific notation when exponent included an explicit positive sign
- 5.28.6. [Major] Printing an IDL or XML enum with a default literal produced incorrect output
- 5.28.7. [Major] Printing an enum default literal printed the ordinal value instead of enumerator name
- 5.28.8. [Major] XML parser rejected external members with ranges excluding zero
- 5.28.9. [Major] Incorrect string representation of union DynamicType with arrays of sequences
- 5.28.10. [Major] Error parsing an XML with an external typedef
- 5.28.11. [Major] Error when parsing an XML with a union that has a member with a default value
- 5.28.12. [Major] Error when parsing an XML with a struct that has an enum member with a default enumerator
- 5.28.13. [Major] Invalid escaping of special characters in default strings for XML and IDL output
- 5.28.14. [Major] DynamicType with default string value incorrectly formatted for XML format
- 5.28.15. [Major] Incorrect hexadecimal formatting for uint8 and octet
- 5.28.16. [Major] XML string literal interpretation divergence between Core Libraries and Code Generator
- 5.28.17. [Major] Printing an IDL union with an enum discriminator could have produced an incorrect output
- 5.28.18. [Major] Incorrect CPU assignment when using THREAD_SETTINGS_CPU_RR_ROTATION in receiver_pool
- 5.28.19. [Major] Missing implementation of RTI_DL_DistLogger_get_version(), RTI_DL_DistLogger_get_api_build_version(), and RTI_DL_DistLogger_get_api_version_string()
- 5.28.20. [Minor] Python API was not included in patch releases *
- 5.28.21. [Minor] IDL annotations printed after typdef specifier
- 5.28.22. [Trivial] Possible data race when creating DomainParticipants
- 5.28.23. [Trivial] Printing a type with an annotation using an enum produced an incorrect output