8.5. Known Issues

8.5.1. Tasking compiler warnings

The following benign compiler warnings are raised by the Tasking6.3r1 compiler while building for the tc39xtMICROSAR4Tasking6.3r1 platform. These warnings will be addressed in the future General Availability Release (GAR).

Table 8.3 Tasking Compiler Warnings

Warning

Files

dead assignment to <return code variable name> eliminated

DomainFactory.c
Publisher.c
DataReaderEvent.c
DataReaderInterface.c
Subscriber.c
autosarSocket.c
autosarHeap.c
autosarLog.c
autosarMutex.c
autosarSemaphore.c
autosarSystem.c
autosarSystem.c
autosarThread.c
Log.c
RTPSChecksumMd5.c
RTPSInterface.c

discarded 'const' qualifier

autosarSocket.c
autosarLog.c

condition is always false

DiscoveryPlugin.c
autosarMutex.c

EOF without newline

Time.cxx
Duration.cxx

undefined enum value

autosarSystem.c

[RTI Issue ID MICRO-11080]

8.5.2. AUTOSAR ErrorHook may create CPU overhead

If enabled during configuration, the AUTOSAR OS Hook ErrorHook may be called if Connext Micro tries to cancel an alarm that has already been signaled. There is no known workaround for this issue.

[RTI Issue ID MICRO-5367]

8.5.3. Maximum number of components limited to 58

The maximum number of components that can be registered is limited to 58.

[RTI Issue ID MICRO-3571]

8.5.4. Endpoint discovery requires unique object IDs across all remote endpoints

When using static endpoint discovery (DPSE), RTI Connext Micro requires that the object_id for statically asserted remote endpoints must be unique across all remote endpoints, as opposed to just between remote endpoints within the same participant. Note, this restriction was incorrectly documented as removed in version 2.4.1.

[RTI Issue ID MICRO-211]

8.5.5. Compiler warnings on VxWorks

When compiling for VxWorks 6.9 with the -Wconversion flag there are compiler warnings of the type:

warning: conversion to 'DDS_Boolean' from 'int' may alter its value

These compiler warnings seem to be an issue with GCC for VxWorks and can be ignored. The problem is that returning a value from a expression seems to always be treated as an unbounded int as opposed to an int with a value of 0 or 1 as the C standard dictates.

8.5.6. OSAPI does not always detect endianess

osapi_cc_stdc.h detects the CPU endianness by checking GCC predefined macros, such as __BYTE_ORDER__. However, some versions of GCC does not set these macros, for example GCC for VxWorks. If osapi_cc_stdc.h does not find any of the flags, it incorrectly sets the CPU to little endian.

In this case it is important that one of the following preprocessor macros are defined:

  • RTI_ENDIAN_BIG The CPU is big-endian

  • RTI_ENDIAN_LITTLE The CPU is little-endian

NOTE: The VxWorks cmake toolchain file from RTI set these based on CPU type in the target name (–name option).

[RTI Issue ID MICRO-1919]

8.5.7. 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 system interfaces so that none of them contain wide-string characters.

[RTI Issue ID MICRO-2423]

8.5.8. Maximum blocking time is limited to 25 days

The maximum blocking time for APIs that support blocking is approximately 25 days.

[RTI Issue ID MICRO-9770]