Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] memory leaks upon dup/split/create of communicators?
From: VandeVondele Joost (joost.vandevondele_at_[hidden])
Date: 2014-04-28 11:04:24


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