<div dir="ltr">You call VecDuplicate() a bunch, but VecDestroy() only once in the bottom function. This is wrong.<div>Also, CHECK ALL RETURN CODES. This is the fastest way to find errors.</div><div><br></div><div>   Matt</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 27, 2019 at 2:06 AM Yuyun Yang via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</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 lang="EN-US">
<div class="gmail-m_565911720460230906WordSection1">
<p class="MsoNormal">Hello team,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I ran into the address sanitizer error that I hope you could help me with. I don’t really know what’s wrong with the way the code frees memory. The relevant code file is attached. The line number following domain.cpp specifically referenced
 to the vector _q, which seems a little odd, since some other vectors are constructed and freed the same way.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">==1719==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x61f0000076c0 in thread T0<u></u><u></u></p>
<p class="MsoNormal">    #0 0x7fbf195282ca in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x982ca)<u></u><u></u></p>
<p class="MsoNormal">    #1 0x7fbf1706f895 in PetscFreeAlign /home/yyy910805/petsc/src/sys/memory/mal.c:87<u></u><u></u></p>
<p class="MsoNormal">    #2 0x7fbf1731a898 in VecDestroy_Seq /home/yyy910805/petsc/src/vec/vec/impls/seq/bvec2.c:788<u></u><u></u></p>
<p class="MsoNormal">    #3 0x7fbf1735f795 in VecDestroy /home/yyy910805/petsc/src/vec/vec/interface/vector.c:408<u></u><u></u></p>
<p class="MsoNormal">    #4 0x40dd0a in Domain::~Domain() /home/yyy910805/scycle/source/domain.cpp:132<u></u><u></u></p>
<p class="MsoNormal">    #5 0x40b479 in main /home/yyy910805/scycle/source/main.cpp:242<u></u><u></u></p>
<p class="MsoNormal">    #6 0x7fbf14d2082f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)<u></u><u></u></p>
<p class="MsoNormal">    #7 0x4075d8 in _start (/home/yyy910805/scycle/source/main+0x4075d8)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">0x61f0000076c0 is located 1600 bytes inside of 3220-byte region [0x61f000007080,0x61f000007d14)<u></u><u></u></p>
<p class="MsoNormal">allocated by thread T0 here:<u></u><u></u></p>
<p class="MsoNormal">    #0 0x7fbf19528b32 in __interceptor_memalign (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98b32)<u></u><u></u></p>
<p class="MsoNormal">    #1 0x7fbf1706f7e0 in PetscMallocAlign /home/yyy910805/petsc/src/sys/memory/mal.c:41<u></u><u></u></p>
<p class="MsoNormal">    #2 0x7fbf17073022 in PetscTrMallocDefault /home/yyy910805/petsc/src/sys/memory/mtr.c:183<u></u><u></u></p>
<p class="MsoNormal">    #3 0x7fbf170710a1 in PetscMallocA /home/yyy910805/petsc/src/sys/memory/mal.c:397<u></u><u></u></p>
<p class="MsoNormal">    #4 0x7fbf17326fb0 in VecCreate_Seq /home/yyy910805/petsc/src/vec/vec/impls/seq/bvec3.c:35<u></u><u></u></p>
<p class="MsoNormal">    #5 0x7fbf1736f560 in VecSetType /home/yyy910805/petsc/src/vec/vec/interface/vecreg.c:51<u></u><u></u></p>
<p class="MsoNormal">    #6 0x7fbf1731afae in VecDuplicate_Seq /home/yyy910805/petsc/src/vec/vec/impls/seq/bvec2.c:807<u></u><u></u></p>
<p class="MsoNormal">    #7 0x7fbf1735eff7 in VecDuplicate /home/yyy910805/petsc/src/vec/vec/interface/vector.c:379<u></u><u></u></p>
<p class="MsoNormal">    #8 0x4130de in Domain::setFields() /home/yyy910805/scycle/source/domain.cpp:431<u></u><u></u></p>
<p class="MsoNormal">    #9 0x40c60a in Domain::Domain(char const*) /home/yyy910805/scycle/source/domain.cpp:57<u></u><u></u></p>
<p class="MsoNormal">    #10 0x40b433 in main /home/yyy910805/scycle/source/main.cpp:242<u></u><u></u></p>
<p class="MsoNormal">    #11 0x7fbf14d2082f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">SUMMARY: AddressSanitizer: bad-free ??:0 __interceptor_free<u></u><u></u></p>
<p class="MsoNormal">==1719==ABORTING<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks very much!<u></u><u></u></p>
<p class="MsoNormal">Yuyun<u></u><u></u></p>
</div>
</div>

</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>