Hi,

using openmpi 1.7.5 I observe quick growth of memory allocated by our program, 
and compiling it with '-O1 -g -fno-omit-frame-pointer -fsanitize=leak' using 
gcc 4.9, they seem to originate from within  openmpi. As an example:

Direct leak of 32000 byte(s) in 200 object(s) allocated from:
    #0 0x7fbe57737793 in __interceptor_calloc 
../../../../gcc/libsanitizer/lsan/lsan_interceptors.cc:89
    #1 0x7fbe58526375 in mca_coll_base_comm_select 
../../../../ompi/mca/coll/base/coll_base_comm_select.c:144
    #2 0x7fbe584d664b in ompi_comm_activate 
../../ompi/communicator/comm_cid.c:692
    #3 0x7fbe584d2c7f in ompi_comm_split ../../ompi/communicator/comm.c:582
    #4 0x7fbe58501231 in PMPI_Comm_split 
/data/vjoost/openmpi-1.7.5/build/ompi/mpi/c/profile/pcomm_split.c:68
    #5 0x7fbe587b6e84 in ompi_comm_split_f 
/data/vjoost/openmpi-1.7.5/build/ompi/mpi/fortran/mpif-h/profile/pcomm_split_f.c:74
    #6 0x1c0382e in __message_passing_MOD_mp_comm_split 
/data/vjoost/clean/cp2k/cp2k/src/common/message_passing.F:1592

which corresponds to (coll_base_comm_select.c:144) :

    /* TODO -- remove me for 1.9.x */
    comm->c_coll.neigh = calloc (1, sizeof (*comm->c_coll.neigh));

I'm wondering if this variable gets freed upon freeing the communicator.

Thanks in advance,

Joost

Reply via email to