[petsc-users] PCFieldSplit with MatNest
Zhang, Junchao
jczhang at mcs.anl.gov
Wed Mar 13 09:13:51 CDT 2019
Manuel,
Could you try to add this line
sbaij->free_imax_ilen = PETSC_TRUE;
after line 2431 in /opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c
PS: Matt, this bug looks unrelated to my VecRestoreArrayRead_Nest fix.
--Junchao Zhang
On Wed, Mar 13, 2019 at 9:05 AM Matthew Knepley <knepley at gmail.com<mailto:knepley at gmail.com>> wrote:
On Wed, Mar 13, 2019 at 9:44 AM Manuel Colera Rico via petsc-users <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
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
Junchao, do imax and ilen get missed in the Destroy with the user provides arrays?
https://bitbucket.org/petsc/petsc/src/06a3e802b3873ffbfd04b71a0821522327dd9b04/src/mat/impls/sbaij/seq/sbaij.c#lines-2431
Matt
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<mailto: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> <mailto: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
>>>
>>> ---
>>>
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/<http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190313/8eec7eca/attachment-0001.html>
More information about the petsc-users
mailing list