Assert failed: prvProcessReceivedCommands timers.c:862 (xResult)

I’m getting an assert in the following kernel code:

if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 )
    xResult = xTimerGenericCommand( pxTimer, tmrCOMMAND_START_DONT_TRACE, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, NULL, tmrNO_DELAY );
    configASSERT( xResult );
    ( void ) xResult;

As this only happens sporadically, I’m not sure what I can do about it. Can you think of a scenario where xTimerGenericCommand would fail?

CPU load is about 30%, free memory about 100K, number of tasks is 9.

Is it possible that timer command queue is not large enough? Can you try increasing the value of configTIMER_QUEUE_LENGTH?


I just wanted to follow up and see if you had a chance to try out Gaurav’s suggestion to try and increase the value of configTIMER_QUEUE_LENGTH ?

Was that suggestion helpful or do you require any further assistance?