9.5. Known Issues

9.5.1. C++ constructor does not allocate memory for Topic and Type names

The C++ constructor for DDS_PublicationBuiltinTopicData and DDS_SubscriptionBuiltinTopicData does not allocate memory for the topic_name and type_name attributes. Memory must be allocated using either DDS_String_dup() or another memory allocator, or by using the DDS_PublicationBuiltinTopicData::initialize_from_qos(const DDS_DomainParticipantQos &dp_qos) or DDS_SubscriptionBuiltinTopicData::initialize_from_qos(const DDS_DomainParticipantQos &dp_qos) methods.

Warning

Note that the initialize_from_qos() method is not documented in the C++ API Reference; see RTI Issue MICRO-7112. Please refer to the Discovery module in the C API Reference instead.

[RTI Issue ID MICRO-7110]

9.5.2. initialize_from is not documented in C++ API Reference

The following two methods are missing from the C++ API Reference:

  • DDS_PublicationBuiltinTopicData::initialize_from(const DDS_DomainParticipantQos &dp_qos)

  • DDS_SubscriptionBuiltinTopicData::initialize_from(const DDS_DomainParticipantQos &dp_qos)

Please refer to the Discovery module in the C API Reference for a description of these functions.

[RTI Issue ID MICRO-7112]

9.5.3. Failure to compile example generated for MAG

When generating an example for Micro Application Generator (MAG), two files are not generated. The two files that should be generated are <IDL>.xml and <IDL_Qos>.xml.

Please refer to Application Generation Using XML for information on how to create these files manually.

[RTI Issue ID MICRO-6801]

9.5.4. Connext Micro does not work if year exceeds 2038

If the date is set beyond the year 2038, Connext Micro will not work. This is because the date is reported as a 32 bit unsigned integer; however, Connext Micro expects a signed 32-bit value and is therefore interpreting the “wrap around” value as a negative number, causing an error.

[RTI Issue ID MICRO-2295]

9.5.5. Connext Micro does not work with wide-string characters in the network interface name

Connext Micro does not work with wide-string characters (such as Japanese or Chinese characters) in the network interface name.

As a workaround, rename all the system interfaces so that none of them contain wide-string characters.

[RTI Issue ID MICRO-2423]

9.5.6. 64-bit discriminator values greater than (2^31-1) or smaller than (-2^31) not supported

Unions with a 64-bit integer discriminator type containing discriminator values that cannot fit in a 32-bit value are not supported when using the following language bindings:

  • C

  • Traditional C++

They are also not supported with ContentFilteredTopics, regardless of the language binding.

Using label values greater than 32-bit may lead to receiving samples with invalid content or to filtering samples incorrectly.

[RTI Issue ID MICRO-3056]

9.5.7. DDS_DomainParticipantFactory_finalize_instance fails if INTRA transport has been unregistered

The DDS_DomainParticipantFactory_finalize_instance function fails if the INTRA transport has been unregistered previously in the test.

[RTI Issue ID MICRO-4481]

9.5.8. NaN and INF float and doubles are not detected and will not cause errors

Normally, Connext Micro discards samples with values that are out of range during serialization and de-serialization; however, Not a Number (NaN) and Infinite (INF) floating point and doubles are not detected and will not cause serialization or de-serialization errors.

[RTI Issue ID MICRO-5960]

9.5.9. Incorrect handling of RTPS messages with submessages from different participants

When an RTPS message that contains submessages from multiple participants is received, Connext Micro incorrectly treats each submessage as though it is from the participant whose GUID prefix is in the RTPS header. Connext Micro does not send RTPS messages with submessages from different participants, but other DDS vendors may do this, which leads to various communication issues and a lack of interoperability.

[RTI Issue ID MICRO-5984]

9.5.10. Ungracefully terminated QNX processes using SHMEM transport prevents startup of new processes due to unclosed POSIX semaphores

If a QNX application using the shared-memory transport was ungracefully shut down, crashed, or otherwise had an abnormal termination while holding a POSIX semaphore used by the transport (for example, while sending data through the shared-memory transport), Connext applications launched after that point on the same domain may wait forever for that semaphore to be released.

Workaround: to enable new applications to start, RTI recommends stopping all applications, then cleaning up the Inter-Process Communication (IPC) resources before starting new applications.

[RTI Issue ID MICRO-6013]

9.5.11. Flow Controllers require RTOS

Flow controllers require an RTOS.

[RTI Issue ID MICRO-6648]

9.5.12. LatencyBudget is not part of the DataReaderQos or DataWriterQos policy

The LatencyBudgetQos policy is not supported and does not appear as part of the DataReader and DataWriter Qos policy documentation. The default value is 0. When creating earliest deadline first (EDF) flow-controllers, the effective scheduling is round-robin.

[RTI Issue ID MICRO-6649]

9.5.13. Porting Guide does not include information about shared memory support

The RTI Connext Micro porting guide does not include information about porting the shared memory support. If the target does not support the POSIX shared memory API, it is necessary to compile RTI Connext Micro with -DOSAPI_ENABLE_SHMEM=0.

[RTI Issue ID MICRO-6650]