[mpich-discuss] clean up after MPI_Cart_create
Rajeev Thakur
thakur at mcs.anl.gov
Thu Mar 18 10:24:53 CDT 2010
Can you send us a small test program that fails?
> -----Original Message-----
> From: mpich-discuss-bounces at mcs.anl.gov
> [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of burlen
> Sent: Thursday, March 18, 2010 10:21 AM
> To: mpich-discuss at mcs.anl.gov
> Subject: Re: [mpich-discuss] clean up after MPI_Cart_create
>
> I tried it, but it crashes, some info below. The program is
> in fortran.
> The first member of the user defined type c is the comm.
>
> 0-1: (gdb) p c
> 0: $1 = ( -2080374780, (.TRUE., .TRUE., .TRUE.), .TRUE., 2,
> (2, 1, 0), (0, 0, 0), 2, ( (1, 512, 1, 512, 1, 512) ), ( (1,
> 512, 1, 256, 1, 512) ) )
> 1: $1 = ( -2080374782, (.TRUE., .TRUE., .TRUE.), .TRUE., 2,
> (2, 1, 0), (1, 0, 0), 2, ( (1, 512, 1, 512, 1, 512) ), ( (1,
> 512, 257, 512, 1, 512) ) )
> 0-1: (gdb) n
> 0-1: 79 call MPI_Comm_free(c%Comm)
> 0-1: (gdb) n
> 0-1:
> 0-1: Program received signal SIGSEGV, Segmentation fault.
> 0-1: 0x00007ffff78080d9 in pmpi_comm_free_ (v1=<value optimized out>,
> ierr=0x0)
> 0-1: at comm_freef.c:190
> 0-1: 190 *ierr = MPI_Comm_free( (MPI_Comm *)(v1) );
>
>
> Rajeev Thakur wrote:
> > Did you do a Comm_free?
> >
> > Rajeev
> >
> >
> >> -----Original Message-----
> >> From: mpich-discuss-bounces at mcs.anl.gov
> >> [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of burlen
> >> Sent: Thursday, March 18, 2010 5:50 AM
> >> To: mpich-discuss at mcs.anl.gov
> >> Subject: [mpich-discuss] clean up after MPI_Cart_create
> >>
> >> Is there a way to clean up after MPI_Cart_create ? Other wise it
> >> leaks some resources and pollutes valgrind output.
> >>
> >> Thanks
> >> Burlen
> >>
> >>
> >> ==22729== Memcheck, a memory error
> >> detector
> >>
> >>
> >> ==22729== Copyright (C) 2002-2009, and GNU GPL'd, by
> Julian Seward et
> >> al.
> >> ==22729== Using Valgrind-3.5.0-Debian and LibVEX; rerun
> with -h for
> >> copyright info
> >> ==22729== Command:
> >> ./TestSubArrayWriter
> >>
> >>
> >> ==22729==
> >>
> >>
> >> leaked context IDs detected: mask=0x54b31a0
> >> mask[0]=0x7fffffff
> >> In direct memory block for handle type ATTR, 1 handles are still
> >> allocated
> >> In direct memory block for handle type KEYVAL, 1 handles are still
> >> allocated
> >> In direct memory block for handle type COMM, 1 handles are still
> >> allocated
> >> [0] 8 at [0x0000000006416bf8],
> >> cart_create.c[154]
> >>
> >>
> >> [0] 8 at [0x0000000006416b08],
> >> cart_create.c[152]
> >>
> >>
> >> [0] 8 at [0x0000000006416a18],
> >> cart_create.c[150]
> >>
> >>
> >> [0] 56 at [0x00000000064168f8],
> >> cart_create.c[144]
> >>
> >>
> >> [0] 8 at [0x0000000006416538],
> >> local_proc.c[91]
> >>
> >>
> >> [0] 8 at [0x0000000006416448],
> >> local_proc.c[90]
> >>
> >>
> >> [0] 24 at [0x0000000006416168],
> >> mpid_vc.c[79]
> >>
> >>
> >> ==22729==
> >> ==22729== HEAP SUMMARY:
> >> ==22729== in use at exit: 1,240 bytes in 7 blocks
> >> ==22729== total heap usage: 164 allocs, 149 frees,
> 8,509,866 bytes
> >> allocated
> >> ==22729==
> >> ==22729== 168 bytes in 1 blocks are definitely lost in
> loss record 4
> >> of 7
> >> ==22729== at 0x4C25153: malloc (vg_replace_malloc.c:195)
> >> ==22729== by 0x521C386: MPIU_trmalloc (trmem.c:230)
> >> ==22729== by 0x517DD14: MPIU_Find_local_and_external
> >> (local_proc.c:90)
> >> ==22729== by 0x511FAE1: MPIR_Comm_commit (commutil.c:228)
> >> ==22729== by 0x511E31B: PMPI_Comm_split (comm_split.c:384)
> >> ==22729== by 0x50C06BA: MPIR_Cart_create (cart_create.c:119)
> >> ==22729== by 0x50C1A8F: PMPI_Cart_create (cart_create.c:298)
> >> ==22729== by 0x50C1E7C: MPI_CART_CREATE (cart_createf.c:199)
> >> ==22729== by 0x402EC4:
> >> __cartesiandecompmodule_MOD_createcommunicator
> >> (CartesianDecompModule.f90:194)
> >> ==22729== by 0x40325A:
> >> __cartesiandecompmodule_MOD_initializecartesiandecomp_u
> >> (CartesianDecompModule.f90:66)
> >> ==22729== by 0x40190D: MAIN__ (TestSubArrayWriter.f90:76)
> >> ==22729== by 0x403369: main (in
> >> /home/burlen/ext/MPI-IO/TestSubArrayWriter)
> >> ==22729==
> >> ==22729== 168 bytes in 1 blocks are definitely lost in
> loss record 5
> >> of 7
> >> ==22729== at 0x4C25153: malloc (vg_replace_malloc.c:195)
> >> ==22729== by 0x521C386: MPIU_trmalloc (trmem.c:230)
> >> ==22729== by 0x517DD47: MPIU_Find_local_and_external
> >> (local_proc.c:91)
> >> ==22729== by 0x511FAE1: MPIR_Comm_commit (commutil.c:228)
> >> ==22729== by 0x511E31B: PMPI_Comm_split (comm_split.c:384)
> >> ==22729== by 0x50C06BA: MPIR_Cart_create (cart_create.c:119)
> >> ==22729== by 0x50C1A8F: PMPI_Cart_create (cart_create.c:298)
> >> ==22729== by 0x50C1E7C: MPI_CART_CREATE (cart_createf.c:199)
> >> ==22729== by 0x402EC4:
> >> __cartesiandecompmodule_MOD_createcommunicator
> >> (CartesianDecompModule.f90:194)
> >> ==22729== by 0x40325A:
> >> __cartesiandecompmodule_MOD_initializecartesiandecomp_u
> >> (CartesianDecompModule.f90:66)
> >> ==22729== by 0x40190D: MAIN__ (TestSubArrayWriter.f90:76)
> >> ==22729== by 0x403369: main (in
> >> /home/burlen/ext/MPI-IO/TestSubArrayWriter)
> >> ==22729==
> >> ==22729== 184 bytes in 1 blocks are definitely lost in
> loss record 6
> >> of 7
> >> ==22729== at 0x4C25153: malloc (vg_replace_malloc.c:195)
> >> ==22729== by 0x521C386: MPIU_trmalloc (trmem.c:230)
> >> ==22729== by 0x51A9D59: MPID_VCRT_Create (mpid_vc.c:79)
> >> ==22729== by 0x511E135: PMPI_Comm_split (comm_split.c:365)
> >> ==22729== by 0x50C06BA: MPIR_Cart_create (cart_create.c:119)
> >> ==22729== by 0x50C1A8F: PMPI_Cart_create (cart_create.c:298)
> >> ==22729== by 0x50C1E7C: MPI_CART_CREATE (cart_createf.c:199)
> >> ==22729== by 0x402EC4:
> >> __cartesiandecompmodule_MOD_createcommunicator
> >> (CartesianDecompModule.f90:194)
> >> ==22729== by 0x40325A:
> >> __cartesiandecompmodule_MOD_initializecartesiandecomp_u
> >> (CartesianDecompModule.f90:66)
> >> ==22729== by 0x40190D: MAIN__ (TestSubArrayWriter.f90:76)
> >> ==22729== by 0x403369: main (in
> >> /home/burlen/ext/MPI-IO/TestSubArrayWriter)
> >> ==22729==
> >> ==22729== 552 (216 direct, 336 indirect) bytes in 1 blocks are
> >> definitely lost in loss record 7 of 7
> >> ==22729== at 0x4C25153: malloc (vg_replace_malloc.c:195)
> >> ==22729== by 0x521C386: MPIU_trmalloc (trmem.c:230)
> >> ==22729== by 0x50C07A0: MPIR_Cart_create (cart_create.c:143)
> >> ==22729== by 0x50C1A8F: PMPI_Cart_create (cart_create.c:298)
> >> ==22729== by 0x50C1E7C: MPI_CART_CREATE (cart_createf.c:199)
> >> ==22729== by 0x402EC4:
> >> __cartesiandecompmodule_MOD_createcommunicator
> >> (CartesianDecompModule.f90:194)
> >> ==22729== by 0x40325A:
> >> __cartesiandecompmodule_MOD_initializecartesiandecomp_u
> >> (CartesianDecompModule.f90:66)
> >> ==22729== by 0x40190D: MAIN__ (TestSubArrayWriter.f90:76)
> >> ==22729== by 0x403369: main (in
> >> /home/burlen/ext/MPI-IO/TestSubArrayWriter)
> >> ==22729==
> >> ==22729== LEAK SUMMARY:
> >> ==22729== definitely lost: 736 bytes in 4 blocks
> >> ==22729== indirectly lost: 336 bytes in 2 blocks
> >> ==22729== possibly lost: 0 bytes in 0 blocks
> >> ==22729== still reachable: 168 bytes in 1 blocks
> >> ==22729== suppressed: 0 bytes in 0 blocks
> >> ==22729== Reachable blocks (those to which a pointer was
> >> found) are not shown.
> >> ==22729== To see them, rerun with: --leak-check=full
> >> --show-reachable=yes ==22729== ==22729== For counts of
> detected and
> >> suppressed errors, rerun with: -v ==22729== ERROR SUMMARY:
> 4 errors
> >> from 4 contexts (suppressed: 4 from 4)
> >>
> >> _______________________________________________
> >> mpich-discuss mailing list
> >> mpich-discuss at mcs.anl.gov
> >> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> >>
> >>
> >
> > _______________________________________________
> > mpich-discuss mailing list
> > mpich-discuss at mcs.anl.gov
> > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> >
>
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>
More information about the mpich-discuss
mailing list