cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to locate the OS resource that is blocking the task

SJant.1
Associate III

Hi there,

I am using STM32CubeIDE for STM Nucleo F767ZI. I am running a FreeRTOS application on the Nucleo and I am seeing that my high-priority task is blocked because of an unavailable resource and I have its address as well. But I am not getting able to find what that resource actually is. Can anyone help me if you have any idea on this, please?

BTW, I have checked the addresses of all the semaphores even those which are irrelevant to this task, but none of those match the address shown in below picture.

Attached is the screenshot of the FreeRTOS task list that shows the tasks and the resource its waiting on. Any help would be greatly appreciated, thanks.0693W00000Nsc1rQAB.png

2 REPLIES 2
Markus GIRDLAND
ST Employee

Hi there,

In order to see a human readable name for resources such as, queues, mutexes, semaphores, etc, you might need to add the resources to the queue registry in the code, more information about that here.

You could also try to enable the new “RTOSProxy�? in the debug settings (if not done already). This feature will provide full back-trace of the tasks in the “Debug View�? and allow you to see the code where the task was blocked. 

Hi Markus,

Thank you for your rightful suggestion of using vQueueAddToRegistry(). It actually shows me the semaphore name that is blocking my application and that helps me.

RTOSProxy somehow is not working for me and if I select it, it's saying invalid settings chosen. But right now the vQueueAddToRegistry has done the work for me.

Thank you again.