What error can occur if a thread stack_size is not large enough?
If you create a large number of instances or entities and there is insufficient thread stack space, you can get the following error:
REDAFastBufferPool_getBuffer:!precondition: pool==((void *)0) REDASkiplistNode_new:!create node REDASkiplist_assertNodeEA:!create node COMMENDSrReaderService_assertBatchInfo:!get batch info buffer COMMENDSrReaderService_onSubmessage:!assert batch info REDASkiplist_gotoNextNode:!precondition: list==((void *)0) || node==((void *)0)|| *node==((void *)0) REDASkiplist_gotoNextNode:!precondition: list==((void *)0) || node==((void *)0)|| *node==((void *)0)
To resolve this, you can increase the stack size of the event thread and the reciever pool threads by setting the following QoS:
<participant_qos>
<event>
<thread>
<stack_size>####</stack_size>
</thread>
</event>
<receiver_pool>
<thread>
<stack_size>####</stack_size>
</thread>
</receiver_pool>
</participant_qos>