I’m using FreeRTOS 7.5.3 and lwIP 1.4.1 on a NXP LPC1776 Cortex M3 device. The development environment I use is IAR embedded workbench and the C-SPY debugger.
After about 30 minutes of operation without any problems receiving data via ethernet stops. Using the debugger I could see that the receive interrupt is fired and the interrupt handler tries to wakeup the receive task by calling xQueueGenericSendFromISR. This fails because the queue is not empty.
But the receive task remains in the blocked state. The task stays in xQueueGenericReceive with BlockTime set to portMAX_DELAY.