<div dir="ltr"><div dir="ltr"><div dir="ltr">On Wed, Mar 13, 2019 at 9:44 AM Manuel Colera Rico via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Yes:<br>
<br>
[ 0]8416 bytes MatCreateSeqSBAIJWithArrays() line 2431 in <br>
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c<br>
[ 0]8416 bytes MatCreateSeqSBAIJWithArrays() line 2431 in <br>
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c<br>
[ 0]4544 bytes MatCreateSeqSBAIJWithArrays() line 2431 in <br>
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c<br>
[ 0]4544 bytes MatCreateSeqSBAIJWithArrays() line 2431 in <br>
/opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c<br></blockquote><div><br></div><div>Junchao, do imax and ilen get missed in the Destroy with the user provides arrays?</div><div><br></div><div> <a href="https://bitbucket.org/petsc/petsc/src/06a3e802b3873ffbfd04b71a0821522327dd9b04/src/mat/impls/sbaij/seq/sbaij.c#lines-2431">https://bitbucket.org/petsc/petsc/src/06a3e802b3873ffbfd04b71a0821522327dd9b04/src/mat/impls/sbaij/seq/sbaij.c#lines-2431</a></div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I have checked that I have destroyed all the MatNest matrices and all <br>
the submatrices individually.<br>
<br>
Manuel<br>
<br>
---<br>
<br>
On 3/13/19 2:28 PM, Jed Brown wrote:<br>
> Is there any output if you run with -malloc_dump?<br>
><br>
> Manuel Colera Rico via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> writes:<br>
><br>
>> Hi, Junchao,<br>
>><br>
>> I have installed the newest version of PETSc and it works fine. I just<br>
>> get the following memory leak warning:<br>
>><br>
>> Direct leak of 28608 byte(s) in 12 object(s) allocated from:<br>
>> #0 0x7f1ddd5caa38 in __interceptor_memalign<br>
>> ../../../../gcc-8.1.0/libsanitizer/asan/asan_malloc_linux.cc:111<br>
>> #1 0x7f1ddbef1213 in PetscMallocAlign<br>
>> (/opt/PETSc_library/petsc-3.10.4/mcr_20190313/lib/libpetsc.so.3.10+0x150213)<br>
>><br>
>> Thank you,<br>
>><br>
>> Manuel<br>
>><br>
>> ---<br>
>><br>
>> On 3/12/19 7:08 PM, Zhang, Junchao wrote:<br>
>>> Hi, Manuel,<br>
>>> I recently fixed a problem in VecRestoreArrayRead. Basically, I<br>
>>> added VecRestoreArrayRead_Nest. Could you try the master branch of<br>
>>> PETSc to see if it fixes your problem?<br>
>>> Thanks.<br>
>>><br>
>>> --Junchao Zhang<br>
>>><br>
>>><br>
>>> On Mon, Mar 11, 2019 at 6:56 AM Manuel Colera Rico via petsc-users<br>
>>> <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a> <mailto:<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>>> wrote:<br>
>>><br>
>>> Hello,<br>
>>><br>
>>> I need to solve a 2*2 block linear system. The matrices A_00, A_01,<br>
>>> A_10, A_11 are constructed separately via<br>
>>> MatCreateSeqAIJWithArrays and<br>
>>> MatCreateSeqSBAIJWithArrays. Then, I construct the full system matrix<br>
>>> with MatCreateNest, and use MatNestGetISs and PCFieldSplitSetIS to<br>
>>> set<br>
>>> up the PC, trying to follow the procedure described here:<br>
>>> <a href="https://www.mcs.anl.gov/petsc/petsc-current/src/snes/examples/tutorials/ex70.c.html" rel="noreferrer" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/src/snes/examples/tutorials/ex70.c.html</a>.<br>
>>><br>
>>> However, when I run the code with Leak Sanitizer, I get the<br>
>>> following error:<br>
>>><br>
>>> =================================================================<br>
>>> ==54927==ERROR: AddressSanitizer: attempting free on address which<br>
>>> was<br>
>>> not malloc()-ed: 0x627000051ab8 in thread T0<br>
>>> #0 0x7fbd95c08f30 in __interceptor_free<br>
>>> ../../../../gcc-8.1.0/libsanitizer/asan/asan_malloc_linux.cc:66<br>
>>> #1 0x7fbd92b99dcd in PetscFreeAlign<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x146dcd)<br>
>>> #2 0x7fbd92ce0178 in VecRestoreArray_Nest<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x28d178)<br>
>>> #3 0x7fbd92cd627d in VecRestoreArrayRead<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x28327d)<br>
>>> #4 0x7fbd92d1189e in VecScatterBegin_SSToSS<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x2be89e)<br>
>>> #5 0x7fbd92d1a414 in VecScatterBegin<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x2c7414)<br>
>>> #6 0x7fbd934a999c in PCApply_FieldSplit<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xa5699c)<br>
>>> #7 0x7fbd93369071 in PCApply<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0x916071)<br>
>>> #8 0x7fbd934efe77 in KSPInitialResidual<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xa9ce77)<br>
>>> #9 0x7fbd9350272c in KSPSolve_GMRES<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xaaf72c)<br>
>>> #10 0x7fbd934e3c01 in KSPSolve<br>
>>> (/opt/PETSc_library/petsc/manuel_OpenBLAS_petsc/lib/libpetsc.so.3.8+0xa90c01)<br>
>>><br>
>>> Disabling Leak Sanitizer also outputs an "invalid pointer" error.<br>
>>><br>
>>> Did I forget something when writing the code?<br>
>>><br>
>>> Thank you,<br>
>>><br>
>>> Manuel<br>
>>><br>
>>> ---<br>
>>><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div></div>