thread allocation blocked by stack size

Gedare Bloom gedare at rtems.org
Mon Nov 2 19:36:58 UTC 2015


On Mon, Nov 2, 2015 at 2:00 PM, Martin Werner
<martin.werner at aacmicrotec.com> wrote:
> Hi,
>
> I'm porting a linux application to rtems, and placing a set of
> applications into rtems tasks. These tasks individually create a set of
> threads via pthread_create().
>
> I'm running into issues with stack allocation, in that the second task
> to start fails to start some of its threads with pthread_create()
> reporting EAGAIN.
>
> I've dug down a bit and seen that this is fundamentally due to
>
> cpukit/score/src/threadstackallocate.c:38
> stack_addr = (*stack_allocate_hook)( the_stack_size );
>
What is "the_stack_size"?

> getting a null stack address, which propagates upwards...
>
> I've experimented with tweaking task stack size argument in
> rtems_task_create(...), and modifying the following defines in my
> initialization:
> CONFIGURE_EXECUTIVE_RAM_SIZE
> CONFIGURE_MAXIMUM_TASKS
> CONFIGURE_MAXIMUM_POSIX_THREADS
> CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
> CONFIGURE_MINIMUM_TASK_STACK_SIZE
What did you set this one to?

> CONFIGURE_INIT_TASK_STACK_SIZE
> CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
> CONFIGURE_UNIFIED_WORK_AREAS
> CONFIGURE_UNLIMITED_OBJECTS
> CONFIGURE_EXTRA_TASK_STACKS
>
> to no effect but to create (expected) new issues when set to extremes.
>
> I'm using rtems i386 at 4.11, git 74f5eaf, compiled from
> rtems-source-builder with gcc at 4.9.2 and newlib-2_1_0 + git ebbb290;
> and the equivalent pc386 bsp.
>
> I'm running the whole thing on qemu, via
>
> qemu-system-i386 -kernel example.exe -nodefaults -nographic -serial
> stdio
>
> (I've also tested adding a "-m 1G" flag just to check qemu isn't running
> out of ram or so..).
>
> * Does anyone know what might be going wrong here?
> * Is there some other way to increase the stack size that I should be
> using?
For pthreads you can set the attr->stacksize to request non-default size.

> * Does the fact that I'm running on qemu possibly effect the issue?
>
> --
> Martin Erik Werner <martin.werner at aacmicrotec.com>
> ÅAC Microtec AB
>
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users



More information about the users mailing list