Hi, Junchao,

I have installed the newest version of PETSc and it works fine. I just get the following memory leak warning:

Direct leak of 28608 byte(s) in 12 object(s) allocated from:
    #0 0x7f1ddd5caa38 in __interceptor_memalign ../../../../gcc-8.1.0/libsanitizer/asan/asan_malloc_linux.cc:111     #1 0x7f1ddbef1213 in PetscMallocAlign (/opt/PETSc_library/petsc-3.10.4/mcr_20190313/lib/libpetsc.so.3.10+0x150213)

Thank you,

Manuel

---

On 3/12/19 7:08 PM, Zhang, Junchao wrote:
Hi, Manuel,
  I recently fixed a problem in VecRestoreArrayRead. Basically, I added VecRestoreArrayRead_Nest. Could you try the master branch of PETSc to see if it fixes your problem?
  Thanks.

--Junchao Zhang


On Mon, Mar 11, 2019 at 6:56 AM Manuel Colera Rico via petsc-users <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    I need to solve a 2*2 block linear system. The matrices A_00, A_01,
    A_10, A_11 are constructed separately via
    MatCreateSeqAIJWithArrays and
    MatCreateSeqSBAIJWithArrays. Then, I construct the full system matrix
    with MatCreateNest, and use MatNestGetISs and PCFieldSplitSetIS to
    set
    up the PC, trying to follow the procedure described here:
    
https://www.mcs.anl.gov/petsc/petsc-current/src/snes/examples/tutorials/ex70.c.html.

    However, when I run the code with Leak Sanitizer, I get the
    following error:

    =================================================================
    ==54927==ERROR: AddressSanitizer: attempting free on address which
    was
    not malloc()-ed: 0x627000051ab8 in thread T0
         #0 0x7fbd95c08f30 in __interceptor_free
    ../../../../gcc-8.1.0/libsanitizer/asan/asan_malloc_linux.cc:66
         #1 0x7fbd92b99dcd in PetscFreeAlign
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x146dcd)
         #2 0x7fbd92ce0178 in VecRestoreArray_Nest
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x28d178)
         #3 0x7fbd92cd627d in VecRestoreArrayRead
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x28327d)
         #4 0x7fbd92d1189e in VecScatterBegin_SSToSS
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x2be89e)
         #5 0x7fbd92d1a414 in VecScatterBegin
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x2c7414)
         #6 0x7fbd934a999c in PCApply_FieldSplit
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xa5699c)
         #7 0x7fbd93369071 in PCApply
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x916071)
         #8 0x7fbd934efe77 in KSPInitialResidual
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xa9ce77)
         #9 0x7fbd9350272c in KSPSolve_GMRES
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xaaf72c)
         #10 0x7fbd934e3c01 in KSPSolve
    
(/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xa90c01)

    Disabling Leak Sanitizer also outputs an "invalid pointer" error.

    Did I forget something when writing the code?

    Thank you,

    Manuel

    ---

Reply via email to