Unbounded sequences

3 posts / 0 new
Last post
Offline
Last seen: 6 years 4 months ago
Joined: 09/17/2015
Posts: 53
Unbounded sequences

Hello all,

I compiled our code with the unbounded option set in rtiddsgen2. But all applications crash now with:

REDAFastBufferPool_growEmptyPoolEA: !allocate buffer of 68719444224 bytes REDAFastBufferPool_newWithNotification:!create fast buffer pool buffers PRESTypePluginDefaultEndpointData_createWriterPool:!create writer buffer pool WriterHistorySessionManager_new:!create newAllocator WriterHistoryMemoryPlugin_createHistory:!create sessionManager PRESWriterHistoryDriver_new:!create _whHnd PRESPsService_enableLocalEndpointWithCursor:!create WriterHistoryDriver PRESPsService_enableLocalEndpoint:!enable local endpoint terminate called after throwing an instance of 'dds::core::Error'   what():    REDAFastBufferPool_newWithNotification:!create fast buffer pool buffers   PRESTypePluginDefaultEndpointData_createWriterPool:!create writer buffer pool    WriterHistorySessionManager_new:!create newAllocator     WriterHistoryMemoryPlugin_createHistory:!create sessionManager      PRESWriterHistoryDriver_new:!create _whHnd       PRESPsService_enableLocalEndpointWithCursor:!create WriterHistoryDriver        PRESPsService_enableLocalEndpoint:!enable local endpoint enable entity 

Basically, it tries to allocate 68 GB of RAM. Is there a manual on how to use and configure unbounded sequences properly?
 
Edit: I found this in the manual
 
https://community.rti.com/static/documentation/connext-dds/5.2.0/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/index.htm#UsersManual/Sequences.htm?Highlight=unbound
 
But how do I set this parameters exactly and what are sensible values?
 
Best regards,
 
Andreas
 

https://community.rti.com/content/forum-topic/instance-resources-dispose-and-unregister

Offline
Last seen: 6 years 4 months ago
Joined: 09/17/2015
Posts: 53

Ok, I fixed the issue by loading the attached qos profile.

But now I want to set the default QOS to this loaded QOS, but I am unable to do it. The question condenses to how can I set the default QOS from a QOS provider generated by loading an xml file? 

This works:

dds::core::QosProvider qos_provider("build64/MT_RTI_QOS_PROFILES.xml","mt_profiles::unbounded_support");

dds::domain::DomainParticipant dp(1, qos_provider.participant_qos());

dds::topic::Topic<mt::Object> topic(dp,"topic", qos_provider.topic_qos());

This doesn't work!

auto qos_provider_params = qos_provider->default_provider_params();

dds::core::QosProvider::Default()->default_provider_params(qos_provider_params);

dds::domain::DomainParticipant dp(1);

dds::topic::Topic<mt::Object> topic(dp,"topic");

 

File Attachments: 
Offline
Last seen: 6 months 4 weeks ago
Joined: 01/10/2013
Posts: 28

Hi, 

Can you try changing 

auto qos_provider_params = qos_provider->default_provider_params();

to: 

auto qos_provider_params = qos_provider->provider_params(); ?

default_provider_params() is a static function that gives you access to the params of the Default QosProvider. So what you are doing is getting and setting the same values for the Default QosProvider. provider_params() on the other hand will get the params that you created qos_provider with, so that you can set them on the Default.