error message running connext rti 6.0.1 on QNX

4 posts / 0 new
Last post
Offline
Last seen: 4 months 1 week ago
Joined: 05/09/2021
Posts: 5
error message running connext rti 6.0.1 on QNX

When running ros2 on QNX with rmw_connext_cpp I get the following error message:

command:

ros2 run demo_nodes_cpp talker

Error message:

RTIXCdrInterpreter_getSerSampleMaxSize:ConnextStaticSerializedData:serialized_data skip error
RTIXCdrInterpreter_generateTypePluginProgram:failure generating get_max_serialized_size program for type ConnextStaticSerializedData
RTIXCdrInterpreterPrograms_generate:failure generating get_max_serialized_size program for type ConnextStaticSerializedData
RTIXCdrInterpreterPrograms_generateTopLevelPrograms:failure generating programs for type ConnextStaticSerializedData
RTIXCdrInterpreterPrograms_initializeWithParams:failure generating programs for type ConnextStaticSerializedData
DDS_TypeCodeFactory_assert_programs_w_parameters:ERROR: Failed to initialize resultPrograms
DDS_TypeCodeFactory_assert_programs_in_global_list:!assert_programs
PRESParticipant_registerType:failed to attach participant to typePlugin
DDS_DomainParticipant_register_type:!failed to register user type with participant
error while registering external type

The error message only shows up sometimes. So with multiple retries it sometimes work and sometimes display the message above and fail.

Hope I can get some insight as to what might be the cause of this message.

Thank you,

Ahmed

Organization:
Keywords:
asorbini's picture
Offline
Last seen: 1 year 2 months ago
Joined: 02/06/2013
Posts: 11

HI Ahmed,

I'm not sure about the root cause for the error that you are experiencing, but I would encourage you to switch from rmw_connext_cpp to rmw_connextdds, a new RMW implementation for Connext which should cause these errors to disappear, beside providing tremendous performance improvements. The reason why I'm somewhat confident that the errors would disappear with rmw_connextdds is that they appear to be related to the CDR serialization routines, which were completely rehauled in the new RMW.

Since you are using rmw_connext_cpp, I assume you are running an older version of ROS2 (Foxy or earlier), since starting from Galactic rmw_connextdds has now replaced it as one of the three Tier 1 RMW implementations. Nevertheless, you can use rmw_connextdds with any ROS2 version up to Dashing, just make sure to switch the source to the correct branch.

By the way, I'm the main developer and maintainer for rmw_connextdds, so I'd be more than happy to answer any questions/help troubleshoot any issues you may have with it.

Offline
Last seen: 4 months 1 week ago
Joined: 05/09/2021
Posts: 5

Thank you for the quick response. I am using Foxy as requested by our customer. I will switch to rmw_connextdds as you recommended. I see there is a branch for foxy on https://github.com/ros2/rmw_connextdds, so I will test with it.

Please note that the error above seems to happen somtimes and somtimes not. When I run ros2 run demo_nodes_cpp talker it fails 4 out of 5 trials for example which sounds like a race condition. I will test the new package anyways and will let you know how it goes. 

Offline
Last seen: 4 months 1 week ago
Joined: 05/09/2021
Posts: 5

Hi Andrea,

After updating from rmw_connext_cpp to rmw_connextdds the error mentioned above has disappeared. Thank you for your help.

Ahmed