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

Barry Smith bsmith at mcs.anl.gov
Sun Jun 29 12:56:57 CDT 2014


  This is our error. It is harmless, I am fixing it in master now.

   Barry

On Jun 29, 2014, at 12:41 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

> 
>   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