Hi,
I made a simple workaround:
I yust commented out the two “assume“ directives in start function of Thread.cpp

After recompiling everything seems to work properly, so it's OK, but I don't know exactly what checks I'm currently removing and their implications. 

Anyway, on a pure user experience basis, I can say it works. 

Best regards
Alex

On Sun, 13 Jan 2019, 23:38 Alex <allexander.alex@gmail.com wrote:
Hi Vadim,
A ram issue seems strange to me... The board has 2 gb of ram and I also successfully run the same config on a 1 gb virtual machine.

Maybe a kernel limitation? 


Thank you and best regards
Alex

On Sun, 13 Jan 2019, 23:35 Vadim Yanitskiy <axilirator@gmail.com wrote:
Hello,

> osmo-trx-lms: Threads.cpp:133:
> void Thread::start(void* (*)(void*), void*): Assertion `!res' failed.
> [...]
> Can someone provide me a little light on this?

As far as I can see, pthread_attr_setstacksize() fails to set
required stack size for a thread. Probably, the amount of RAM
is not enough. But in general, this part of code looks dirty:

> /** A C++ wrapper for pthread threads.  */
> class Thread {
>   /* ... */
>   // FIXME -- Can this be reduced now?
>   size_t mStackSize;
>
>   /* ... */
>   /** Create a thread in a non-running state. */
>   Thread(size_t wStackSize = (65536*4)):mThread((pthread_t)0) {
>     pthread_attr_init(&mAttrib);    // (pat) moved this here.
>     mStackSize=wStackSize;
>   }
>   /* ... */

I am now wondering, where does this magic 65536*4 comes from,
and how can we estimate and adjust this properly?

With best regards,
Vadim Yanitskiy.