configASSERT( pxLink->pxNextFreeBlock == NULL );

Why my project stop in this assert:configASSERT( pxLink->pxNextFreeBlock == NULL ); It,s in vPortFree.

configASSERT( pxLink->pxNextFreeBlock == NULL );

This is the debug massage:

configASSERT( pxLink->pxNextFreeBlock == NULL );

configASSERT( pxLink->pxNextFreeBlock == NULL );

…because the block being freed was either not first allocated by pvPortMalloc(), or was allocated by pvPortMalloc() but has since been corrupted, or was allocated by pvPortMalloc() but has already been freed. In all cases – it means the block you are trying to free is not valid.

configASSERT( pxLink->pxNextFreeBlock == NULL );

The photo is much to big.Please look it in the new title bar or save in the local.

configASSERT( pxLink->pxNextFreeBlock == NULL );

the block you are trying to free is not valid
It may be helpful to look at the call-stack when the ASSERT is entered. Look at what place you’re freeing a memory block. Check if you have freed it already. Or maybe you’re freeing an uninitialised pointer? If not, things are a bit more complex. You will have to see if there is code writing outside a given space. Especially code that write in the heap space is suspect. Check all parameters of memset() and memcpy(). Regards.

configASSERT( pxLink->pxNextFreeBlock == NULL );

Oh,maybe the problem is I delete some tasks doubly.