<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    I compiled and run my code under visual studio 2008 with intel
    fortran. Everything works ok.<br>
    <br>
    However, when I tried to run the code in linux, I got the error as
    below. The error happens when KSPSetUp(ksp,ierr) is called.<br>
    <br>
    However, I am not able to print VecView or MatView to view if
    there's any errors. Is there any recommendation for debugging? I
    hope I do not need to valgrind if possible.<br>
    <br>
    [0]PETSC ERROR:
    ------------------------------------------------------------------------<br>
    [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation
    Violation, probably memory access out of range<br>
    [0]PETSC ERROR: Try option -start_in_debugger or
    -on_error_attach_debugger<br>
    [0]PETSC ERROR: or see
    <a class="moz-txt-link-freetext" href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a>[0]PETSC
    ERROR: or try <a class="moz-txt-link-freetext" href="http://valgrind.org">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to
    find memory corruption errors<br>
    [0]PETSC ERROR: likely location of problem given in stack below<br>
    [0]PETSC ERROR: ---------------------  Stack Frames
    ------------------------------------<br>
    [0]PETSC ERROR: Note: The EXACT line numbers in the stack are not
    available,<br>
    [0]PETSC ERROR:       INSTEAD the line number of the start of the
    function<br>
    [0]PETSC ERROR:       is given.<br>
    [0]PETSC ERROR: [0] DM user function line 0 unknownunknown<br>
    [0]PETSC ERROR: [0] DMComputeFunction line 2085
    /home/wtay/Codes/petsc-dev/src/dm/interface/dm.c<br>
    [0]PETSC ERROR: [0] KSPSetUp line 182
    /home/wtay/Codes/petsc-dev/src/ksp/ksp/interface/itfunc.c<br>
    [0]PETSC ERROR: --------------------- Error Message
    ------------------------------------<br>
    [0]PETSC ERROR: Signal received!<br>
    [0]PETSC ERROR:
    ------------------------------------------------------------------------<br>
    [0]PETSC ERROR: Petsc Development HG revision:
    7ecdd63ec420b1659b960e65d96e822c5ac1a968  HG Date: Mon May 07
    21:42:26 2012 -0500<br>
    [0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
    [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
    [0]PETSC ERROR: See docs/index.html for manual pages.<br>
    [0]PETSC ERROR:
    ------------------------------------------------------------------------<br>
    [0]PETSC ERROR: ./ex29f on a petsc-3.2 named hpc12 by wtay Tue May 
    8 20:45:42 2012<br>
    [0]PETSC ERROR: Libraries linked from
    /home/wtay/Lib/petsc-3.2-dev_shared_debug/lib<br>
    [0]PETSC ERROR: Configure run at Tue May  8 10:47:59 2012<br>
    [0]PETSC ERROR: Configure options --with-mpi-dir=/opt/openmpi-1.5.3/
    --with-blas-lapack-dir=/opt/intelcpro-11.1.059/mkl/lib/em64t/
    --with-debugging=1 --download-hypre=1
    --prefix=/home/wtay/Lib/petsc-3.2-dev_shared_debug
    --known-mpi-shared=1 --with-shared-libraries<br>
    [0]PETSC ERROR:
    ------------------------------------------------------------------------<br>
    [0]PETSC ERROR: User provided function() line 0 in unknown directory
    unknown file<br>
--------------------------------------------------------------------------<br>
    MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD <br>
    with errorcode 59.<br>
    <br>
    NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.<br>
    You may or may not see output from other processes, depending on<br>
    exactly when Open MPI kills them.<br>
    <br>
    <pre class="moz-signature" cols="72">Yours sincerely,

TAY wee-beng</pre>
    <br>
    On 5/5/2012 1:43 AM, Matthew Knepley wrote:
    <blockquote
cite="mid:CAMYG4Gm9cJxm1D0UmO9Fepv93uEHYhYDCcU1rKvsTU=D_+v9qQ@mail.gmail.com"
      type="cite">
      <div class="gmail_extra">On Fri, May 4, 2012 at 5:42 PM, TAY
        wee-beng <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:zonexo@gmail.com" target="_blank">zonexo@gmail.com</a>&gt;</span>
        wrote:<br>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> Hi,<br>
              <br>
              I wonder if you people are interested to include my ex29
              fortran version in the petsc examples, which can help
              people who are using fortran.<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>Yes, we will definitely include it. Please send the
            source, and a representative output with run options.</div>
          <div><br>
          </div>
          <div>  Thanks,</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">
            <div bgcolor="#FFFFFF" text="#000000"> Thanks.<br>
              <pre cols="72">Yours sincerely,

TAY wee-beng</pre>
              <br>
              On 4/5/2012 9:28 PM, Matthew Knepley wrote:
              <blockquote type="cite">
                <div class="gmail_extra">On Fri, May 4, 2012 at 3:24 PM,
                  TAY wee-beng <span dir="ltr">&lt;<a
                      moz-do-not-send="true"
                      href="mailto:zonexo@gmail.com" target="_blank">zonexo@gmail.com</a>&gt;</span>
                  wrote:<br>
                  <div class="gmail_quote">
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <br>
                      On 4/5/2012 9:16 PM, Barry Smith wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">    Do an hg pull and
                        then run make in src/mat/interface/ftn-custom/<br>
                        <br>
                            Then it should link.<br>
                        <br>
                           Barry<br>
                        <br>
                           There was a E missing from the all caps name
                        of the function.<br>
                      </blockquote>
                      After hg pull, I did:<br>
                      <br>
                      cd src//mat/interface/ftn-custom/<br>
                      <br>
                      User@User-PC
                      /cygdrive/c/temp/petsc-dev/src/mat/interface/ftn-custom<br>
                      $ make<br>
                      make[1]: Warning: File
                      `/cygdrive/c/temp/petsc-dev/petsc-3.2-dev_win32_vs2008/lib/libpetsc.lib(zmatregf.o)'

                      has modification time 787 s in the future<br>
                      make[1]: Nothing to be done for `libc'.<br>
                      make[1]: warning:  Clock skew detected.  Your
                      build may be incomplete.<br>
                      <br>
                      But it still can't work.<br>
                    </blockquote>
                    <div><br>
                    </div>
                    <div>Something is messed up with the clock on this
                      machine.</div>
                    <div><br>
                    </div>
                    <div>HOWEVER, development requires certain basic
                      skills in order to debug your work. We</div>
                    <div>cannot be the ones debugging your code. Now</div>
                    <div><br>
                    </div>
                    <div>  nm $PETSC_ARCH/lib/libpetsc.a | grep -i
                      MatNullSpaceRemove</div>
                    <div><br>
                    </div>
                    <div> will look for the symbol.</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">
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex"> <br>
                        <br>
                        On May 4, 2012, at 2:11 PM, Matthew Knepley
                        wrote:<br>
                        <br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex"> On Fri, May 4, 2012
                          at 3:01 PM, TAY wee-beng&lt;<a
                            moz-do-not-send="true"
                            href="mailto:zonexo@gmail.com"
                            target="_blank">zonexo@gmail.com</a>&gt;
                           wrote:<br>
                          <br>
                          On 4/5/2012 5:17 PM, Matthew Knepley wrote:<br>
                          <blockquote class="gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex"> On Fri, May 4,
                            2012 at 11:05 AM, TAY wee-beng&lt;<a
                              moz-do-not-send="true"
                              href="mailto:zonexo@gmail.com"
                              target="_blank">zonexo@gmail.com</a>&gt;
                             wrote:<br>
                            <br>
                            On 4/5/2012 3:05 PM, Matthew Knepley wrote:<br>
                            <blockquote class="gmail_quote"
                              style="margin:0 0 0 .8ex;border-left:1px
                              #ccc solid;padding-left:1ex"> On Fri, May
                              4, 2012 at 8:59 AM, TAY wee-beng&lt;<a
                                moz-do-not-send="true"
                                href="mailto:zonexo@gmail.com"
                                target="_blank">zonexo@gmail.com</a>&gt;
                               wrote:<br>
                              <br>
                              Hi,<br>
                              <br>
                              Is there anything else I can try to get it
                              working right?<br>
                              <br>
                              The MatGetNullSpaceRemove() is missing.<br>
                            </blockquote>
                            Where should I add MatGetNullSpaceRemove and
                            what are its syntax? I googled but there's
                            no results.<br>
                            <br>
                            Fixed in p;etsc-dev:<br>
                            <br>
                              <a moz-do-not-send="true"
href="http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatNullSpaceRemove.html"
                              target="_blank">http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatNullSpaceRemove.html</a><br>
                          </blockquote>
                          I just compiled the updated petsc-dev but I
                          got the same error msg when I use:<br>
                          <br>
                          call
                          MatNullSpaceRemove(nullspace,b,PETSC_NULL,ierr)<br>
                          <br>
                          error LNK2019: unresolved external symbol
                          MATNULLSPACEREMOVE referenced in function
                          COMPUTERHS<br>
                          1&gt;c:\obj_tmp\ex29f\Debug\ex29f.exe : fatal
                          error LNK1120: 1 unresolved externals<br>
                          <br>
                          That function is in:<br>
                          <br>
                            src/mat/interface/ftn-custom/zmatrixf.c<br>
                          <br>
                          Did that compile? Can you see the symbol in
                          libpetsc.a?<br>
                          <br>
                              Matt<br>
                          <br>
                          <blockquote class="gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex">      Matt<br>
                            <br>
                            Thanks.<br>
                            <blockquote class="gmail_quote"
                              style="margin:0 0 0 .8ex;border-left:1px
                              #ccc solid;padding-left:1ex">    Matt<br>
                              <br>
                              Thanks!<br>
                              <br>
                              <br>
                              On 2/5/2012 10:11 PM, Matthew Knepley
                              wrote:<br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex"> On Wed,
                                May 2, 2012 at 1:55 PM, TAY wee-beng&lt;<a
                                  moz-do-not-send="true"
                                  href="mailto:zonexo@gmail.com"
                                  target="_blank">zonexo@gmail.com</a>&gt;

                                 wrote:<br>
                                Hi,<br>
                                <br>
                                I did a MatView and VecView on both C
                                and Fortran, right after Mat and Vec
                                assembly. I have attached the printout
                                below. They are exactly the same, but
                                yet the result is different in Neumann
                                condition. However, the dirichlet
                                condition gives the correct ans. Is
                                there anything else that could be wrong
                                even if the Mat and Vec are the same?<br>
                                <br>
                                Did you set the null space for the
                                matrix when you have Neumann conditions?<br>
                              </blockquote>
                              Yes, for the matrix, I set as:<br>
                              <br>
                              call
MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL_OBJECT,nullspace,ierr)<br>
                              <br>
                                  call
                              MatSetNullSpace(jac,nullspace,ierr)<br>
                              <br>
                                  call
                              MatNullSpaceDestroy(nullspace,ierr)<br>
                              <br>
                              for the Vec,<br>
                              <br>
                              call
MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL_OBJECT,nullspace,ierr)<br>
                              <br>
                                  !call
                              MatNullSpaceRemove(nullspace,b,PETSC_NULL,ierr)<br>
                              <br>
                                  call
                              MatNullSpaceDestroy(nullspace,ierr)<br>
                              <br>
                              MatNullSpaceRemove was comment out because
                              there's error during linking<br>
                              <br>
                              <br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">    Matt<br>
                                <br>
                                Thanks!<br>
                                <br>
                                Fortran:<br>
                                <br>
                                Matrix Object: 1 MPI processes<br>
                                  type: seqaij<br>
                                row 0: (0, 2)  (1, -1)  (3, -1)<br>
                                row 1: (0, -1)  (1, 3)  (2, -1)  (4, -1)<br>
                                row 2: (1, -1)  (2, 2)  (5, -1)<br>
                                row 3: (0, -1)  (3, 3)  (4, -1)  (6, -1)<br>
                                row 4: (1, -1)  (3, -1)  (4, 4)  (5, -1)
                                 (7, -1)<br>
                                row 5: (2, -1)  (4, -1)  (5, 3)  (8, -1)<br>
                                row 6: (3, -1)  (6, 2)  (7, -1)<br>
                                row 7: (4, -1)  (6, -1)  (7, 3)  (8, -1)<br>
                                row 8: (5, -1)  (7, -1)  (8, 2)<br>
                                Vector Object:Vec_0000000084000000_0 1
                                MPI processes<br>
                                  type: mpi<br>
                                Process [0]<br>
                                0.25<br>
                                0.0205213<br>
                                1.135e-005<br>
                                0.0205213<br>
                                0.00168449<br>
                                9.31663e-007<br>
                                1.135e-005<br>
                                9.31663e-007<br>
                                5.15289e-010<br>
                                Vector Object:Vec_0000000084000000_1 1
                                MPI processes<br>
                                  type: mpi<br>
                                Process [0]<br>
                                0.14924<br>
                                0.0242397<br>
                                -0.0260347<br>
                                0.0242397<br>
                                -0.0256192<br>
                                -0.0400102<br>
                                -0.0260347<br>
                                -0.0400102<br>
                                -0.0400102<br>
                                Press any key to continue . . .<br>
                                <br>
                                C:<br>
                                <br>
                                Matrix Object: 1 MPI processes<br>
                                  type: seqaij<br>
                                row 0: (0, 2)  (1, -1)  (3, -1)<br>
                                row 1: (0, -1)  (1, 3)  (2, -1)  (4, -1)<br>
                                row 2: (1, -1)  (2, 2)  (5, -1)<br>
                                row 3: (0, -1)  (3, 3)  (4, -1)  (6, -1)<br>
                                row 4: (1, -1)  (3, -1)  (4, 4)  (5, -1)
                                 (7, -1)<br>
                                row 5: (2, -1)  (4, -1)  (5, 3)  (8, -1)<br>
                                row 6: (3, -1)  (6, 2)  (7, -1)<br>
                                row 7: (4, -1)  (6, -1)  (7, 3)  (8, -1)<br>
                                row 8: (5, -1)  (7, -1)  (8, 2)<br>
                                Vector Object:Vec_0x1d3b000_0 1 MPI
                                processes<br>
                                  type: mpi<br>
                                Process [0]<br>
                                0.25<br>
                                0.0205212<br>
                                1.135e-05<br>
                                0.0205212<br>
                                0.00168449<br>
                                9.31663e-07<br>
                                1.135e-05<br>
                                9.31663e-07<br>
                                5.15288e-10<br>
                                Vector Object:Vec_0x1d3b000_1 1 MPI
                                processes<br>
                                  type: mpi<br>
                                Process [0]<br>
                                0.139311<br>
                                0.0305751<br>
                                -0.0220633<br>
                                0.0305751<br>
                                -0.0135158<br>
                                -0.042185<br>
                                -0.0220633<br>
                                -0.042185<br>
                                -0.058449<br>
                                <br>
                                <br>
                                <br>
                                Yours sincerely,<br>
                                <br>
                                TAY wee-beng<br>
                                <br>
                                <br>
                                On 1/5/2012 11:54 PM, Matthew Knepley
                                wrote:<br>
                                <blockquote class="gmail_quote"
                                  style="margin:0 0 0
                                  .8ex;border-left:1px #ccc
                                  solid;padding-left:1ex"> On Tue, May
                                  1, 2012 at 5:48 PM, TAY wee-beng&lt;<a
                                    moz-do-not-send="true"
                                    href="mailto:zonexo@gmail.com"
                                    target="_blank">zonexo@gmail.com</a>&gt;

                                   wrote:<br>
                                  Hi,<br>
                                  <br>
                                  Do you mean my method is wrong?<br>
                                  <br>
                                  I am following the template of ex22f,<br>
                                  <br>
                                  where the variables are declared as :<br>
                                  <br>
                                  PetscScalar  v(5)<br>
                                  <br>
                                  MatStencil   row(4),col(4,5)<br>
                                  <br>
                                  Hence,<br>
                                  <br>
                                  for the neumann BC<br>
                                  <br>
                                  num = 1<br>
                                  <br>
                                                 if (j/=0) then<br>
                                  <br>
                                                     v(num) = -rho*HxdHy<br>
                                  <br>
                                                   
                                   col(MatStencil_i,num) = i<br>
                                  <br>
                                                   
                                   col(MatStencil_j,num) = j-1<br>
                                  <br>
                                                     num = num + 1<br>
                                  <br>
                                                 end if<br>
                                  <br>
                                                 if (i/=0) then<br>
                                  <br>
                                                     v(num) = -rho*HydHx<br>
                                  <br>
                                                   
                                   col(MatStencil_i,num) = i-1<br>
                                  <br>
                                                   
                                   col(MatStencil_j,num) = j<br>
                                  <br>
                                                     num = num + 1<br>
                                  <br>
                                                 end if<br>
                                  <br>
                                                 if (i/=mx-1) then<br>
                                  <br>
                                                     v(num) = -rho*HydHx<br>
                                  <br>
                                                   
                                   col(MatStencil_i,num) = i+1<br>
                                  <br>
                                                   
                                   col(MatStencil_j,num) = j<br>
                                  <br>
                                                     num = num + 1<br>
                                  <br>
                                                 end if<br>
                                  <br>
                                                 if (j/=my-1) then<br>
                                  <br>
                                                     v(num) = -rho*HxdHy<br>
                                  <br>
                                                   
                                   col(MatStencil_i,num) = i<br>
                                  <br>
                                                   
                                   col(MatStencil_j,num) = j+1<br>
                                  <br>
                                                     num = num + 1<br>
                                  <br>
                                                 end if<br>
                                  <br>
                                                 v(num) =
                                  ((num-1)/2.0)*rho*(HxdHy + HydHx)<br>
                                  <br>
                                                 print *, v<br>
                                  <br>
                                                 col(MatStencil_i,num) =
                                  i<br>
                                  <br>
                                                 col(MatStencil_j,num) =
                                  j<br>
                                  <br>
                                                 !num = num + 1<br>
                                  <br>
                                                 call
                                  MatSetValuesStencil(jac,i1,row,num,col,v,INSERT_VALUES,ierr)<br>
                                  <br>
                                  I do not get any more out of range
                                  error. However,my ans is still
                                  different from that of ex29 in C.<br>
                                  <br>
                                  This is very simple. You have an error
                                  in your code. Checking it is very
                                  simple: run the code and<br>
                                  break in MatSetValues(). Make sure
                                  ex29 makes calls with exactly the same
                                  indices as your ex29f.<br>
                                  <br>
                                      Matt<br>
                                  <br>
                                  Yours sincerely,<br>
                                  <br>
                                  TAY wee-beng<br>
                                  <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>
                                </blockquote>
                                <br>
                                <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>
                              </blockquote>
                              <br>
                              <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>
                            </blockquote>
                            <br>
                            <span><font color="#888888"> <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>
                              </font></span></blockquote>
                          <span><font color="#888888"> <br>
                              <span class="HOEnZb"><font color="#888888">
                                  <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>
                                </font></span></font></span></blockquote>
                        <span class="HOEnZb"><font color="#888888"> </font></span></blockquote>
                      <span class="HOEnZb"><font color="#888888"> </font></span></blockquote>
                    <span class="HOEnZb"><font color="#888888"> </font></span></div>
                  <span class="HOEnZb"><font color="#888888"> <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<br>
                    </font></span></div>
              </blockquote>
            </div>
          </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<br>
      </div>
    </blockquote>
  </body>
</html>