An FUM message indicates that your program is trying to free unallocated memory (duplicate free or free of bad heap pointer).
An FUM error often occurs due to confusion about pointer ownership. Only the owner should free heap objects.
If there are many references to a heap object with no one reference being clearly the longest lived, the object referenced might have a reference count. Failure to maintain the reference count properly can also lead to this error.