I have added -mat_view to see the matrices and perhaps I found the issue. The matrix G (third one) should have as many columns as the other two, and this is indeed not the case:<div><br /></div><div>Mat Object: 1 MPI processes</div><div>  type: seqaij</div><div>row 0: (0, 3.) </div><div>row 1: (1, 3.) </div><div>row 2: (2, 3.) </div><div>row 3: (3, 3.) </div><div>row 4: (4, 3.) </div><div>row 5: (5, 3.) </div><div>Mat Object: 1 MPI processes</div><div>  type: seqaij</div><div>row 0: (0, 3.) </div><div>row 1: (1, 3.) </div><div>row 2: (2, 3.) </div><div>row 3: (3, 3.) </div><div>row 4: (4, 3.) </div><div>row 5: (5, 3.) </div><div>Mat Object: 1 MPI processes</div><div>  type: seqaij</div><div>row 0: (0, -1.)  (1, 1.) </div><div>row 1: (0, 1.)  (2, -1.) </div><div>row 2: (0, -1.)  (4, 1.) </div><div>row 3: (1, -1.)  (3, 1.) </div><div>row 4: (1, 1.)  (5, -1.) </div><div>row 5: (2, 1.)  (3, -1.) </div><div>row 6: (2, 1.)  (6, -1.) </div><div>row 7: (3, -1.)  (7, 1.) </div><div>row 8: (4, 1.)  (5, -1.) </div><div>row 9: (4, -1.)  (6, 1.) </div><div>row 10: (5, 1.)  (7, -1.) </div><div>row 11: (6, -1.)  (7, 1.) <br /><br />Thank you for the guidance, hopefully after correcting these issues the problem will be solved. I guess the method somewhere considers maybe the columns of G as a reference for the inner sbspace correction matrix and it ends up creating a mismatch. Perhaps I should let them know, an assert for matrix sizes should be there somehwere. </div><div><br /></div><div>Best regards<br /><br /><span>Il 24/01/22 23:02, <b class="name">Matthew Knepley </b> <knepley@gmail.com> ha scritto:</span><blockquote cite="mid:CAMYG4GnQan0+Vv2TFuP3wV33jvQjthknYHJ320s+9ktJkwVU1g@mail.gmail.com" class="iwcQuote" style="border-left: 1px solid #00F; padding-left: 13px; margin-left: 0;" type="cite"><div class="mimetype-multipart-alternative"><div dir="ltr"><div dir="ltr">On Mon, Jan 24, 2022 at 4:42 PM Matthew Knepley <<a href="mailto:knepley@gmail.com" rel="noopener noreferrer" target="1">knepley@gmail.com</a>> wrote:<br /></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div dir="ltr">Okay, I can run your example and get an error. I am looking at it. Not sure if it is us or Hypre yet.</div></blockquote><div><br /></div><div>This is failing inside Hypre. It appears that the A_diag offset array does not match the matrix. Are you giving Hypre</div><div>a rectangular matrix? If so, it appears that the code cannot handle it and accidentally indexes out of the array.</div><div><br /></div><div>  Thanks,</div><div><br /></div><div>     Matt</div><div ><br /></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div dir="ltr"><div>  Thanks,</div><div><br /></div><div>     Matt</div></div><br /><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Mon, Jan 24, 2022 at 12:39 PM Nicolas Alejandro Barnafi <<a href="mailto:nicolas.barnafi@unimi.it" rel="noopener noreferrer" target="1">nicolas.barnafi@unimi.it</a>> wrote:<br /></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div>Please let me know if you were able to run the example (or anyone else). Thanks for the help. </div><div>Kind regards<br /><br />Il 21/01/22 18:05, <b>"Nicolas Alejandro Barnafi" </b> <<a href="mailto:nicolas.barnafi@unimi.it" rel="noopener noreferrer" target="1">nicolas.barnafi@unimi.it</a>> ha scritto:<blockquote style="border-left:1px solid rgb( 0 , 0 , 255 );padding-left:13px;margin-left:0px"><div>Thank you Matt, I have trimmed down ex10 (a lot) to do as required, and it indeed reproduces the error. <div>You may find it attached and it can be reproduced with </div><div>./ex10 -fA Amat -fP Pmat -fG Gmat -ksp_type gmres -pc_type hypre -pc_hypre_type ams</div><div><br /></div><div>Thank you!<br /><br />Il 21/01/22 16:35, <b>Matthew Knepley </b> <<a href="mailto:knepley@gmail.com" rel="noopener noreferrer" target="1">knepley@gmail.com</a>> ha scritto:<blockquote style="border-left:1px solid rgb( 0 , 0 , 255 );padding-left:13px;margin-left:0px"><div><div dir="ltr"><div dir="ltr">On Fri, Jan 21, 2022 at 9:50 AM Nicolas Alejandro Barnafi <<a href="mailto:nicolas.barnafi@unimi.it" rel="noopener noreferrer" target="1">nicolas.barnafi@unimi.it</a>> wrote:<br /></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex">Dear community, <div><br /></div><div>I'm giving the discrete gradient to a PC object (sub PC of a fieldsplit) but HYPRE internally gives a segmentation violation error. The matrix has been adequately set, as I have added it to the program output for inspection. Has this happened to anyone? </div></blockquote><div><br /></div><div>Is there a chance of sending us something that we can run? Alternatively, can you run</div><div><br /></div><div>  <a href="https://gitlab.com/petsc/petsc/-/blob/main/src/ksp/ksp/tutorials/ex10.c" rel="noopener noreferrer noopener noreferrer" target="1">https://gitlab.com/petsc/petsc/-/blob/main/src/ksp/ksp/tutorials/ex10.c</a></div><div><br /></div><div>loading your matrix and giving options to select Hypre? Then we can do the same thing here with your matrix.</div><div><br /></div><div>  Thanks,</div><div><br /></div><div>     Matt</div><div><br /></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div>I have attached the error below together with the discrete gradient, in case you see something I am missing.</div><div><br /></div><div>The code is currently running in serial, so I don't expect communication/partitioning to be an issue (although it could be in the future). </div><div><br /></div><div>Thanks in advance, </div><div>Nicolas</div><div><br /></div><div><br /></div><div>------------------------------ PETSc output ------------------------------------</div><div><br /></div><div><div>Mat Object: 1 MPI processes</div><div>  type: seqaij</div><div> -1.00000e+00  1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00 </div><div> 1.00000e+00  0.00000e+00  -1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00 </div><div> -1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00 </div><div> 0.00000e+00  -1.00000e+00  0.00000e+00  1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00 </div><div> 0.00000e+00  1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  -1.00000e+00  0.00000e+00  0.00000e+00 </div><div> 0.00000e+00  0.00000e+00  1.00000e+00  -1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00 </div><div> 0.00000e+00  0.00000e+00  1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  -1.00000e+00  0.00000e+00 </div><div> 0.00000e+00  0.00000e+00  0.00000e+00  -1.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  1.00000e+00 </div><div> 0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  1.00000e+00  -1.00000e+00  0.00000e+00  0.00000e+00 </div><div> 0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  -1.00000e+00  0.00000e+00  1.00000e+00  0.00000e+00 </div><div> 0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  1.00000e+00  0.00000e+00  -1.00000e+00 </div><div> 0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00  -1.00000e+00  1.00000e+00 </div><div>[0]PETSC ERROR: ------------------------------------------------------------------------</div><div>[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range</div><div>[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger</div><div>[0]PETSC ERROR: or see <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" rel="noopener noreferrer noopener noreferrer" target="1">https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a></div><div>[0]PETSC ERROR: or try <a href="http://valgrind.org" rel="noopener noreferrer noopener noreferrer" target="1">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors</div><div>[0]PETSC ERROR: likely location of problem given in stack below</div><div>[0]PETSC ERROR: ---------------------  Stack Frames ------------------------------------</div><div>[0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,</div><div>[0]PETSC ERROR:       INSTEAD the line number of the start of the function</div><div>[0]PETSC ERROR:       is given.</div><div>[0]PETSC ERROR: [0] jac->setup line 408 /home/ubuntu/petsc/src/ksp/pc/impls/hypre/hypre.c</div><div>[0]PETSC ERROR: [0] PCSetUp_HYPRE line 223 /home/ubuntu/petsc/src/ksp/pc/impls/hypre/hypre.c</div><div>[0]PETSC ERROR: [0] PCSetUp line 971 /home/ubuntu/petsc/src/ksp/pc/interface/precon.c</div><div>[0]PETSC ERROR: [0] KSPSetUp line 319 /home/ubuntu/petsc/src/ksp/ksp/interface/itfunc.c</div><div>[0]PETSC ERROR: [0] KSPSolve_Private line 615 /home/ubuntu/petsc/src/ksp/ksp/interface/itfunc.c</div><div>[0]PETSC ERROR: [0] KSPSolve line 884 /home/ubuntu/petsc/src/ksp/ksp/interface/itfunc.c</div><div>[0]PETSC ERROR: [0] PCApply_FieldSplit line 1241 /home/ubuntu/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c</div><div>[0]PETSC ERROR: [0] PCApply line 426 /home/ubuntu/petsc/src/ksp/pc/interface/precon.c</div><div>[0]PETSC ERROR: [0] KSP_PCApply line 281 /home/ubuntu/petsc/include/petsc/private/kspimpl.h</div><div>[0]PETSC ERROR: [0] KSPInitialResidual line 40 /home/ubuntu/petsc/src/ksp/ksp/interface/itres.c</div><div>[0]PETSC ERROR: [0] KSPSolve_GMRES line 233 /home/ubuntu/petsc/src/ksp/ksp/impls/gmres/gmres.c</div><div>[0]PETSC ERROR: [0] KSPSolve_Private line 615 /home/ubuntu/petsc/src/ksp/ksp/interface/itfunc.c</div><div>[0]PETSC ERROR: [0] KSPSolve line 884 /home/ubuntu/petsc/src/ksp/ksp/interface/itfunc.c</div><div>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------</div><div>[0]PETSC ERROR: Signal received</div><div>[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" rel="noopener noreferrer noopener noreferrer" target="1">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.</div><div>[0]PETSC ERROR: Petsc Release Version 3.14.6, unknown </div><div>[0]PETSC ERROR: Unknown Name on a arch-linux-c-debug named ubuntu-ThinkPad-L14-Gen-1 by ubuntu Fri Jan 21 15:37:45 2022</div><div>[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-mpi=1 --download-superlu_dist --download-mumps --download-hypre --with-debugging=1 COPTFLAGS="-O3 -march=native -mtune=native" CXXOPTFLAGS="-O3 -march=native -mtune=native" FOPTFLAGS="-O3 -march=native -mtune=native" --download-scalapack --download-hpddm</div><div>[0]PETSC ERROR: #1 User provided function() line 0 in  unknown file</div><div>[0]PETSC ERROR: Checking the memory for corruption.</div><div>application called MPI_Abort(MPI_COMM_WORLD, 50176059) - process 0</div><div>[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=50176059</div><div>:</div><div>system msg for write_line failure : Bad file descriptor</div></div></blockquote></div><br /><div><br /></div>-- <br /><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br /></div><div><a href="http://www.cse.buffalo.edu/~knepley/" rel="noopener noreferrer noopener noreferrer" target="1">https://www.cse.buffalo.edu/~knepley/</a><br /></div></div></div></div></div></div></div></div></div></blockquote></div></div></blockquote></div></blockquote></div><br /><div><br /></div>-- <br /><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br /></div><div><a href="http://www.cse.buffalo.edu/~knepley/" rel="noopener noreferrer" target="1">https://www.cse.buffalo.edu/~knepley/</a><br /></div></div></div></div></div></div></div></blockquote></div><br /><div><br /></div>-- <br /><div class="gmail_signature" dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br /></div><div><a href="http://www.cse.buffalo.edu/~knepley/" rel="noopener noreferrer" target="1">https://www.cse.buffalo.edu/~knepley/</a><br /></div></div></div></div></div></div></div></div></div></blockquote></div>