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>