On Tue, Sep 8, 2009 at 1:55 AM, Klaij, Christiaan <span dir="ltr">&lt;<a href="mailto:C.Klaij@marin.nl">C.Klaij@marin.nl</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Matt,<br>
<br>
Thanks for your explanation. I guess we are using different compilers (I&#39;m using the intel 10.1) which may explain why I get a SEGV and you don&#39;t. I didn&#39;t change anything else in src/ksp/ksp/examples/tutorials/ex2f.F. To help me understand, could you please tell me where exactly the dummy is passed in?<br>
</blockquote><div><br>        call KSPSetConvergenceTest(ksp,MyKSPConverged,                  &amp;<br>     &amp;          PETSC_NULL_OBJECT,PETSC_NULL_FUNCTION,ierr)<br><br>The PETSC_NULL_OBJECT is &quot;dummy&quot; in the callback.<br>
<br>   Matt<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Chris<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Mon, 7 Sep 2009 07:03:01 -0500<br>
<div class="im">From: Matthew Knepley &lt;<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>&gt;<br>
Subject: Re: dummy in MyKSPConverged<br>
To: PETSc users list &lt;<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>&gt;<br>
Message-ID:<br>
</div>        &lt;<a href="mailto:a9f269830909070503g684e2197yc43a7232aa9b88da@mail.gmail.com">a9f269830909070503g684e2197yc43a7232aa9b88da@mail.gmail.com</a>&gt;<br>
<div><div></div><div class="h5">Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
<br>
On Mon, Sep 7, 2009 at 2:01 AM, Klaij, Christiaan &lt;<a href="mailto:C.Klaij@marin.nl">C.Klaij@marin.nl</a>&gt; wrote:<br>
<br>
&gt; Matt,<br>
&gt;<br>
&gt; Thanks for your answer!<br>
&gt;<br>
&gt; dummy is defined as a PETSc integer inside MyKSPConverged, so why can&#39;t I<br>
&gt; set it to 0? I know it&#39;s not useful because it&#39;s just a dummy and nothing<br>
&gt; happens with it, but setting it shouldn&#39;t crash the code, right? Also, if<br>
&gt; setting it changes the basic definition of PETSC_NULL_OBJECT shouldn&#39;t you<br>
&gt; get a SEGV as well, or at least some kind of trouble?<br>
&gt;<br>
<br>
dummy is something *you passed in* earlier in the code, and you passed in<br>
something that should not change. I<br>
do not know why you are getting an SEGV (I do not get one), but I do know<br>
you should not change this for the<br>
code to function correctly.<br>
<br>
  Matt<br>
<br>
<br>
&gt; Chris<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Message: 5<br>
&gt; Date: Fri, 4 Sep 2009 10:49:25 -0500<br>
&gt; From: Matthew Knepley &lt;<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>&gt;<br>
&gt; Subject: Re: dummy in MyKSPConverged<br>
&gt; To: PETSc users list &lt;<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>&gt;<br>
&gt; Message-ID:<br>
&gt;        &lt;<a href="mailto:a9f269830909040849t7a8dd52dwc7fa33c6a0d313f7@mail.gmail.com">a9f269830909040849t7a8dd52dwc7fa33c6a0d313f7@mail.gmail.com</a>&gt;<br>
&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt;<br>
&gt; On Fri, Sep 4, 2009 at 10:35 AM, Klaij, Christiaan &lt;<a href="mailto:C.Klaij@marin.nl">C.Klaij@marin.nl</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt; &gt;   Hello,<br>
&gt; &gt;<br>
&gt; &gt; With the new version 3.0.0-p8, if I assign a value to the dummy in<br>
&gt; &gt; MyKSPConverged at the end of src/ksp/ksp/examples/tutorials/ex2f.F, I get<br>
&gt; a<br>
&gt; &gt; segmentation fault (this didn&#39;t happen with version 2.3.3-p13). Any idea<br>
&gt; &gt; why?<br>
&gt; &gt;<br>
&gt;<br>
&gt; 1) I do not get a SEGV<br>
&gt;<br>
&gt; 2) You should not be setting this at all. You pass in PETSC_NULL_OBJECT,<br>
&gt; which means you are changing the definition of that<br>
&gt;    basic thing in PETSc. This can produce undefined results.<br>
&gt;<br>
&gt;  Matt<br>
&gt;<br>
&gt;<br>
&gt; &gt; $ tail ex2f.F<br>
&gt; &gt;       else<br>
&gt; &gt;         flag = 0<br>
&gt; &gt;       endif<br>
&gt; &gt;       ierr = 0<br>
&gt; &gt;       dummy = 0<br>
&gt; &gt;<br>
&gt; &gt;       end<br>
&gt; &gt; $ ./ex2f -my_ksp_convergence<br>
&gt; &gt; [0]PETSC ERROR:<br>
&gt; &gt; ------------------------------------------------------------------------<br>
&gt; &gt; [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,<br>
&gt; &gt; probably memory access out of range<br>
&gt; &gt; [0]PETSC ERROR: Try option -start_in_debugger or<br>
&gt; -on_error_attach_debugger<br>
&gt; &gt; [0]PETSC ERROR: or see<br>
&gt; &gt;<br>
</div></div>&gt; <a href="http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal%5B0%5DPETSC" target="_blank">http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal[0]PETSC</a>&lt;<a href="http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal%5B0%5DPETSC" target="_blank">http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal%5B0%5DPETSC</a>&gt;<br>

<div><div></div><div class="h5">&gt; &gt; ERROR: or try <a href="http://valgrind.org" target="_blank">http://valgrind.org</a> on linux or man libgmalloc on Apple to<br>
&gt; &gt; find memory corruption errors<br>
&gt; &gt; [0]PETSC ERROR: likely location of problem given in stack below<br>
&gt; &gt; [0]PETSC ERROR: ---------------------  Stack Frames<br>
&gt; &gt; ------------------------------------<br>
&gt; &gt; [0]PETSC ERROR: Note: The EXACT line numbers in the stack are not<br>
&gt; &gt; available,<br>
&gt; &gt; [0]PETSC ERROR:       INSTEAD the line number of the start of the<br>
&gt; function<br>
&gt; &gt; [0]PETSC ERROR:       is given.<br>
&gt; &gt; [0]PETSC ERROR: [0] GMREScycle line 133 src/ksp/ksp/impls/gmres/gmres.c<br>
&gt; &gt; [0]PETSC ERROR: [0] KSPSolve_GMRES line 228<br>
&gt; src/ksp/ksp/impls/gmres/gmres.c<br>
&gt; &gt; [0]PETSC ERROR: [0] KSPSolve line 308 src/ksp/ksp/interface/itfunc.c<br>
&gt; &gt; [0]PETSC ERROR: --------------------- Error Message<br>
&gt; &gt; ------------------------------------<br>
&gt; &gt; [0]PETSC ERROR: Signal received!<br>
&gt; &gt; [0]PETSC ERROR:<br>
&gt; &gt; ------------------------------------------------------------------------<br>
&gt; &gt; [0]PETSC ERROR: Petsc Release Version 3.0.0, Patch 8, Fri Aug 21 14:02:12<br>
&gt; &gt; CDT 2009<br>
&gt; &gt; [0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
&gt; &gt; [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
&gt; &gt; [0]PETSC ERROR: See docs/index.html for manual pages.<br>
&gt; &gt; [0]PETSC ERROR:<br>
&gt; &gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; dr. ir. Christiaan Klaij<br>
&gt; CFD Researcher<br>
&gt; Research &amp; Development<br>
&gt; mailto:<a href="mailto:C.Klaij@marin.nl">C.Klaij@marin.nl</a><br>
&gt; T +31 317 49 33 44<br>
&gt;<br>
&gt; MARIN<br>
&gt; 2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands<br>
&gt; T +31 317 49 39 11, F +31 317 49 32 45, I <a href="http://www.marin.nl/" target="_blank">http://www.marin.nl/</a><br>
&gt;<br>
</div></div>&gt; <a href="http://www.marin.nl/web/News/News-items/RD-seminar-on-September-22-few-places-left.htmR&amp;D" target="_blank">http://www.marin.nl/web/News/News-items/RD-seminar-on-September-22-few-places-left.htmR&amp;D</a> seminar on September 22: few places left<br>

<div><div></div><div class="h5">&gt;<br>
&gt; This e-mail may be confidential, privileged and/or protected by copyright.<br>
&gt; If you are not the intended recipient, you should return it to the sender<br>
&gt; immediately and delete your copy from your system.<br>
&gt;<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>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<br>