[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