Closed bruce30262 closed 1 year ago
@scwuaptx I think I've found the root cause.
Somehow in libc-2.27 _int_free()
became inline in __libc_free()
so it won't call _int_free
, it just jump to a certain address in _libc_free()
to free the memory.
To resolve the issuse, is it OK for us to trace the malloc/free call by setting the breakpoint in __libc_free()
instead of _int_free()
?
Environment
Detail
testing program:
While using
tracemalloc on/off
, angelheap successfully trace themalloc()
function call, but not thefree()
call. This cause some error inparseheap
and overlapped chunk detecting.For some unknown reason, glibc did not run into
_int_free()
in glibc 2.27.Any idea how to fix it ?