8.2. What’s New in 2.4.14.2¶
8.2.1. New multicast feature available on AUTOSAR platforms¶
This release introduces support for multicast sockets on AUTOSAR platforms. Previously, only unicast sockets were supported. For more information, see Connext Micro on AUTOSAR in this document and OSAPI AutoSAR in the API Reference.
The port property local_addr_id
has been renamed to max_local_addr_id
,
and must be set to the maximum address id configured in the TcpIp BSW module.
[RTI Issue ID MICRO-3338]
8.3. What’s Fixed in 2.4.14.2¶
8.3.1. DataReader on a Topic using an appendable type may receive samples with incorrect value¶
A DataReader subscribing to a Topic on an appendable type may have received incorrect samples from a matching DataWriter.
The problem only occurred when the DataWriter published a type with fewer members than the DataReader type. For example, consider a DataWriter on FooBase and a DataReader on FooDerived:
@appendable struct FooBase {
sequence<uint8,1024>base_value;
};
@appendable struct FooDerived {
sequence<uint8,1024> base_value;
@default(12) uint8 derived_value;
};
In this case, the serialized sample stream would be padded with extra bytes to
align the stream to 4 bytes as required by the
OMG ‘Extensible and Dynamic Topic Types for DDS’ specification, version 1.3.
However, the additional padding bytes were incorrectly interpreted as part of
the data and derived_value
may have been set to a random value.
For example, in the case above, when the DataWriter published a sample with type FooBase, the DataReader should drop the sample instead of interpreting the padding bytes as data.
Note
Connext Micro does not support the @default
annotation.
[RTI Issue ID MICRO-6402]
8.3.2. Building for FreeRTOS failed when using RTIME_CERT flag¶
When building Connext Micro with the RTIME_CERT
flag enabled, the build would
fail and output warnings.
[RTI Issue ID MICRO-5954]
8.3.3. Potential segmentation fault while creating entities¶
A segmentation fault could occur while creating certain entities if Connext Micro ran out of memory. Connext Micro will now detect this condition and return an error.
This issue only affected non-CERT profiles.
[RTI Issue ID MICRO-3396]
8.3.4. Incorrect generated code when using IDL whose name starts with a number¶
The generated code for an IDL whose name started with a number was incorrect and did not compile. The generated code contained some ifdef instructions that started with a number, which was not valid because an identifier must start with a letter (or underscore).
Now, invalid identifier characters are converted to ‘_’ in the ifdef instruction.
[RTI Issue ID MICRO-2066]
8.3.5. Code Generator could not parse a file preprocessed with GCC 11¶
GCC 11 produced unexpected output when used as a preproccesor. This unexpected output caused an error in Code Generator.
Code Generator will now work correctly with the output generated by GCC 11.
[RTI Issue ID CODEGENII-1508]
8.3.6. Race condition and memory corruption in logger¶
The following issues have been fixed in the logger:
Processing log-messages in a log handler was not thread-safe.
Memory corruption may have occurred.
Conversion of INT_MIN was incorrect.
Note
The OSAPI_Log_clear
API must not be called outside a log-handler
since it is no longer thread-safe.
[RTI Issue ID MICRO-5854]
8.3.7. Generated example CMakeLists.txt required -udp_intf option to be specified¶
The generated example CMakeLists.txt
file did not use the default interfaces
on macOS, Linux, and Windows, and it was necessary to use the -udp_intf
option
when running the example.
[RTI Issue ID MICRO-6969]