<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class=""> Thanks for the bug report; your fix is correct. I have corrected it in PETSc and also added support for multiple block per MPI rank in <a href="https://gitlab.com/petsc/petsc/-/merge_requests/5678" class="">https://gitlab.com/petsc/petsc/-/merge_requests/5678</a></div><div class=""><br class=""></div><div class=""> Barry</div><div class=""><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><br class=""><br class="">---------- Forwarded message ----------<br class="">Date: Thu, 22 Sep 2022 02:31:37 +0300<br class="">From: Abylay Zhumekenov <<a href="mailto:ablay94z@gmail.com" class="">ablay94z@gmail.com</a>><br class="">To: <a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a><br class="">Subject: [petsc-users] PCApplySymmetricRight for PCBJACOBI<br class=""><br class="">Hello,<br class=""><br class="">I have been playing around with a block Jacobi preconditioner (PCJACOBI)<br class="">with an incomplete Cholesky (PCICC) sub-preconditioner. Although you cannot<br class="">set KSPSetPCSide to PC_SYMMETRIC for PCBJACOBI, you still can do it for<br class="">PCICC. I was surprised to find that PCApplySymmetricLeft is properly<br class="">applied to a vector. However, PCApplySymmetricRight throws an error:<br class="">...<br class=""> [0]PETSC ERROR: Object is in wrong state<br class=""> [0]PETSC ERROR: VecPlaceArray() was already called on this vector,<br class="">without a call to VecResetArray()<br class=""> ...<br class=""> [0]PETSC ERROR: #3 PCApplySymmetricLeft_BJacobi_Singleblock() at<br class="">/home/abylay/KAUST/Libraries/C/petsc/src/ksp/pc/impls/bjacobi/bjacobi.c:660<br class=""> [0]PETSC ERROR: #4 PCApplySymmetricLeft() at<br class="">/home/abylay/KAUST/Libraries/C/petsc/src/ksp/pc/interface/precon.c:532<br class="">...<br class="">The problem goes away if I add:<br class="">...<br class=""> PetscCall(VecResetArray(bjac->x));<br class=""> PetscCall(VecResetArray(bjac->y));<br class="">...<br class="">at line 698 in source file bjacobi.c. I don't know if it is a bug, and how<br class="">I should report it, just wanted let someone know if it is.<br class="">Thanks.<br class=""><br class="">Abylay Zhumekenov<br class=""></div></div></blockquote></div><br class=""></body></html>