Closed danielinux closed 8 years ago
@maximevince cannot find the root cause. Seems to happen on both kernel and user pool. Somewhat an internal operation is corrupting the "->next" pointer for the last block. Workaround for now is checking if blk->magic is valid while visiting the list.
Workaround is not working on my end. (F429i-disco)
@maximevince is investigating on the issue. Perhaps we can change the malloc design a bit (e.g. do we need f_compact after every free?). Most likely there is a critical section we are not taking into account in one of the operations (free, split, merge, compact).
Fixed in eed4d79
:+1:
possibly due to concurrency, the malloc_block[] list array may end up containing invalid entries in the tail (wrong last ->next pointer?)