[petsc-users] PCFieldSplit with MatNest
Manuel Colera Rico
m.colera at upm.es
Wed Mar 13 08:44:42 CDT 2019
Yes:
[ 0]8416 bytes MatCreateSeqSBAIJWithArrays() line 2431 in
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c
[ 0]8416 bytes MatCreateSeqSBAIJWithArrays() line 2431 in
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c
[ 0]4544 bytes MatCreateSeqSBAIJWithArrays() line 2431 in
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c
[ 0]4544 bytes MatCreateSeqSBAIJWithArrays() line 2431 in
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c
I have checked that I have destroyed all the MatNest matrices and all
the submatrices individually.
Manuel
---
On 3/13/19 2:28 PM, Jed Brown wrote:
> Is there any output if you run with -malloc_dump?
>
> Manuel Colera Rico via petsc-users <petsc-users at mcs.anl.gov> writes:
>
>> 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
>>> <petsc-users at mcs.anl.gov <mailto:petsc-users at mcs.anl.gov>> 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
>>>
>>> ---
>>>
More information about the petsc-users
mailing list