Known Issues
============

Samples cannot be recovered if subscribing application fails to return loan 
---------------------------------------------------------------------------

When a subscribing application has taken a loan for the Zero Copy v2 transport
(using the API :link_connextmicro_dds_api_c_up_one:`FooDataReader_read() <group__DDSReaderModule.html>`
or :link_connextmicro_dds_api_c_up_one:`FooDataReader_take() <group__DDSReaderModule.html>`)
and fails to return the loan due to a crash or other circumstances, |me| cannot
recover those samples. This also affects the matching *DataWriter*, which
cannot reclaim the samples and continues to run in a degraded state.

[RTI Issue ID MICRO-5843]

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 :ref:`section-appgen` for information on how to create these 
files manually.

[RTI Issue ID MICRO-6801]

|me_h| does not work if year exceeds 2038
-----------------------------------------

If the date is set beyond the year 2038, |me| will not work. This 
is because the date is reported as a 32 bit unsigned integer; however, 
|me| 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]

|me_h| does not work with wide-string characters in the network interface name
------------------------------------------------------------------------------

|me| 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]

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]

DDS_DomainParticipantFactory_finalize_instance fails if INTRA transport has been unregistered
---------------------------------------------------------------------------------------------

The :link_connextmicro_dds_api_c_up_one:`DDS_DomainParticipantFactory_finalize_instance <group__DDSDomainParticipantFactoryModule.html>` 
function fails if the INTRA transport has been unregistered previously in the 
test.

[RTI Issue ID MICRO-4481]

NaN and INF float and doubles are not detected and will not cause errors
------------------------------------------------------------------------

Normally, |me| 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]

Ungracefully terminated QNX processes using SHMEM transport prevents startup of new processes due to unclosed POSIX semaphores
------------------------------------------------------------------------------------------------------------------------------
If a QNX 7.0 or earlier 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 for QNX 7.0 and earlier: to enable new applications to start, RTI
recommends stopping all applications, then cleaning up the Inter-Process
Communication (IPC) resources before starting new applications.

This problem is resolved for QNX 7.1, as described in the fix for 
:ref:`MICRO-6013`.

[RTI Issue ID MICRO-6013]

Flow Controllers require RTOS
-----------------------------

Flow controllers require an RTOS.

[RTI Issue ID MICRO-6648]

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]

The Porting Guide is not included in 4.1.0
------------------------------------------

|rti_me| 4.1.0 has many internal changes from previous versions of |rti_me|, and 
the  |rti_me| 4.1.0 APIs are not considered stable. Therefore, instructions for 
porting |rti_me| 4.1.0 are not included with |rti_me| 4.1.0.  If instructions 
are needed to port |rti_me| 4.1.0, please contact support@rti.com.

[RTI Issue ID MICRO-8618]

Platform Independent Library toolchain dependencies
---------------------------------------------------

The platform independent libraries (PIL) are not completely independent of
the toolchain and standard C library, and thus require a compatible toolchain 
and standard library to link to. See :ref:`section-platform-notes` for
more information.

[RTI Issue ID MICRO-8154]