Memory Management and lwIP

I’m running FreeRTOS 4.6.0 with heap_2.c and lwIP 1.2.0 on a AT91SAM7X512. Now I ran into a heap management problem. I presume that I run out of free heap blocks of required size but still I found someting strange while debugging in pvPortMalloc(). At some point the search for a suitable free block both values of pxBlock are set to 0xFFFFFFFF. From the way the code is written I would have expected that if no suitable block is found pxBlock is equal to xEnd. But in my case this leads to dabt. Unfortunately I can’t reproduce this problem anymore but I had this problem sometimes in the past

Memory Management and lwIP

I think likely that something else went bad first and this is just a symptom of some corruption.