It is a feature of glibc to detect corruption before it happens. It is a bug in the program that caused it. Invalid pointer, free() of memory that's already gone, etc.

You can control it on a per-run basis by setting the MALLOC_CHECK_ environment variable. If you explicitly set this variable it performs even more strict tests than normal.

0 -- Do not generate an error message, and do not kill the program 1 -- Generate an error message, but do not kill the program 2 -- Do not generate an error message, but kill the program 3 -- Generate an error message and kill the program

There is a "nomalloccheck" USE flag for glibc. Perhaps setting that will turn off this feature? I haven't tried it (glibc compile is so fast!)