Hi,
I've been nearly completely out of order for the last week and a half, and I 
still have to fix #1900.
Since your issue could be related:
Is nxsig_initialize really causing a stack overflow in your case, or is it a 
false positive?

Johannes


> -----Original Message-----
> From: Fotis Panagiotopoulos [mailto:f.j.pa...@gmail.com]
> Sent: Tuesday, October 6, 2020 9:40 PM
> To: dev@nuttx.apache.org
> Subject: Stack overflow during system init.
> 
> Hi everyone,
> 
> I just enabled CONFIG_ARMV7M_STACKCHECK, as I would like to have this
> functionality in my project, but I am facing problems.
> 
> NuttX is not able to boot at all with this option selected. I stepped
> through the code and it seems that nxsig_initialize actually causes a stack
> overflow that is detected by the above check.
> Is this a bug, or I should configure something in a different way?
> 
> Then I realized that __stack_overflow_trap is broken.
> When a stack overflow happens, this function is called which is supposed to
> cause a hardfault. However as __stack_overflow_trap is a function itself,
> __cyg_profile_func_enter is called again. Once again it detects the
> overflow and calls __stack_overflow_trap, and so on...
> 
> Finally, as I see, the stack check is performed while entering a function,
> which is wrong. If there is a stack overflow, it will be detected at the
> next function call, which may be at a irrelevant part of the code. I
> believe that the check shall be performed on the exit of a function, in
> which case you will be sure that this specific function caused the
> overflow. And of course it will solve the issue above with
> __stack_overflow_trap.

Reply via email to