Description
Using version 3.8.1 of activemq-cpp (after using version 3.4.5) - we have suffered a crash in code running in amq threads.
Investigation shows that this happens when trying to use a char[] buffer on stack of size > 16384 , probably due to the stack size being of size 32768.
Thread::Thread() constructors call initializeSelf() with stackSize=(-1), which
in turn call createThreadInstance() with negative stackSize value (hence using PLATFORM_DEFAULT_STACK_SIZE).
Relevant code below:
----------------------
#define PLATFORM_DEFAULT_STACK_SIZE 0x8000
-----------------------
void createThreadInstance(ThreadHandle* thread, long long stackSize, int priority, bool suspended, threadingTask threadMain, void* threadArg) {
if (stackSize <= 0)
...
}
----------------------