The logs suggest a buffer overflow. It will require to find the previous allocated memory chuck that writes over the beginning of the one being freed (the next to one doing the overflow).
I assume it is not easy to get access to the system so I can investigate the corefile with gdb?!? Are you familiar with gdb and C poiners?