Joseph, thanks for the report, this is a real memory leak. i fixed it in master, and the fix is now being reviewed. meanwhile, you can manually apply the patch available at https://github.com/open-mpi/ompi/pull/2418.patch
Cheers, Gilles On Tue, Nov 15, 2016 at 1:52 AM, Joseph Schuchart <schuch...@hlrs.de> wrote: > Hi Luke, > > Thanks for your reply. From my understanding, the wrappers mainly help catch > errors on the MPI API level. The errors I reported are well below the API > layer (please correct me if I'm wrong here) However, I re-ran the code with > the wrapper loaded via LD_PRELOAD and without the suppresion file and the > warnings issued by Valgrind for the shmem segment handling code and leaking > memory from MPI_Win_allocate_shared are basically the same. Nevertheless, I > am attaching the full log of that run as well. > > Cheers > Joseph > > > > On 11/14/2016 05:07 PM, D'Alessandro, Luke K wrote: >> >> Hi Joesph, >> >> I don’t have a solution to your issue, but I’ve found that the valgrind >> mpi wrapper is necessary to eliminate many of the false positives that the >> suppressions file can’t. >> >> >> http://valgrind.org/docs/manual/mc-manual.html#mc-manual.mpiwrap.gettingstarted >> >> You should LD_PRELOAD the libmpiwrap from your installation. If it’s not >> there then you can rebuild valgrind with CC=mpicc to have it built. >> >> Hope this helps move you towards a solution. >> >> Luke >> >>> On Nov 14, 2016, at 5:49 AM, Joseph Schuchart <schuch...@hlrs.de> wrote: >>> >>> All, >>> >>> I am investigating an MPI application using Valgrind and see a load of >>> memory leaks reported in MPI-related code. Please find the full log >>> attached. Some observations/questions: >>> >>> 1) According to the information available at >>> https://www.open-mpi.org/faq/?category=debugging#valgrind_clean the >>> suppression file should help get a clean run of an MPI application despite >>> several buffers not being free'd by MPI_Finalize. Is this assumption still >>> valid? If so, maybe the suppression file needs an update as I still see >>> reports on leaked memory allocated in MPI_Init? >>> >>> 2) There seem to be several invalid reads and writes in the >>> opal_shmem_segment_* functions. Are they significant or can we regard them >>> as false positives? >>> >>> 3) The code example attached allocates memory using >>> MPI_Win_allocate_shared and frees it using MPI_Win_free. However, Valgrind >>> reports some memory to be leaking, e.g.: >>> >>> ==4020== 16 bytes in 1 blocks are definitely lost in loss record 21 of >>> 234 >>> ==4020== at 0x4C2DB8F: malloc (in >>> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) >>> ==4020== by 0xCFDCD47: component_select (osc_sm_component.c:277) >>> ==4020== by 0x4F39FC3: ompi_osc_base_select (osc_base_init.c:73) >>> ==4020== by 0x4E945DC: ompi_win_allocate_shared (win.c:272) >>> ==4020== by 0x4EF6576: PMPI_Win_allocate_shared >>> (pwin_allocate_shared.c:80) >>> ==4020== by 0x400E96: main (mpi_dynamic_win_free.c:48) >>> >>> Can someone please confirm that we the way the shared window memory is >>> free'd is actually correct? I noticed that the amount of memory that is >>> reported to be leaking scales with the number of windows that are allocated >>> and free'd. In our case this happens in a set of unit tests that all >>> allocate their own shared memory windows and thus the amount of leaked >>> memory piles up quite a bit. >>> >>> I build the code using GCC 5.4.0 using OpenMPI 2.0.1 and ran it on a >>> single node. How to reproduce: >>> >>> $ mpicc -Wall -ggdb mpi_dynamic_win_free.c -o mpi_dynamic_win_free >>> >>> $ mpirun -n 2 valgrind --leak-check=full >>> --suppressions=$HOME/opt/openmpi-2.0.1/share/openmpi/openmpi-valgrind.supp >>> ./mpi_dynamic_win_free >>> >>> Best regards, >>> Joseph >>> >>> -- >>> Dipl.-Inf. Joseph Schuchart >>> High Performance Computing Center Stuttgart (HLRS) >>> Nobelstr. 19 >>> D-70569 Stuttgart >>> >>> Tel.: +49(0)711-68565890 >>> Fax: +49(0)711-6856832 >>> E-Mail: schuch...@hlrs.de >>> >>> >>> <valgrind_mpi.log><mpi_dynamic_win_free.c>_______________________________________________ >>> users mailing list >>> users@lists.open-mpi.org >>> https://rfd.newmexicoconsortium.org/mailman/listinfo/users >> >> _______________________________________________ >> users mailing list >> users@lists.open-mpi.org >> https://rfd.newmexicoconsortium.org/mailman/listinfo/users > > > -- > Dipl.-Inf. Joseph Schuchart > High Performance Computing Center Stuttgart (HLRS) > Nobelstr. 19 > D-70569 Stuttgart > > Tel.: +49(0)711-68565890 > Fax: +49(0)711-6856832 > E-Mail: schuch...@hlrs.de > > > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/users _______________________________________________ users mailing list users@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/users