With large number of threads the default memcaps lead to pool setup
failures. Make sure these are reported properly so that the user
knows what is going on.
Bug: #2226
ra_ctx->segment_thread_pool_id);
}
SCMutexUnlock(&segment_thread_pool_mutex);
- if (ra_ctx->segment_thread_pool_id < 0 || segment_thread_pool == NULL)
- abort();
+ if (ra_ctx->segment_thread_pool_id < 0 || segment_thread_pool == NULL) {
+ SCLogError(SC_ERR_MEM_ALLOC, "failed to setup/expand stream segment pool. Expand stream.reassembly.memcap?");
+ StreamTcpReassembleFreeThreadCtx(ra_ctx);
+ SCReturnPtr(NULL, "TcpReassemblyThreadCtx");
+ }
SCReturnPtr(ra_ctx, "TcpReassemblyThreadCtx");
}
SCLogDebug("pool size %d, thread ssn_pool_id %d", PoolThreadSize(ssn_pool), stt->ssn_pool_id);
}
SCMutexUnlock(&ssn_pool_mutex);
- if (stt->ssn_pool_id < 0 || ssn_pool == NULL)
+ if (stt->ssn_pool_id < 0 || ssn_pool == NULL) {
+ SCLogError(SC_ERR_MEM_ALLOC, "failed to setup/expand stream session pool. Expand stream.memcap?");
SCReturnInt(TM_ECODE_FAILED);
+ }
SCReturnInt(TM_ECODE_OK);
}