Hi,

I have been doing a lot of testing/fixing lately on our code, using valgrind to find problems. Unfortunately, OpenMPI causes a lot of 'false positives' in our testing due to memory leaks of its own.

It appears that MPI_Init allocates a lot of memory blocks that MPI_Finalize never bothers to clean up. (Perhaps some should be cleaned up during the MPI_Init process itself?) There are also a couple of blocks that are created during MPI_Finalize that are not freed.

Appended is a trivial 'hello world' program which demonstrates this using valgrind. Rerunning with the valgrind --leak-check=full option shows a plethora of objects which are not deallocated.

In these runs, OpenMPI is at version 1.8.1, but older versions also have the problem.

Walter

wws@w6ws-4:/tmp$ cat hellompi.f90
program hellompi
  use mpi
  implicit none

  integer :: mpierr

  call MPI_INIT (ierror=mpierr)
  print *, 'hello world!'
  call MPI_FINALIZE (ierror=mpierr)

end program
wws@w6ws-4:/tmp$ mpif90 --version hellompi.f90
GNU Fortran (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

wws@w6ws-4:/tmp$ mpif90 hellompi.f90
wws@w6ws-4:/tmp$ valgrind a.out
==6897== Memcheck, a memory error detector
==6897== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==6897== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==6897== Command: a.out
==6897==
 hello world!
==6897==
==6897== HEAP SUMMARY:
==6897==     in use at exit: 23,899 bytes in 110 blocks
==6897== total heap usage: 15,436 allocs, 15,326 frees, 14,034,006 bytes allocated
==6897==
==6897== LEAK SUMMARY:
==6897==    definitely lost: 13,159 bytes in 26 blocks
==6897==    indirectly lost: 2,800 bytes in 13 blocks
==6897==      possibly lost: 0 bytes in 0 blocks
==6897==    still reachable: 7,940 bytes in 71 blocks
==6897==         suppressed: 0 bytes in 0 blocks
==6897== Rerun with --leak-check=full to see details of leaked memory
==6897==
==6897== For counts of detected and suppressed errors, rerun with: -v
==6897== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
wws@w6ws-4:/tmp$
wws@w6ws-4:/tmp$
wws@w6ws-4:/tmp$
wws@w6ws-4:/tmp$
wws@w6ws-4:/tmp$ valgrind --leak-check=full a.out
==6932== Memcheck, a memory error detector
==6932== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==6932== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==6932== Command: a.out
==6932==
 hello world!
==6932==
==6932== HEAP SUMMARY:
==6932==     in use at exit: 23,899 bytes in 110 blocks
==6932== total heap usage: 15,438 allocs, 15,328 frees, 14,034,092 bytes allocated
==6932==
==6932== 1 bytes in 1 blocks are definitely lost in loss record 2 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x917CAD0: ???
==6932==    by 0x5AAD346: opal_db_base_store (db_base_fns.c:49)
==6932== by 0x57B12A2: ompi_modex_send_string (ompi_module_exchange.c:119)
==6932==    by 0x57AD42A: ompi_mpi_init (ompi_mpi_init.c:511)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 6 bytes in 1 blocks are definitely lost in loss record 3 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x66BA951: orte_register_params (orte_mca_params.c:719)
==6932==    by 0x66B1042: orte_init (orte_init.c:107)
==6932==    by 0x57AD39C: ompi_mpi_init (ompi_mpi_init.c:464)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 8 bytes in 1 blocks are definitely lost in loss record 4 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0xAFB7C33: ???
==6932==    by 0x57AE12F: ompi_mpi_finalize (ompi_mpi_finalize.c:143)
==6932==    by 0x4E74878: mpi_finalize (pfinalize_f.c:69)
==6932==    by 0x400B9F: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 17 (16 direct, 1 indirect) bytes in 1 blocks are definitely lost in loss record 8 of 89 ==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x917D30D: ???
==6932==    by 0x5AAD58A: opal_db_base_fetch (db_base_fns.c:133)
==6932==    by 0x57FEDF0: ompi_rte_db_fetch (rte_orte_module.c:281)
==6932== by 0x57B12DF: ompi_modex_recv_string (ompi_module_exchange.c:138)
==6932==    by 0x579CE2A: ompi_comm_cid_init (comm_cid.c:164)
==6932==    by 0x57ADF0C: ompi_mpi_init (ompi_mpi_init.c:880)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 24 bytes in 1 blocks are definitely lost in loss record 12 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x917CAD0: ???
==6932==    by 0x5AAD346: opal_db_base_store (db_base_fns.c:49)
==6932==    by 0x57B1179: ompi_modex_send (ompi_module_exchange.c:49)
==6932==    by 0xB5CCE77: ???
==6932==    by 0x57EAC42: mca_btl_base_select (btl_base_select.c:108)
==6932==    by 0xAFB8790: ???
==6932==    by 0x57EA42D: mca_bml_base_init (bml_base_init.c:69)
==6932==    by 0xC2902E6: ???
==6932==    by 0x57FCFA2: mca_pml_base_select (pml_base_select.c:128)
==6932==    by 0x57AD6B9: ompi_mpi_init (ompi_mpi_init.c:604)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==
==6932== 48 bytes in 1 blocks are definitely lost in loss record 31 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x66E3C83: orte_oob_base_select (opal_object.h:467)
==6932==    by 0x66D4E64: orte_ess_base_app_setup (ess_base_std_app.c:128)
==6932==    by 0x833C36E: ???
==6932==    by 0x66B1107: orte_init (orte_init.c:148)
==6932==    by 0x57AD39C: ompi_mpi_init (ompi_mpi_init.c:464)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 53 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796C36: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 54 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796C76: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 55 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796CB5: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 56 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796CF4: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 57 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796D33: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 58 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796D76: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 64 bytes in 1 blocks are definitely lost in loss record 59 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5794DFE: ompi_attr_create_keyval_impl (opal_object.h:467)
==6932==    by 0x579527B: ompi_attr_create_keyval (attribute.c:582)
==6932== by 0x5796DB5: ompi_attr_create_predefined (attribute_predefined.c:225)
==6932==    by 0x57ADA14: ompi_mpi_init (ompi_mpi_init.c:739)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 96 (48 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 61 of 89 ==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5A8E541: open_component (opal_object.h:467)
==6932== by 0x5A8F8F9: mca_base_component_find (mca_base_component_find.c:466) ==6932== by 0x5A9A428: mca_base_framework_components_register (mca_base_components_register.c:57) ==6932== by 0x5A9A8FD: mca_base_framework_register (mca_base_framework.c:107)
==6932==    by 0x5A9A968: mca_base_framework_open (mca_base_framework.c:131)
==6932==    by 0x57AD686: ompi_mpi_init (ompi_mpi_init.c:577)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 96 bytes in 2 blocks are definitely lost in loss record 62 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5A8E541: open_component (opal_object.h:467)
==6932== by 0x5A8F8F9: mca_base_component_find (mca_base_component_find.c:466) ==6932== by 0x5A9A428: mca_base_framework_components_register (mca_base_components_register.c:57) ==6932== by 0x5A9A8FD: mca_base_framework_register (mca_base_framework.c:107)
==6932==    by 0x5A9A968: mca_base_framework_open (mca_base_framework.c:131)
==6932==    by 0x5A9A9B5: mca_base_framework_open (mca_base_framework.c:150)
==6932==    by 0x57AD629: ompi_mpi_init (ompi_mpi_init.c:564)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 160 bytes in 1 blocks are definitely lost in loss record 68 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x999C136: ???
==6932==    by 0x57AD75A: ompi_mpi_init (ompi_mpi_init.c:627)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 160 bytes in 1 blocks are definitely lost in loss record 69 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x999BFB6: ???
==6932==    by 0x57ADB7E: ompi_mpi_init (ompi_mpi_init.c:816)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 160 bytes in 1 blocks are definitely lost in loss record 70 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x999BFB6: ???
==6932==    by 0x57AE1CB: ompi_mpi_finalize (ompi_mpi_finalize.c:222)
==6932==    by 0x4E74878: mpi_finalize (pfinalize_f.c:69)
==6932==    by 0x400B9F: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 184 (96 direct, 88 indirect) bytes in 1 blocks are definitely lost in loss record 71 of 89 ==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5ABF110: opal_hwloc_base_filter_cpus (opal_object.h:467)
==6932== by 0x5AC0D6A: opal_hwloc_base_get_topology (hwloc_base_util.c:226)
==6932==    by 0x57AD7B4: ompi_mpi_init (ompi_mpi_init.c:485)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 199 (80 direct, 119 indirect) bytes in 1 blocks are definitely lost in loss record 72 of 89 ==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x5A98EFD: mca_base_var_enum_create (opal_object.h:467)
==6932==    by 0xCD0B59B: ???
==6932== by 0x5A9A531: mca_base_framework_components_register (mca_base_components_register.c:116) ==6932== by 0x5A9A8FD: mca_base_framework_register (mca_base_framework.c:107)
==6932==    by 0x5A9A968: mca_base_framework_open (mca_base_framework.c:131)
==6932==    by 0x57AD667: ompi_mpi_init (ompi_mpi_init.c:572)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 376 (232 direct, 144 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 89 ==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0xAFB77F4: ???
==6932==    by 0xC28E7D8: ???
==6932==    by 0x57ADA88: ompi_mpi_init (ompi_mpi_init.c:771)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 888 bytes in 1 blocks are definitely lost in loss record 84 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0x57928B4: ompi_free_list_grow (ompi_free_list.c:203)
==6932==    by 0xC28E415: ???
==6932==    by 0x57FD909: mca_pml_v_enable (pml_v_component.c:217)
==6932==    by 0x57ADA5C: ompi_mpi_init (ompi_mpi_init.c:760)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 2,400 bytes in 1 blocks are definitely lost in loss record 87 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0xA5A2FE6: ???
==6932==    by 0xA5A2EC8: ???
==6932==    by 0xC290610: ???
==6932== by 0x5A9070C: mca_base_framework_components_open (mca_base_components_open.c:173)
==6932==    by 0x57FC9F6: mca_pml_base_open (pml_base_frame.c:187)
==6932==    by 0x5A9A9B5: mca_base_framework_open (mca_base_framework.c:150)
==6932==    by 0x57AD648: ompi_mpi_init (ompi_mpi_init.c:568)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 2,480 (80 direct, 2,400 indirect) bytes in 1 blocks are definitely lost in loss record 88 of 89 ==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0xA5A2EAC: ???
==6932==    by 0xBE632D0: ???
==6932== by 0x5A9070C: mca_base_framework_components_open (mca_base_components_open.c:173)
==6932==    by 0x57FC9F6: mca_pml_base_open (pml_base_frame.c:187)
==6932==    by 0x5A9A9B5: mca_base_framework_open (mca_base_framework.c:150)
==6932==    by 0x57AD648: ompi_mpi_init (ompi_mpi_init.c:568)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== 8,208 bytes in 1 blocks are definitely lost in loss record 89 of 89
==6932== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6932==    by 0xCCEDD99: ???
==6932==    by 0x5A6A708: opal_free_list_grow (opal_object.h:424)
==6932==    by 0xCCE9649: ???
==6932==    by 0x57F90B4: ompi_osc_base_find_available (osc_base_frame.c:48)
==6932==    by 0x57AD929: ompi_mpi_init (ompi_mpi_init.c:661)
==6932==    by 0x57CE572: PMPI_Init (pinit.c:84)
==6932==    by 0x4E777C4: MPI_INIT (pinit_f.c:82)
==6932==    by 0x400B33: MAIN__ (in /tmp/a.out)
==6932==    by 0x400BD5: main (in /tmp/a.out)
==6932==
==6932== LEAK SUMMARY:
==6932==    definitely lost: 13,159 bytes in 26 blocks
==6932==    indirectly lost: 2,800 bytes in 13 blocks
==6932==      possibly lost: 0 bytes in 0 blocks
==6932==    still reachable: 7,940 bytes in 71 blocks
==6932==         suppressed: 0 bytes in 0 blocks
==6932== Reachable blocks (those to which a pointer was found) are not shown.
==6932== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==6932==
==6932== For counts of detected and suppressed errors, rerun with: -v
==6932== ERROR SUMMARY: 25 errors from 25 contexts (suppressed: 0 from 0)
wws@w6ws-4:/tmp$

Reply via email to