Debugging a ThreadX stack fault on FX3 | Cypress Semiconductor
Debugging a ThreadX stack fault on FX3
I'm getting a "5 _tx_thread_stack_error_handler() 0x40030f44" in my application, under load (while doing something). I can't find anything on how to debug these. I have 3 threads in my app and I checked to the stack on each of them, looking for the constant that the system stack checking places in each one so I'm pretty sure it's not a simple stack overrun.
According to the documentation I could find from ThreadX online, the stack checks are for top/bottom of the stack area and making sure my stack pointer is "in" range so I'm guessing that my stack pointer itself is corrupted (not pointing into the stack space). I explored the possibility of adding a "CyU3PThreadStackErrorNotify" handler to my threads but this doesn't seem to be supported in the version of ThreadX being used here in the Cypress environment.
Is there any more information I can get from the debug tracing on this? (added a screen shot of the fault). It would be handy to mail it down to a specific thread. The call stack in GDB simply shows me function calls that are not available to me at the source level (I have no access to source.
I'm not asking for someone to debug my code for me, just some clues. If someone could point me in the right direction I can do my own leg work.