Closed rodarima closed 2 years ago
Hello,
Attached you will find a version of Extrae with the calls made to xtr_mem_tracked_allocs_remove inside the instrumented zone, avoiding this infinite loop. Try if this solution works for you, and if you are working with MareNostrum we can set up an install there if you want.
The new version seems to have introduced a problem with the free interception. I'm using a OmpSs-2 program with the
libnanosmpitrace.so
library, following this example.It seems that the function
xtr_mem_tracked_allocs_remove
is called in the free wrapper, which in turn executes the TLS implementation of the glibc, which calls the free function, causing an infinite loop, and later a segfault. I believe this problem is caused by the access to themallocentries
variable:https://github.com/bsc-performance-tools/extrae/blob/f5f80f6314a8e87e75f2c068b73c73e084760e34/src/tracer/wrappers/MALLOC/malloc_wrapper.c#L143
https://github.com/bsc-performance-tools/extrae/blob/f5f80f6314a8e87e75f2c068b73c73e084760e34/src/tracer/wrappers/MALLOC/malloc_wrapper.c#L87
Here is the backtrace: