Assertion in malloc.c for 4.7.99.2

Paul Black paul.black at oxsemi.com
Wed Aug 22 10:24:45 CDT 2007


Joel Sherrill wrote:
> My guess is that this indicates that an address is being freed
> that doesn't match the one allocated.

Cheers. That helped.

Adding debug output to free and malloc showed exactly that. The
erroneous free is occurring in rtems_disk_io_done(). It's freeing a 256
byte block of memory then calling free with the previously freed address
+ 8 - oops!

The reason why it got there because I hadn't configured
CONFIGURE_MAXIMUM_MESSAGE_QUEUES and things were being tidied up.

I'll see if I can deduce why it's freeing memory that it didn't allocate

-- 
Paul




More information about the rtems-users mailing list