Hello,
I have a large application that uses the Dynamic Data API and works fine in 5.0.0. Today I installed RTI Connext DDS 5.1.0. I recompiled and ran my application against the new libraries and recieve the following error. Any idea what the problem is? Screen shot of all error messages attached. using profile UserQosProfilesLibrary::DefaultProfile, which is also attached.
First error message is:
RTICdrStream_getBufferLength:!precondition: me->_buffer == ((void *)0)
RTICdrStream_setCurrentPositionOffset:!precondition: me->_buffer == ((void*)0)
DDS_DunamicData_to_stream:internal error trying to set CDR stream offset
PRESWriterHistoryDriver_initializeSample:!serialize
......
Attachment | Size |
---|---|
QoS profile | 86.13 KB |
screen shot of Dynamic Data API error messages. | 76.67 KB |
On further investigation, it looks like at least part of the problem is due to using -1 for the "DDS_Long id" argument to DDS_TypeCode_add_member() function. I think some problems may also be due to QoS incompatibilities. Any general guidelines for using 5.0.0 QoS profiles with 5.1.0?
Thanks.
Mark.
Hello Mark,
Did you check this article on how to configure applications for backward compatibility 5.1.0 to 5.0.0? You can either configure your 5.0.0 application to be forward compatible (option 3 in the article) or configure your 5.1.0 application use the 5.0.0 built-in QoS profile (option 1), which would make your QoS profile inherit from the same QoS base configuration.
Fernando.