It would be great to add list size checking inside uxListRemove function.
It can be something like this
configASSERT(pxList->uxNumberOfItems != 0);
I spent 3 days to debug situation when one task was blocked on queue receive with some nonzero and not infinite timeout and the second task deleted this queue. I started debugging and found that the first’s task events list has uxNumberOfItems = 0xffffffff when xQueueReceive returned by timeout.
Also it’s reasonable to add assert inside vQueueDelete which checks that there are no tasks blocked on the queue.
Thank you for your suggestion. Could you please create a pull request for the kernel? Our expert will review and evaluate it. We truly appreciate your contribution to the kernel.