This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Thread blocked on Internal Error. "Invalid Task internal state: pend element address (0x0) is not within task's stack"

Other Parts Discussed in Thread: CC2650

Hello,

I'm developing on the cc2650 using TI-RTOS and i'm running into what i think is an issue with the scheduler.

I have a relatively simple application. It consist of one thread functioning as a state machine, two dynamically created HWIs, two SWI's to run de-bouncing on the interrupts generated from the HWIs. I use one semaphore posted by the SWIS and pended by the task. I use this to switch through states. I also have UART communication within the task and i'm using some pin_setoutputvalue() commands to toggle LEDs. That is pretty much the entirety of the application.

At random places in code, and random points in time the thread will become blocked on an Internal Error as can be seen using ROV. The error is "Invalid Task internal state: pend element address (0x0) is not within task's stack" The task stack peak is under its stack size limit (although it is highlighted in red) and the system stack (ROV->HWI->Module) peak is under its size limit as well.

Thanks,

Ryan

  • Can you post a picture of ROV? Have you tried increasing the system and task stack sizes?
  • Above are the ROV screenshots for the Task and HWI modules. I have the cursor over the red "Internal Error" in the task module so you can see the message. I have tried increasing both the task and system stacks, no luck.

  • It looks like the Task_Object is corrupted or a NULL pointer was passed in for some action. Can you narrow down what action is causing the problem? Can you add a snapshot of the Task_Object memory (0x200019cc). Include 16 or some bytes before the address. Show at least 100 bytes after 0x200019cc also. Is the task statically or dynamically created (or dynamically constructed)?

    What version of TI-RTOS are you using? Does the problem happen if you remove the UART portion? What about if you remove the PIN calls?