AnsweredAssumed Answered

Stack overflow detection

Question asked by rwpinto on Mar 9, 2011
Latest reply on Mar 14, 2011 by rwpinto



We have a VDK application that has 2 user threads operating on a custom 21469 board with SDRAM and flash. Recently, we had observed some strange behavior with our run-time flash driver. After installing update 9 with its stack overflow detection ability, we discovered that a thread stack overflow was occurring as a result of a P3i ISR. Presumably, the interrupts are getting nested for reasons that we don;t understand.


My question concerns the meaning of the data in the VDK status window. For each thread, the status window shows the stack allocated for the thread and the maximum stack used by the thread. Yet, when update 9 detects the stack overflow resulting in a kernel panic, the maximum stack used by any of the threads is only a small fraction of the 1536 words allocated for each of the threads.


The error code reported in the status window is kStackCheckFailure and the error in the status window is kThreadStackOverflow. Why does not the maximum thread stack used parameter indicate that an overflow has occurred? Is VDK not aware of the stack demands of the nested interrupts?


Thank you in advance for any information,