phuw wrote on Wednesday, October 26, 2016:
hi eddy, I understand your frustration, I have the same issue and I ended up in the same place.
And to make this clear just at the beginning: I also do not think there is something wrong with the RTOS code. However it is very difficult to find the root cause.
I figured out that I end up in the same loop because the item to be inserted is already inserted in the same list.
Hint for the RTOS team: add a test of pvContainer like this:
configASSERT(pxNewListItem->pvContainer == NULL);
That means for me: it looks like I get twice the call of osSemaphoreWait on the same semaphore. or maybe that means: the task is executed even it is supposed to be suspended.
I don’t think there is an issue with stack or data corruption like wrong pointers since the values look all sane.
I tried to figure out, what could be wrong with the interrupt priorities but since all interrupts (except the one for osSystickHandler ) having values of the same or above configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY, I can’t see a possible cause of wrong priorities.
Did you find the root cause of your issue? Just not having a break point is not working for me.