5.2. Serialization and Deserialization

5.2.1. [Critical] Endpoint creation failed for types with large maximum serialized size

Endpoint (DataWriter or DataReader) creation may have failed for all language bindings except Java with errors like these:

RTIXCdrInterpreter_generateTypePluginProgram:failure generating skip program for type recording::final_zero_copy::PackageMessages: too many primitive values
RTIXCdrInterpreterPrograms_generate:failure generating skip program for type recording::final_zero_copy::PackageMessages
RTIXCdrInterpreterPrograms_generateTopLevelPrograms:failure generating programs for type recording::final_zero_copy::PackageMessages
RTIXCdrInterpreterPrograms_initializeWithParams:failure generating programs for type recording::final_zero_copy::PackageMessages
DDS_TypeCodeFactory_assert_programs_w_parameters:ERROR: Failed to initialize resultPrograms
DDS_TypeCodeFactory_assert_programs_in_global_list:!assert_programs
PRESPsService_enableLocalEndpointWithCursor:failed to attach endpoint to typePlugin
PRESPsService_enableLocalEndpoint:!enable local endpoint

The issue may have occurred when the following three conditions were true:

  • The code for the type was generated with optimization level 2 (default). The optimization level was configured with the command-line option -optimization.

  • Inline expansion of nested types was applied to the type.

  • The maximum serialized size of the type was greater than 256 MB.

[RTI Issue ID CORE-14174]