AnsweredAssumed Answered

pthread_create causes stack overflow

Question asked by gombos on Jan 20, 2014
Latest reply on Jan 22, 2014 by sonic

Hi,

 

I have a working board using uClinux 2010R1RC5 distribution. We already sold thousand of devices. The CPU if bf537, 64M RAM, rev 0.3.

Now I try to upgrade to the latest (2013R1RC2) buildroot distribution. Everything seems OK.

I have created my own board, ported some drivers for tft lcd, touchscreen, spi,... etc.

It works fine. But if I start one of my application it causes stack overflow.

The application makes some initialization and try to start a new thread.

If I add an infinite while before the pthread_create function called there is no exception.

If I move this line after the thread creation I got this exception.

In the original application the stack size was 16k. I tried to increase to 32k or 64k but the error is the same.

I emphasize again: the application works on the earlier uClinux. It is written by me and always kept my eyes on local arrays. So it is very stack friendly application...

It doesn't matter what my thread does. Even if I return immediately from the thread.

I already tryed to build with and without mstack-chek-l1 flag.

Sometimes the application able to start and runs fine.

 

Any idea or suggestion?

Outcomes