<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 22, 2014 at 5:37 PM, Dharmendar Reddy <span dir="ltr"><<a href="mailto:dharmareddy84@gmail.com" target="_blank">dharmareddy84@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Jan 22, 2014 at 5:33 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>

><br>
> On Wed, Jan 22, 2014 at 4:50 PM, Dharmendar Reddy <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>><br>
> wrote:<br>
>><br>
>> I take back my earlier email...<br>
><br>
><br>
> Do you have the threadcomm stuff turned on?<br>
<br>
I do not know what this means. Is related to compile time flags for my<br>
fortran code ? I link to mkl which is threaded. But otherwise, i<br>
guess, the answer is no.<br></blockquote><div><br></div><div>The weird business looks like its in pthreads, so could you reconfigure without MKL?</div><div><br></div><div>  $PETSC_ARCH/conf/reconfigure-$PETSC_ARCH.py --download-f-blas-lapack --PETSC_ARCH=arch-testing</div>
<div><br></div><div>It would not surprise me if this was the problem.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
><br>
>    Matt<br>
><br>
>><br>
>> I see the error  irrespective of valgrind options. I did a clean<br>
>> compile to test it few times now.<br>
>> See the attached valgrind.log<br>
>><br>
>> Now the difference between, ex5f90.F and my code is that i use<br>
>> DMSNESSetFunctionLocal in the case where the code fails.<br>
>><br>
>> I have also attached the solver.F90 which wraps the calls to snes, Now<br>
>> the solver has to interface (1) for equations which are handled with a<br>
>> DM and (2) for equation with out DM , here i use SNESSetFunction, and<br>
>> this part of the code runs fine with the test case in the code which<br>
>> can be compiled with -DTestSolver and standard petsc makefile<br>
>><br>
>> The case with DM is linked deeply into my code, i am trying to get to<br>
>> a test case for that.<br>
>><br>
>> thanks<br>
>> Reddy<br>
>><br>
>> On Wed, Jan 22, 2014 at 4:30 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
>> ><br>
>> >    The thing to use in valgrind is -q --tool=memcheck<br>
>> ><br>
>> >     This checks for corrupted and illegally accessed memory,<br>
>> > uninitialized memory etc  It shows the exact lines that memory is used<br>
>> > incorrectly so you can fix your code.<br>
>> ><br>
>> >    Barry<br>
>> ><br>
>> > On Jan 22, 2014, at 4:02 PM, Dharmendar Reddy <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>><br>
>> > wrote:<br>
>> ><br>
>> >> Hello,<br>
>> >>        The code works fine if i run with valgrind --leak-check=yes<br>
>> >> exename args<br>
>> >> it fails if i run  valgrind exename args<br>
>> >><br>
>> >> Any suggestions on what to look for my code?<br>
>> >><br>
>> >> Thanks<br>
>> >> Reddy<br>
>> >><br>
>> >> On Wed, Jan 22, 2014 at 3:31 PM, Dharmendar Reddy<br>
>> >> <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>> wrote:<br>
>> >>> Hello,<br>
>> >>>        I tried using the SNESSetConvergenceTest in ex5f90.F using my<br>
>> >>> subroutine. Works as expected. I will try to run my code through<br>
>> >>> valgrind.<br>
>> >>><br>
>> >>> Thanks<br>
>> >>> Reddy<br>
>> >>><br>
>> >>> On Wed, Jan 22, 2014 at 2:33 PM, Dharmendar Reddy<br>
>> >>> <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>> wrote:<br>
>> >>>> Hello,<br>
>> >>>>         I will also try to create a stand alone test case.<br>
>> >>>><br>
>> >>>> Thanks<br>
>> >>>> Reddy<br>
>> >>>><br>
>> >>>> On Wed, Jan 22, 2014 at 1:53 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>><br>
>> >>>> wrote:<br>
>> >>>>> On Wed, Jan 22, 2014 at 1:52 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>><br>
>> >>>>> wrote:<br>
>> >>>>>><br>
>> >>>>>><br>
>> >>>>>>  We need more information to track this down. Could you make a<br>
>> >>>>>> simple<br>
>> >>>>>> standalone code that reproduces the problem? Just creates a this,<br>
>> >>>>>> creates a<br>
>> >>>>>> SNES, sets the function, sets the test code and then crashes when<br>
>> >>>>>> runs.<br>
>> >>>>>><br>
>> >>>>>>   But since it is not crashing in the SNESConvergenceTest_snes<br>
>> >>>>>> routine I<br>
>> >>>>>> suspect it may be memory corruption. Have you run your code under<br>
>> >>>>>> valgrind?<br>
>> >>>>>> <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><br>
>> >>>>><br>
>> >>>>><br>
>> >>>>> I am putting his convergence test into ex5f right now. This can be<br>
>> >>>>> valgrinded. I will send an update when it runs.<br>
>> >>>>><br>
>> >>>>>  Matt<br>
>> >>>>><br>
>> >>>>>><br>
>> >>>>>><br>
>> >>>>>>   Barry<br>
>> >>>>>><br>
>> >>>>>> On Jan 20, 2014, at 7:14 PM, Dharmendar Reddy<br>
>> >>>>>> <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>><br>
>> >>>>>> wrote:<br>
>> >>>>>><br>
>> >>>>>>> Hello,<br>
>> >>>>>>>        I am getting a segmentation fault when i use<br>
>> >>>>>>> SNESSetConvergenceTest from Fortran.<br>
>> >>>>>>><br>
>> >>>>>>> I use the following:<br>
>> >>>>>>><br>
>> >>>>>>> call SNESSetConvergenceTest(this%snes, SNESConvergenceTest_snes,<br>
>> >>>>>>> this,PETSC_NULL_FUNCTION, ierr)   (Line 1)<br>
>> >>>>>>><br>
>> >>>>>>> where the soubtoutine is<br>
>> >>>>>>><br>
>> >>>>>>> subroutine<br>
>> >>>>>>> SNESConvergenceTest_snes(snes,it,xnorm,gnorm,fnorm,reason,this,<br>
>> >>>>>>> ierr)<br>
>> >>>>>>> implicit none<br>
>> >>>>>>> #include "finclude/petsc.h"<br>
>> >>>>>>> ! IO Variables<br>
>> >>>>>>> SNES :: snes<br>
>> >>>>>>> integer :: it<br>
>> >>>>>>> PetscReal :: xnorm<br>
>> >>>>>>> PetscReal :: gnorm<br>
>> >>>>>>> PetscReal :: fnorm<br>
>> >>>>>>> SNESConvergedReason :: reason<br>
>> >>>>>>> type(Solver_t) :: this<br>
>> >>>>>>> PetscErrorCode :: ierr<br>
>> >>>>>>> ! Local Variables<br>
>> >>>>>>> Vec :: X, dX<br>
>> >>>>>>> Vec :: F, W, G<br>
>> >>>>>>> real(WP) :: lambda<br>
>> >>>>>>> print*, 'Calling custom test',it,xnorm,fnorm,gnorm<br>
>> >>>>>>> !call SNESLineSearchGetLambda(this%linesearch, lambda, ierr)<br>
>> >>>>>>> !call SNESLineSearchGetVecs(this%linesearch, X, F, dX, W, G, ierr)<br>
>> >>>>>>> !call this%SNESConvergenceTest(it, fnorm, lambda, X, dX, reason,<br>
>> >>>>>>> ierr)<br>
>> >>>>>>> reason = SNES_DIVERGED_FUNCTION_COUNT<br>
>> >>>>>>> end subroutine SNESConvergenceTest_snes<br>
>> >>>>>>><br>
>> >>>>>>> Code works fine if  the call at Line 1 is commented i.e, if i<br>
>> >>>>>>> donot<br>
>> >>>>>>> set the convergencetest<br>
>> >>>>>>><br>
>> >>>>>>> I have attached the stack trace when the code fails<br>
>> >>>>>>> (traceFail.log)<br>
>> >>>>>>> and stack trace of the code which runs well (tracePass.log).<br>
>> >>>>>>><br>
>> >>>>>>><br>
>> >>>>>>><br>
>> >>>>>>> Thanks<br>
>> >>>>>>> Reddy<br>
>> >>>>>>> <traceFail.log><tracePass.log><br>
>> >>>>>><br>
>> >>>>><br>
>> >>>>><br>
>> >>>>><br>
>> >>>>> --<br>
>> >>>>> What most experimenters take for granted before they begin their<br>
>> >>>>> experiments<br>
>> >>>>> is infinitely more interesting than any results to which their<br>
>> >>>>> experiments<br>
>> >>>>> lead.<br>
>> >>>>> -- Norbert Wiener<br>
>> >>>><br>
>> >>>><br>
>> >>>><br>
>> >>>> --<br>
>> >>>> -----------------------------------------------------<br>
>> >>>> Dharmendar Reddy Palle<br>
>> >>>> Graduate Student<br>
>> >>>> Microelectronics Research center,<br>
>> >>>> University of Texas at Austin,<br>
>> >>>> 10100 Burnet Road, Bldg. 160<br>
>> >>>> MER 2.608F, TX 78758-4445<br>
>> >>>> e-mail: <a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a><br>
>> >>>> Phone: <a href="tel:%2B1-512-350-9082" value="+15123509082">+1-512-350-9082</a><br>
>> >>>> United States of America.<br>
>> >>>> Homepage: <a href="https://webspace.utexas.edu/~dpr342" target="_blank">https://webspace.utexas.edu/~dpr342</a><br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>> --<br>
>> >>> -----------------------------------------------------<br>
>> >>> Dharmendar Reddy Palle<br>
>> >>> Graduate Student<br>
>> >>> Microelectronics Research center,<br>
>> >>> University of Texas at Austin,<br>
>> >>> 10100 Burnet Road, Bldg. 160<br>
>> >>> MER 2.608F, TX 78758-4445<br>
>> >>> e-mail: <a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a><br>
>> >>> Phone: <a href="tel:%2B1-512-350-9082" value="+15123509082">+1-512-350-9082</a><br>
>> >>> United States of America.<br>
>> >>> Homepage: <a href="https://webspace.utexas.edu/~dpr342" target="_blank">https://webspace.utexas.edu/~dpr342</a><br>
>> >><br>
>> >><br>
>> >><br>
>> >> --<br>
>> >> -----------------------------------------------------<br>
>> >> Dharmendar Reddy Palle<br>
>> >> Graduate Student<br>
>> >> Microelectronics Research center,<br>
>> >> University of Texas at Austin,<br>
>> >> 10100 Burnet Road, Bldg. 160<br>
>> >> MER 2.608F, TX 78758-4445<br>
>> >> e-mail: <a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a><br>
>> >> Phone: <a href="tel:%2B1-512-350-9082" value="+15123509082">+1-512-350-9082</a><br>
>> >> United States of America.<br>
>> >> Homepage: <a href="https://webspace.utexas.edu/~dpr342" target="_blank">https://webspace.utexas.edu/~dpr342</a><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> -----------------------------------------------------<br>
>> Dharmendar Reddy Palle<br>
>> Graduate Student<br>
>> Microelectronics Research center,<br>
>> University of Texas at Austin,<br>
>> 10100 Burnet Road, Bldg. 160<br>
>> MER 2.608F, TX 78758-4445<br>
>> e-mail: <a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a><br>
>> Phone: <a href="tel:%2B1-512-350-9082" value="+15123509082">+1-512-350-9082</a><br>
>> United States of America.<br>
>> Homepage: <a href="https://webspace.utexas.edu/~dpr342" target="_blank">https://webspace.utexas.edu/~dpr342</a><br>
><br>
><br>
><br>
<span class="HOEnZb"><font color="#888888">><br>
> --<br>
> What most experimenters take for granted before they begin their experiments<br>
> is infinitely more interesting than any results to which their experiments<br>
> lead.<br>
> -- Norbert Wiener<br>
<br>
<br>
<br>
--<br>
-----------------------------------------------------<br>
Dharmendar Reddy Palle<br>
Graduate Student<br>
Microelectronics Research center,<br>
University of Texas at Austin,<br>
10100 Burnet Road, Bldg. 160<br>
MER 2.608F, TX 78758-4445<br>
e-mail: <a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a><br>
Phone: <a href="tel:%2B1-512-350-9082" value="+15123509082">+1-512-350-9082</a><br>
United States of America.<br>
Homepage: <a href="https://webspace.utexas.edu/~dpr342" target="_blank">https://webspace.utexas.edu/~dpr342</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <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
</div></div>