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:
1 2 3 4 5 6 7 8 9 10 11 12 | < participant_qos > < event > < thread > < stack_size >####</ stack_size > </ thread > </ event > < receiver_pool > < thread > < stack_size >####</ stack_size > </ thread > </ receiver_pool > </ participant_qos > |