[petsc-users] valgrind errors on vecscattercreatetoAll

Smith, Barry F. bsmith at mcs.anl.gov
Thu Jan 18 17:00:08 CST 2018


   This is a known issue without a perfect solution.   

   The problem is that by default PETSc fortran types, like type(tKSP) are not initialized but we want to check if they are a special null character, for example PETSC_NULL_KSP. So we could initialize them but then they cannot be used in common blocks (since default initialized Fortran90 types cannot be used in common blocks; some strange feature of Fortran 90)

   In next you can configure with the option -with-fortran-type-initialize=1 and the valgrind errors will go away, but then there cannot be Fortran datatypes into common blocks.

  Barry

It may be we should make -with-fortran-type-initialize=1 the default but this will break some PETSc Fortran examples that use common blocks. We should rewrite those examples not to use common blocks but who volunteers?






> On Jan 18, 2018, at 4:11 PM, Randall Mackie <rlmackie862 at gmail.com> wrote:
> 
> The very simple attached program throws lots of valgrind errors.
> I am using pets 3.8.3, compiled with the following options:
> 
>  
> ./configure \
>   --with-debugging=1 \
>   --with-fortran=1 \
>   --download-mpich=../mpich-3.3a2.tar.gz \
>  
> 
> The makefile, run file, and valgrind output are also attached.
> 
> 
> Randy M.
> 
> 
> 
> 
> <cmd_test><makefile><test.F90><valgrind.txt>



More information about the petsc-users mailing list