[petsc-users] Valgrind (invalid read) error with ASM in petsc-dev

Barry Smith bsmith at mcs.anl.gov
Sun Jun 29 12:41:23 CDT 2014


   Hmm, what code is calling the ISStrideGetInfo().  It is a ISGENERAL so ISStrideGetInfo() shouldn’t get called on it.

   Barry

==22745== Invalid read of size 4
==22745==    at 0x4231567: ISStrideGetInfo (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
==22745==    by 0x678C5DF: ???


On Jun 29, 2014, at 11:28 AM, Tabrez Ali <stali at geology.wisc.edu> wrote:

> Hello
> 
> I get the following Valgrind error (below) while using ASM in petsc-dev. No such error occurs with petsc-3.4.x. Any ideas as to what could be wrong?
> 
> Thanks in advance.
> 
> Tabrez
> 
> 
> ==22745== Memcheck, a memory error detector
> ==22745== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
> ==22745== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
> ==22745== Command: ./defmod -f examples/two_quads_qs.inp -log_summary
> ==22745==
> Reading input ...
> Reading mesh data ...
> Forming [K] ...
> Forming RHS ...
> Setting up solver ...
> Solving ...
> ==22745== Invalid read of size 4
> ==22745==    at 0x4231567: ISStrideGetInfo (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x678C5DF: ???
> ==22745==  Address 0x678c3ec is 0 bytes after a block of size 12 alloc'd
> ==22745==    at 0x40278A4: memalign (vg_replace_malloc.c:694)
> ==22745==    by 0x40FBE89: PetscMallocAlign (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x42288FD: ISCreate_General (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x4221494: ISSetType (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x4227745: ISCreateGeneral (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x45F104F: MatIncreaseOverlap_SeqAIJ (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x473B4F2: MatIncreaseOverlap (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x4A9CFC0: PCSetUp_ASM (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x49BF314: PCSetUp (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x4ABAB25: KSPSetUp (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x4ABC8A8: KSPSolve (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==    by 0x4AE2DE0: kspsolve_ (in /home/stali/petsc-dev/arch-linux2-c-debug/lib/libpetsc.so.3.05.0)
> ==22745==
> Recovering stress ...
> Cleaning up ...
> Finished
> ************************************************************************************************************************
> ***             WIDEN YOUR WINDOW TO 120 CHARACTERS.  Use 'enscript -r -fCourier9' to print this document            ***
> ************************************************************************************************************************
> 
> ---------------------------------------------- PETSc Performance Summary: ----------------------------------------------
> 
> ./defmod on a arch-linux2-c-debug named i5 with 1 processor, by stali Sun Jun 29 11:02:25 2014
> Using Petsc Development GIT revision: v3.4.4-4963-g821251a  GIT Date: 2014-06-28 12:39:08 -0500
> 
>                         Max       Max/Min        Avg      Total
> Time (sec):           2.261e+00      1.00000   2.261e+00
> Objects:              3.100e+01      1.00000   3.100e+01
> Flops:                1.207e+03      1.00000   1.207e+03 1.207e+03
> Flops/sec:            5.339e+02      1.00000   5.339e+02 5.339e+02
> MPI Messages:         0.000e+00      0.00000   0.000e+00 0.000e+00
> MPI Message Lengths:  0.000e+00      0.00000   0.000e+00 0.000e+00
> MPI Reductions:       0.000e+00      0.00000
> 
> Flop counting convention: 1 flop = 1 real number operation of type (multiply/divide/add/subtract)
>                            e.g., VecAXPY() for real vectors of length N --> 2N flops
>                            and VecAXPY() for complex vectors of length N --> 8N flops
> 
> Summary of Stages:   ----- Time ------  ----- Flops -----  --- Messages ---  -- Message Lengths --  -- Reductions --
>                        Avg     %Total     Avg     %Total counts   %Total     Avg         %Total   counts   %Total
> 0:      Main Stage: 2.2451e+00  99.3%  1.2070e+03 100.0% 0.000e+00   0.0%  0.000e+00        0.0%  0.000e+00   0.0%
> 
> ------------------------------------------------------------------------------------------------------------------------
> See the 'Profiling' chapter of the users' manual for details on interpreting output.
> Phase summary info:
>   Count: number of times phase was executed
>   Time and Flops: Max - maximum over all processors
>                   Ratio - ratio of maximum to minimum over all processors
>   Mess: number of messages sent
>   Avg. len: average message length (bytes)
>   Reduct: number of global reductions
>   Global: entire computation
>   Stage: stages of a computation. Set stages with PetscLogStagePush() and PetscLogStagePop().
>      %T - percent time in this phase         %F - percent flops in this phase
>      %M - percent messages in this phase     %L - percent message lengths in this phase
>      %R - percent reductions in this phase
>   Total Mflop/s: 10e-6 * (sum of flops over all processors)/(max time over all processors)
> ------------------------------------------------------------------------------------------------------------------------
> 
> 
>      ##########################################################
>      #                                                        #
>      #                          WARNING!!!                    #
>      #                                                        #
>      #   This code was compiled with a debugging option,      #
>      #   To get timing results run ./configure                #
>      #   using --with-debugging=no, the performance will      #
>      #   be generally two or three times faster.              #
>      #                                                        #
>      ##########################################################
> 
> 
> Event                Count      Time (sec) Flops                             --- Global ---  --- Stage --- Total
>                   Max Ratio  Max     Ratio   Max  Ratio  Mess Avg len Reduct  %T %F %M %L %R  %T %F %M %L %R Mflop/s
> ------------------------------------------------------------------------------------------------------------------------
> 
> --- Event Stage 0: Main Stage
> 
> ThreadCommRunKer       1 1.0 7.3960e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> ThreadCommBarrie       1 1.0 8.2803e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> VecMDot                1 1.0 1.0480e-02 1.0 2.30e+01 1.0 0.0e+00 0.0e+00 0.0e+00  0  2  0  0  0   0  2  0  0  0     0
> VecNorm                2 1.0 1.2341e-02 1.0 4.80e+01 1.0 0.0e+00 0.0e+00 0.0e+00  1  4  0  0  0   1  4  0  0  0     0
> VecScale               2 1.0 1.2405e-02 1.0 2.40e+01 1.0 0.0e+00 0.0e+00 0.0e+00  1  2  0  0  0   1  2  0  0  0     0
> VecCopy                1 1.0 9.0401e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> VecSet                10 1.0 4.3447e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> VecAXPY                1 1.0 1.1247e-02 1.0 2.40e+01 1.0 0.0e+00 0.0e+00 0.0e+00  0  2  0  0  0   1  2  0  0  0     0
> VecMAXPY               2 1.0 6.3708e-03 1.0 4.80e+01 1.0 0.0e+00 0.0e+00 0.0e+00  0  4  0  0  0   0  4  0  0  0     0
> VecAssemblyBegin       1 1.0 2.5654e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  1  0  0  0  0   1  0  0  0  0     0
> VecAssemblyEnd         1 1.0 9.2661e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> VecScatterBegin        5 1.0 8.8482e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> VecNormalize           2 1.0 3.3422e-02 1.0 7.20e+01 1.0 0.0e+00 0.0e+00 0.0e+00  1  6  0  0  0   1  6  0  0  0     0
> MatMult                1 1.0 1.5871e-02 1.0 2.12e+02 1.0 0.0e+00 0.0e+00 0.0e+00  1 18  0  0  0   1 18  0  0  0     0
> MatSolve               2 1.0 3.1852e-02 1.0 4.24e+02 1.0 0.0e+00 0.0e+00 0.0e+00  1 35  0  0  0   1 35  0  0  0     0
> MatLUFactorNum         1 1.0 9.2084e-02 1.0 4.04e+02 1.0 0.0e+00 0.0e+00 0.0e+00  4 33  0  0  0   4 33  0  0  0     0
> MatILUFactorSym        1 1.0 5.1554e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  2  0  0  0  0   2  0  0  0  0     0
> MatAssemblyBegin       2 1.0 6.5899e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> MatAssemblyEnd         2 1.0 2.8979e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  1  0  0  0  0   1  0  0  0  0     0
> MatGetRowIJ            1 1.0 2.5041e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> MatGetSubMatrice       1 1.0 2.8049e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  1  0  0  0  0   1  0  0  0  0     0
> MatGetOrdering         1 1.0 5.0988e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  2  0  0  0  0   2  0  0  0  0     0
> MatIncreaseOvrlp       1 1.0 3.7770e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  2  0  0  0  0   2  0  0  0  0     0
> KSPGMRESOrthog         1 1.0 2.9687e-02 1.0 4.70e+01 1.0 0.0e+00 0.0e+00 0.0e+00  1  4  0  0  0   1  4  0  0  0     0
> KSPSetUp               2 1.0 1.8465e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  1  0  0  0  0   1  0  0  0  0     0
> KSPSolve               1 1.0 7.4545e-01 1.0 1.21e+03 1.0 0.0e+00 0.0e+00 0.0e+00 33100  0  0  0  33100  0  0  0     0
> PCSetUp                2 1.0 4.4820e-01 1.0 4.04e+02 1.0 0.0e+00 0.0e+00 0.0e+00 20 33  0  0  0  20 33  0  0  0     0
> PCSetUpOnBlocks        1 1.0 2.3395e-01 1.0 4.04e+02 1.0 0.0e+00 0.0e+00 0.0e+00 10 33  0  0  0  10 33  0  0  0     0
> PCApply                2 1.0 7.8817e-02 1.0 4.24e+02 1.0 0.0e+00 0.0e+00 0.0e+00  3 35  0  0  0   4 35  0  0  0     0
> ------------------------------------------------------------------------------------------------------------------------
> 
> Memory usage is given in bytes:
> 
> Object Type          Creations   Destructions     Memory Descendants' Mem.
> Reports information only for process 0.
> 
> --- Event Stage 0: Main Stage
> 
>              Vector    11             11        10840     0
>      Vector Scatter     2              2          784     0
>              Matrix     3              3        10120     0
>           Index Set    10             10         4872     0
>       Krylov Solver     2              2        18316     0
>      Preconditioner     2              2         1204     0
>              Viewer     1              0            0     0
> ========================================================================================================================
> Average time to get PetscTime(): 0.000123882
> #PETSc Option Table entries:
> -f examples/two_quads_qs.inp
> -log_summary
> #End of PETSc Option Table entries
> Compiled without FORTRAN kernels
> Compiled with full precision matrices (default)
> sizeof(short) 2 sizeof(int) 4 sizeof(long) 4 sizeof(void*) 4 sizeof(PetscScalar) 8 sizeof(PetscInt) 4
> Configure options: --with-fc=gfortran --with-cc=gcc --download-mpich --with-metis=1 --download-metis=1 --COPTFLAGS=-O2 --FOPTFLAGS=-O2 --with-shared-libraries
> -----------------------------------------
> Libraries compiled on Sun Jun 29 08:08:16 2014 on i5
> Machine characteristics: Linux-3.2.0-4-686-pae-i686-with-debian-7.5
> Using PETSc directory: /home/stali/petsc-dev
> Using PETSc arch: arch-linux2-c-debug
> -----------------------------------------
> 
> Using C compiler: /home/stali/petsc-dev/arch-linux2-c-debug/bin/mpicc  -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -O2 ${COPTFLAGS} ${CFLAGS}
> Using Fortran compiler: /home/stali/petsc-dev/arch-linux2-c-debug/bin/mpif90  -fPIC  -Wall -Wno-unused-variable -ffree-line-length-0 -Wno-unused-dummy-argument -O2  ${FOPTFLAGS} ${FFLAGS}
> -----------------------------------------
> 
> Using include paths: -I/home/stali/petsc-dev/arch-linux2-c-debug/include -I/home/stali/petsc-dev/include -I/home/stali/petsc-dev/include -I/home/stali/petsc-dev/arch-linux2-c-debug/include
> -----------------------------------------
> 
> Using C linker: /home/stali/petsc-dev/arch-linux2-c-debug/bin/mpicc
> Using Fortran linker: /home/stali/petsc-dev/arch-linux2-c-debug/bin/mpif90
> Using libraries: -Wl,-rpath,/home/stali/petsc-dev/arch-linux2-c-debug/lib -L/home/stali/petsc-dev/arch-linux2-c-debug/lib -lpetsc -llapack -lblas -Wl,-rpath,/home/stali/petsc-dev/arch-linux2-c-debug/lib -L/home/stali/petsc-dev/arch-linux2-c-debug/lib -lmetis -lX11 -lpthread -lssl -lcrypto -lm -Wl,-rpath,/usr/lib/gcc/i486-linux-gnu/4.7 -L/usr/lib/gcc/i486-linux-gnu/4.7 -Wl,-rpath,/usr/lib/i386-linux-gnu -L/usr/lib/i386-linux-gnu -Wl,-rpath,/lib/i386-linux-gnu -L/lib/i386-linux-gnu -lmpichf90 -lgfortran -lm -lgfortran -lm -lquadmath -lm -lmpichcxx -lstdc++ -ldl -lmpich -lopa -lmpl -lrt -lpthread -lgcc_s -ldl
> -----------------------------------------
> 
> ==22745==
> ==22745== HEAP SUMMARY:
> ==22745==     in use at exit: 0 bytes in 0 blocks
> ==22745==   total heap usage: 3,723 allocs, 3,723 frees, 282,348 bytes allocated
> ==22745==
> ==22745== All heap blocks were freed -- no leaks are possible
> ==22745==
> ==22745== For counts of detected and suppressed errors, rerun with: -v
> ==22745== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 61 from 8)
> 



More information about the petsc-users mailing list