On 07/02/2011 03:05 AM, Nikos Chantziaras wrote:
This is driving me nuts. Since a few days ago, glibc will abort programs
with a:
*** glibc detected *** program: free(): invalid pointer: ... ***
or similar error message. I have no idea which package was updated that
triggered this. I did *not* emerge glibc (qlop confirms that I emerged
glibc 3 months ago.)
The crashing programs *are* buggy. The problem is that I can't shut up
glibc and prevent it from interfering. It's extremely annoying and I
feel the urge to kill baby bunnies. Please help!
Argh, I found the problem in an unlikely place. It's KDE 4.7 RC1 (!).
It seems there's an environment variable called MALLOC_CHECK_ that
instructs glibc to perform runtime checks on every program that runs.
kde-base/kdebase-startkde-4.6.90 installs a /usr/bin/startkde that sets
MALLOC_CHECK_=3. This results in every program that runs after starting
KDM to be runtime checked. It also makes the system slower (Kwin here
felt very sluggish and I also got a hefty performance loss when running
another OS in a virtual machine.)
Note to others running 4.7 RC1: setting MALLOC_CHECK_=0 does not solve
the performance problem; glibc still checks, but just doesn't abort or
print errors. To get rid of this, you need to edit /usr/bin/startkde
and remove the 'if' section that sets MALLOC_CHECK_.