Hong, <br><br>Thanks for testing. Next days I will be away, but next week will report you on problem.<br><br>Am I right that mumps in dev version uses latest parmetis (which means it was patched)?<br><br>Regards,<br>Alexander<br><br>----- Reply message -----<br>From: &quot;Hong Zhang&quot; &lt;hzhang@mcs.anl.gov&gt;<br>To: &quot;PETSc users list&quot; &lt;petsc-users@mcs.anl.gov&gt;<br>Subject: [petsc-users] MatMumpsSetIcntl from Fortran<br>Date: Fri, Dec 2, 2011 5:20 am<br><br><br>Alexander<br>Using blocks below and<br>petsc-dev/src/ksp/ksp/examples/tutorials/ex2f.F, I wrote a Fortran test<br>petsc-dev/src/ksp/ksp/examples/tutorials/ex57f.F (attached).<br><br>I noticed some sloppiness in our interface that fails to take the<br>procedural options,<br>but I did not see crash as you experienced. I updated petsc-mumps<br>interface in petsc-dev.<br>Can you switch to petsc-dev which interfaces with MUMPS_4.10.0 and see<br>if it still crash in Fortran?<br>See http://www.mcs.anl.gov/petsc/developers/index.html on how to get petsc-dev.<br><br>Let us know if you still get problems,<br><br>Hong<br><br>&gt;<br>&gt; This should be enough to reproduce the problem:<br>&gt;<br>&gt;  call KSPCreate(PETSC_COMM_WORLD,ksp,ierr);CHKERRQ(ierr)<br>&gt;  call KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN,ierr);CHKERRQ(ierr)<br>&gt;  call KSPSetType(ksp,KSPPREONLY,ierr);CHKERRQ(ierr)<br>&gt;  call KSPGetPC(ksp,pc,ierr);CHKERRQ(ierr)<br>&gt;  call PCSetType(pc,PCCHOLESKY,ierr);CHKERRQ(ierr)<br>&gt;  call PCFactorSetMatSolverPackage(pc,MATSOLVERMUMPS,ierr);CHKERRQ(ierr)<br>&gt;  call PCFactorSetUpMatSolverPackage(pc,ierr);CHKERRQ(ierr)<br>&gt;  call PCFactorGetMatrix(pc,F,ierr);CHKERRQ(ierr)<br>&gt;  call KSPSetFromOptions(ksp,ierr);CHKERRQ(ierr)<br>&gt;  icntl = 2; ival = 0;<br>&gt;  call MatMumpsSetIcntl(F,icntl,ival,ierr);<br>&gt;<br>&gt; Regards,<br>&gt; Alexander<br>&gt;<br>&gt;<br>&gt; On 30.11.2011 23:43, Hong Zhang wrote:<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Sorry if I wasn&#39;t clear.  &quot;c&quot; example works fine, I know, what I meant is<br>&gt;&gt;&gt; that if you try to implement lines 150-171 from it on FORTRAN you will<br>&gt;&gt;&gt; see<br>&gt;&gt;&gt; the problem I reported.<br>&gt;&gt;&gt; If you need particularly my FORTRAN code I can send it tomorrow.<br>&gt;&gt;<br>&gt;&gt; This would save my time :-)<br>&gt;&gt; Appreciate.<br>&gt;&gt;<br>&gt;&gt; Hong<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Regards,<br>&gt;&gt;&gt; Alexander<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; ----- Reply message -----<br>&gt;&gt;&gt; From: &quot;Hong Zhang&quot;&lt;hzhang@mcs.anl.gov&gt;<br>&gt;&gt;&gt; To: &quot;PETSc users list&quot;&lt;petsc-users@mcs.anl.gov&gt;<br>&gt;&gt;&gt; Subject: [petsc-users] MatMumpsSetIcntl from Fortran<br>&gt;&gt;&gt; Date: Wed, Nov 30, 2011 9:37 pm<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Alexander :<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; I just rewrote code concerning mumps from this example (lines 150-170):<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; http://www.mcs.anl.gov/petsc/petsc-dev/src/ksp/ksp/examples/tutorials/ex52.c.html<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Where is your Fortran code? ex52.c works fine.<br>&gt;&gt;&gt; Hong<br>&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; On 30.11.2011 17:40, Hong Zhang wrote:<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Alexander:<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Has anybody tried to use MatMumpsSetIcntl from Fortran?<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; We are not aware of it.<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Because when I try to call it I fall into infinite recursion in<br>&gt;&gt;&gt;&gt;&gt;&gt; function:<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Can you give me a short Fortran code that repeats this error for<br>&gt;&gt;&gt;&gt;&gt; investigating?<br>&gt;&gt;&gt;&gt;&gt; Meanwhile, you can use runtime option &#39;-mat_mumps_icntl_xxx&lt;&gt;&#39; to get<br>&gt;&gt;&gt;&gt;&gt; your code run.<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Hong<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;  PetscErrorCode MatMumpsSetIcntl(Mat F,PetscInt icntl,PetscInt ival)<br>&gt;&gt;&gt;&gt;&gt;&gt;  {<br>&gt;&gt;&gt;&gt;&gt;&gt;   PetscErrorCode ierr;<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;   PetscFunctionBegin;<br>&gt;&gt;&gt;&gt;&gt;&gt;   PetscValidLogicalCollectiveInt(F,icntl,2);<br>&gt;&gt;&gt;&gt;&gt;&gt;   PetscValidLogicalCollectiveInt(F,ival,3);<br>&gt;&gt;&gt;&gt;&gt;&gt;   ierr =<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscTryMethod(F,&quot;MatMumpsSetIcntl_C&quot;,(Mat,PetscInt,PetscInt),(F,icntl,ival));CHKERRQ(ierr);<br>&gt;&gt;&gt;&gt;&gt;&gt;   PetscFunctionReturn(0);<br>&gt;&gt;&gt;&gt;&gt;&gt;  }<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; At the moment when program crashes call stack looks like:<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;     __libc_memalign,<br>&gt;&gt;&gt;&gt;&gt;&gt; FP=7fff342ca010<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscMallocAlign,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342ca080<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscTrMallocDefault,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342ca180<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscStrallocpy,<br>&gt;&gt;&gt;&gt;&gt;&gt; FP=7fff342ca230<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscFListGetPathAndFunction,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb2e0<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscFListFind,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb520<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscObjectQueryFunction_Petsc,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb590<br>&gt;&gt;&gt;&gt;&gt;&gt; PetscObjectQueryFunction,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb620<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb720<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb820<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cb920<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cba20<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cbb20<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cbc20<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cbd20<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cbe20<br>&gt;&gt;&gt;&gt;&gt;&gt; MatMumpsSetIcntl,<br>&gt;&gt;&gt;&gt;&gt;&gt;  FP=7fff342cbf20<br>&gt;&gt;&gt;&gt;&gt;&gt; ... (Hundreds of MatMumpsSetIcntl) ...<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; What can I do about that?<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Regards,<br>&gt;&gt;&gt;&gt;&gt;&gt; Alexander<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;<br><br>