DDS (IDL)

3 posts / 0 new
Last post
Offline
Last seen: 8 years 4 months ago
Joined: 07/28/2016
Posts: 2
DDS (IDL)

I try to communicate with different module using DDS (IDL) in same machine. the data size is big.
When I try to publish my data I have this error:

REDAFastBufferPool_growEmptyPoolEA: !allocate buffer of 39454018304 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
DDSDataWriter_impl::createI:ERROR: Failed to auto-enable entity
! Unable to create DDS data writer

After that I also do two things according to blog

First 1 in USER_QOS_PROFILE.xml : add

<participant_qos>
                    <discovery>
                              <initial_peers>
                                    <!-- Insert the addresses here of the machines you want to contact -->
                                    <element>127.0.0.1</element>
                                    <!-- <element>192.168.1.2</element>-->
                              </initial_peers>
                         </discovery>

</participant_qos>

2 nd in  /etc/sysctl.conf : add

kern.sysv.shmmax=419430400
kern.sysv.shmmin=1
kern.sysv.shmmni=128
kern.sysv.shmseg=1024
kern.sysv.shmall=262144

Although I have same Error.

Organization:
Offline
Last seen: 10 months 3 weeks ago
Joined: 02/11/2016
Posts: 144

Hey,

Please note that RTI is trying to allocate about 40GB and you've set the shmax to about 400MB (meaning, not big enough).

I would urge you to reconsider what you're doing with your type and the QoS because it sounds like a bad idea.

If you can describe your use-case and the data type / qos that you are using it would be useful.

Roy.

Offline
Last seen: 8 years 4 months ago
Joined: 07/28/2016
Posts: 2

Thanks, I found the problem. it was, i defined the different data types in idl(bytes) and my sending message(long).