[petsc-dev] valgrind appears to show memory leak related to	PetscViewerBinaryOpen
    Barry Smith 
    bsmith at mcs.anl.gov
       
    Wed Jun  1 11:20:07 CDT 2011
    
    
  
   Brad,
    The problems valgrind reports are all due to errors in opempi. If you use --download-mpich that installs a "clean" version of MPICH that has no memory errors.
   The [0] means process 0. 
   The "memory leak reported by -malloc_dump is due to bad example code 
err = PetscViewerBinaryCreate(PETSC_COMM_WORLD, &viewer);CHKERRQ(err);
  err = PetscViewerBinaryOpen(PETSC_COMM_WORLD, "myviewer.dat", FILE_MODE_WRITE, &viewer); CHKERRQ(err);
    There is no reason for the line PetscViewerBinaryCreate(). It creates an (unfilled) binary viewer but then PetscViewerBinaryOpen() lies on top of it a filled one, thus leaking the previous memory.
   There is no reason for the existence of PetscViewerBinaryCreate(), I am removing it from PETSc-dev.
    Barry
  On Jun 1, 2011, at 11:05 AM, Brad Aagaard wrote:
> Hi all:
> 
> Valgrind is suggesting that I may have a memory leak associated with PetscViewer objects in PyLith. I created a simple example (attached) that reproduces the valgrind message.
> 
> Is there really a memory leak associated with PetscMallocAlign() or is valgrind just confused?
> 
> I also ran the example with the -malloc -malloc_debug -malloc_dump flags. What do the values in square brackets mean? Does [0] indicate memory was freed or not freed? The FAQ on use of -malloc doesn't appear to discuss what the output means.
> 
> Logs from running the example in valgrind and with the malloc flags are also attached.
> 
> Thanks,
> Brad
> <log_malloc.txt><log_valgrind.txt><test_viewer.cc>
    
    
More information about the petsc-dev
mailing list