I’m running FreeRTOS v10.3.1 on a KCU105 Microblaze with the Xilinx SDK 2019.1, and multiple FreeRTOS pointers are overwriting stack guard values and triggering the vApplicationStackOverflowHook during a context switch. The same locations within the same task are overwritten by the FreeRTOS pointers, but the runtimes leading to the memory corruption vary wildly - from seconds to dozens of minutes. I currently have hardware watchpoints set on the 4 stack guard memory locations, and when the watchpoints are triggered it’s due to a FreeRTOS pointer overwriting that location. For example, List_t * const pxList = pxItemToRemove->pxContainer; in the list.c function uxListRemove(), and ListItem_t * const pxIndex = pxList->pxIndex; in the list.c function vListInsertEnd() are writing to the stack guard value locations.
Any insight on this would be much appreciated.