5.6.25. Other
5.6.25.1. [Critical] Data races on architectures with weak memory model
Several data races on systems with a weak memory architecture, such as ARM and PowerPC, have been fixed in this release. Some of these data races could have led to undefined behavior or crashes in different parts of Connext.
[RTI Issue ID CORE-14893]
5.6.25.2. [Major] Missing implementation of RTI_DL_DistLogger_get_version(), RTI_DL_DistLogger_get_api_build_version(), and RTI_DL_DistLogger_get_api_version_string()
The implementation of the APIs RTI_DL_DistLogger_get_version(),
RTI_DL_DistLogger_get_api_build_version(), and
RTI_DL_DistLogger_get_api_version_string() was not compiled, so using
them resulted in a “function declared but not defined” failure at
compile time. The APIs can now be used as expected.
[RTI Issue ID DISTLOG-243]
5.6.25.3. [Major] Incorrect update of DataWriter’s pushed_fragment_count protocol statistic under some conditions
Connext determines the need for fragmenting a sample using the
configured message_size_max across all installed transports. If at
least one transport requires fragmentation, Connext will fragment the
sample, even if the transport ultimately used for transmission does not
require it. In such a scenario (where the used transport does not
require fragmentation), Connext optimizes communication by grouping
all the fragments in a single DATA_FRAG sub-message.
The DataWriterProtocolStatus::pushed_fragment_count statistic was
not correctly updated in this scenario. The count was increased using
the number of fragments added to the DATA_FRAG sub-message instead
of the actual number of DATA_FRAG sub-messages sent on the wire.
This issue occurred for asynchronous DataWriters communicating with
best-effort DataReaders when the Flow Controller bytes_per_token
and max_tokens configuration required fragmenting the sample anyway.
Besides the scenario described here, the pushed_fragment_count also
did not update properly for synchronous best-effort communications when
fragmentation was required and a ContentFilteredTopic was involved.
The pushed_fragment_count statistics are now accurate.
[RTI Issue ID CORE-14737]
5.6.25.4. [Minor] IDL annotations printed after typdef specifier
When using to_string on IDL types where annotations (such as
@default) and a typedef were specified, those annotations were
printed after the typedef specifier. This behavior has been changed
to print the typdef specifier after the necessary annotations.
[RTI Issue ID CORE-14857]