Mark, Look at the PetscFree() macro; it does set the pointer to null after freeing.
Denis, Valgrind the code next > On Feb 7, 2017, at 4:57 PM, Mark Adams <[email protected]> wrote: > > This is failing on a test for a data cache being NULL. It is not. It is in > the reset routine, which might not be used by many people. This code is > pretty stable as far as I know, but maybe someone changed something in here. > This is probably a false positive -- you could just comment out that line > ("this should not happen, cleaned up in SetUp") in gamg.c:38 > > This data is freed in a few places with something like: > > ierr = PetscFree(pc_gamg->data);CHKERRQ(ierr); > > But, not set to NULL. > > Perhaps PetscFree should be called with the address of the pointer so that it > can NULL it or explicitly zeroed out. > > PETSc: what is the proper way to do this? > > Mark > > > On Tue, Feb 7, 2017 at 4:51 PM, Denis Davydov <[email protected]> wrote: > Dear all, > > I rerun calculations (unit tests) which used to work with slightly older > versions of PETSc/SLEPc (a year ago, or so) and > see the "KSPSolve has not converged” error for shift and invert > transformation with gamg preconditioner (below). > Shifted matrix is SPD, could have bad condition number but it worked before. > > Judging from a pre-last line in the log below, something is wrong with GAMG > or its interaction with SLEPc. > > Regards, > Denis. > > [0]PETSC ERROR: Configure options > --prefix=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/petsc-3.7.5-e35uxj5pf7ndtedbnzvq7dot5oie3psc > --with-ssl=0 --with-x=0 --download-c2html=0 --download-sowing=0 > --download-hwloc=0 --with-mpi=1 > --with-mpi-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/openmpi-2.0.2-oos4cxprn2bislzhc3rbc3lo4dadginw > --with-precision=double --with-scalar-type=real --with-shared-libraries=1 > --with-debugging=0 --with-64-bit-indices=0 > --with-blas-lapack-lib=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/openblas-0.2.19-xg7etkjyo7xjnvuojsdc2xoixesxoerh/lib/libopenblas.dylib > --with-metis=1 > --with-metis-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/metis-5.1.0-c2muo3b6k5aea2743g34s35u2ve23yxq > --with-boost=0 --with-hdf5=1 > --with-hdf5-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/hdf5-1.10.0-patch1-kwkdkp5mo4olqpkitojab3xg3xhl6gfz > --with-hypre=1 > --with-hypre-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/hypre-2.11.1-dprfz6t4t24wesj74dcfdtajwm5n5qzu > --with-parmetis=1 > --with-parmetis-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/parmetis-4.0.3-tm5dd6fqnbw6hiepajhkvmqk42xrrgos > --with-mumps=1 > --with-mumps-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/mumps-5.0.2-4pwiz7bplhnmk2lfvg746u4pq4z5wuc3 > --with-scalapack=1 > --with-scalapack-dir=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/netlib-scalapack-2.0.2-gu4tjf4bjvtia3ohzjqbickedmywqslk > > --with-superlu_dist-include=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/superlu-dist-5.1.1-hut4gapp5v6qzvjlqahattdvr3tyynoy/include > > --with-superlu_dist-lib=/Users/davydden/spack/opt/spack/darwin-sierra-x86_64/clang-8.0.0-apple/superlu-dist-5.1.1-hut4gapp5v6qzvjlqahattdvr3tyynoy/lib/libsuperlu_dist.a > --with-superlu_dist=1 > [0]PETSC ERROR: #1 KSPSolve() line 847 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-zUUkMX/petsc-3.7.5/src/ksp/ksp/interface/itfunc.c > [0]PETSC ERROR: #2 PCGAMGOptProlongator_AGG() line 1227 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-zUUkMX/petsc-3.7.5/src/ksp/pc/impls/gamg/agg.c > [0]PETSC ERROR: #3 PCSetUp_GAMG() line 581 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-zUUkMX/petsc-3.7.5/src/ksp/pc/impls/gamg/gamg.c > [0]PETSC ERROR: #4 PCSetUp() line 968 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-zUUkMX/petsc-3.7.5/src/ksp/pc/interface/precon.c > [0]PETSC ERROR: #5 KSPSetUp() line 390 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-zUUkMX/petsc-3.7.5/src/ksp/ksp/interface/itfunc.c > [0]PETSC ERROR: #6 STSetUp_Sinvert() line 153 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-5WvuFP/slepc-3.7.3/src/sys/classes/st/impls/sinvert/sinvert.c > [0]PETSC ERROR: #7 STSetUp() line 301 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-5WvuFP/slepc-3.7.3/src/sys/classes/st/interface/stsolve.c > [0]PETSC ERROR: #8 EPSSetUp() line 205 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-5WvuFP/slepc-3.7.3/src/eps/interface/epssetup.c > [0]PETSC ERROR: #9 EPSSolve() line 89 in > /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-5WvuFP/slepc-3.7.3/src/eps/interface/epssolve.c > ***[0]PCReset_GAMG this should not happen, cleaned up in SetUp > ERROR: Uncaught exception in MPI_InitFinalize on proc 0. Skipping > MPI_Finalize() to avoid a deadlock. > > > >
