Re: sys_dlist_remove: bus fault with CONFIG_NO_OPTIMIZATIONS


Christopher Friedt
 

Hi Maureen / list,

On Mon., Sep. 30, 2019, 11:31 a.m. Christopher Friedt, <chrisfriedt@...> wrote:
Hi Maureen,

On Mon., Sep. 30, 2019, 11:26 a.m. Maureen Helm, <maureen.helm@...> wrote:

Hi Christopher,

It’s possible that a stack overflowed. Kinetis platforms have a “system MPU” instead of the Arm MPU, and memory access violations trigger a bus fault.

That's interesting, because now that I think about it, I did have to disable the MPU to even get to main(). Good catch!

Do you know if Zephyr has a way to instrument stack usage?

I just thought I would follow up on-list in case anyone else has a similar issue.

So I simply enabled

CONFIG_STACK_CANARIES=y

because ARMv7-M supports gcc's stack canaries, and found that the "tx_workq" thread indeed did have a stack overflow.

Great catch Maureen, and thanks for pointing out that the kinetis MPU is not an actual ARM MPU too. I assumed they were the same originally.

Cheers,

C

Join devel@lists.zephyrproject.org to automatically receive all group messages.