When I used valgrind to check memory, I got the following output:<br><br>==3055== Conditional jump or move depends on uninitialised value(s)<br>==3055==    at 0x6CF359E: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)<br>
==3055==    by 0x6CF2B25: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)<br>==3055==    by 0x6C31607: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)<br>==3055==    by 0x400F305: call_init.part.0 (dl-init.c:85)<br>
==3055==    by 0x400F3DE: _dl_init (dl-init.c:52)<br>==3055==    by 0x40016E9: ??? (in /lib/x86_64-linux-gnu/<a href="http://ld-2.15.so">ld-2.15.so</a>)<br>==3055==    by 0x47: ???<br>==3055==    by 0x7FEFFFE56: ???<br>==3055==    by 0x7FEFFFE69: ???<br>
==3055==    by 0x7FEFFFE71: ???<br>==3055==    by 0x7FEFFFE75: ???<br>==3055==    by 0x7FEFFFE88: ???<br>==3055==    by 0x7FEFFFE8B: ???<br>==3055==    by 0x7FEFFFE95: ???<br>==3055==    by 0x7FEFFFE9C: ???<br>==3055==    by 0x7FEFFFEA5: ???<br>
==3055==    by 0x7FEFFFEA9: ???<br>==3055==    by 0x7FEFFFEB8: ???<br>==3055==    by 0x7FEFFFEBA: ???<br>==3055==    by 0x7FEFFFECC: ???<br>==3055== <br>==3055== Conditional jump or move depends on uninitialised value(s)<br>
==3055==    at 0x6CF35A9: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)<br>==3055==    by 0x6CF2B25: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)<br>==3055==    by 0x6C31607: ??? (in /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0)<br>
==3055==    by 0x400F305: call_init.part.0 (dl-init.c:85)<br>==3055==    by 0x400F3DE: _dl_init (dl-init.c:52)<br>==3055==    by 0x40016E9: ??? (in /lib/x86_64-linux-gnu/<a href="http://ld-2.15.so">ld-2.15.so</a>)<br>==3055==    by 0x47: ???<br>
==3055==    by 0x7FEFFFE56: ???<br>==3055==    by 0x7FEFFFE69: ???<br>==3055==    by 0x7FEFFFE71: ???<br>==3055==    by 0x7FEFFFE75: ???<br>==3055==    by 0x7FEFFFE88: ???<br>==3055==    by 0x7FEFFFE8B: ???<br>==3055==    by 0x7FEFFFE95: ???<br>
==3055==    by 0x7FEFFFE9C: ???<br>==3055==    by 0x7FEFFFEA5: ???<br>==3055==    by 0x7FEFFFEA9: ???<br>==3055==    by 0x7FEFFFEB8: ???<br>==3055==    by 0x7FEFFFEBA: ???<br>==3055==    by 0x7FEFFFECC: ???<br>==3055== <br>
<br>How to understand the output?<br><br><br><div class="gmail_quote">On Mon, Jun 3, 2013 at 9:00 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Fande Kong <<a href="mailto:fande.kong@colorado.edu">fande.kong@colorado.edu</a>> writes:<br>
<br>
> This was not complete. The complete result is attached.<br>
<br>
</div>With petsc-3.4, you can use PetscFunctionBeginUser and -objects_dump to<br>
eliminate internal allocations from the output.  I'm guessing you missed<br>
a KSPDestroy.<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br><div>Fande Kong</div>Department of Computer Science<div>University of Colorado at Boulder</div>