<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">
<div dir="ltr">Manuel, </div>
<div dir="ltr"> Could you try to add this line<br>
sbaij->free_imax_ilen = PETSC_TRUE;<br>
after line 2431 in /opt/PETSc_library/petsc-3.10.4/src/mat/impls/sbaij/seq/sbaij.c<br>
<br>
</div>
<div dir="ltr"> PS: Matt, this bug looks unrelated to my VecRestoreArrayRead_Nest fix.
<div><font color="#500050"><br clear="all">
</font>
<div>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">--Junchao Zhang</div>
</div>
</div>
<br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Mar 13, 2019 at 9:05 AM Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<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" target="_blank">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" target="_blank">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-m_-161896209400255159gmail_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>
</blockquote>
</div>
</body>
</html>