8.5. Known Issues

8.5.1. 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.2. Failure to interoperate with other DDS implementations if default multicast locator specified

Connext Micro does not interoperate with other DDS implementations when the default multicast locator is specified.

As a workaround, you can specify the multicast addresses on the endpoints instead of the participants.

[RTI Issue ID MICRO-5148]

8.5.3. Maximum number of components limited to 58

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

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.

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).