[OpenAFS-devel] *** glibc detected *** free(): invalid pointer: 0xb7e0a010 ***

Harald Barth haba@pdc.kth.se
Thu, 10 Mar 2005 20:49:59 +0100 (MET)


> LWP

So is LWP making the malloc check dizzy (and can be disabled with
export MALLOC_CHECK_=0) or do we have a real issue ie freeing
something twice or something that was not malloced?

BTW:

Seems that MALLOC_CHECK_ does not behave according to the manpage.
The check should be _off_ when MALLOC_CHECK_ is unset. 

man malloc
...
       Recent versions of Linux libc (later than 5.4.23) and GNU  libc  (2.x)
       include a malloc implementation which is tunable via environment vari-
       ables.  When MALLOC_CHECK_ is set, a special (less  efficient)  imple-
       mentation  is  used  which  is  designed to be tolerant against simple
       errors, such as double calls of free()  with  the  same  argument,  or
       overruns  of a single byte (off-by-one bugs).  Not all such errors can
       be protected against, however, and memory leaks can result.   If  MAL-
       LOC_CHECK_  is  set  to  0,  any  detected heap corruption is silently
       ignored; if set to 1, a diagnostic is printed on stderr; if set to  2,
       abort() is called immediately.  This can be useful because otherwise a
       crash may happen much later, and the true cause  for  the  problem  is
       then very hard to track down.
...

But it is bahaving like it would be set to 2. Yes, this is FC3 with
glibc-2.3.4-2.fc3.

Harald.