I’m only CHKERRQ’ing inside the routine but I’m not propagating this down to the return code of KSPSolve. I will try to fix this, or maybe switch to CHKERRABORT instead, because it currently goes like KSPSolve (PETSc) -> my stuff (non PETSc) -> MatMatMult or PCApply (PETSc), and I’m not sure I want to put some more PETSc code inside “my stuff” as it can be a pain to maintain for people that uses “my stuff” without PETSc. Sadly, they do exist. Also, I’m using PetscFunction[Begin|End]User, don’t know if switching to PetscFunction[Begin|End] would change something here, though I’m guessing it wouldn't.
I’ll keep you posted, thanks for reporting this, Pierre > On 13 May 2020, at 3:03 PM, Stefano Zampini <[email protected]> wrote: > > The error is raised from HPDDM , that does not stop and I think does not > return error codes. Pierre? > > Il giorno mer 13 mag 2020 alle ore 16:01 Matthew Knepley <[email protected] > <mailto:[email protected]>> ha scritto: > I see my stderr with tests. I am running it right now. > > Matt > > On Wed, May 13, 2020 at 8:55 AM Stefano Zampini <[email protected] > <mailto:[email protected]>> wrote: > I have a test that fails, but it only prints a small amount of information > > [szampini@localhost petsc]$ make -f gmakefile.test test search='ksp%' > searchin='ex75_2_icc' PETSC_ARCH=arch-opt > Using MAKEFLAGS: -- PETSC_ARCH=arch-opt searchin=ex75_2_icc search=ksp% > TEST arch-opt/tests/counts/ksp_ksp_tutorials-ex75_2_icc.counts > ok ksp_ksp_tutorials-ex75_2_icc+reset-false > not ok diff-ksp_ksp_tutorials-ex75_2_icc+reset-false # Error code: 1 > # 3c3 > # < Linear solve converged due to CONVERGED_RTOL iterations 34 > # --- > # > Linear solve did not converge due to DIVERGED_ITS iterations 1000 > ok ksp_ksp_tutorials-ex75_2_icc+reset-true > ok diff-ksp_ksp_tutorials-ex75_2_icc+reset-true > > If I run the test that fails myself, I get PETSC_ERROR messages > > [szampini@localhost tutorials]$ ./ex75 -nmat 3 -pc_type icc > -ksp_converged_reason -ksp_type hpddm -ksp_max_it 1000 -ksp_gmres_restart 40 > -ksp_rtol 1e-10 -ksp_hpddm_type gcrodr -ksp_hpddm_recycle 20 -reset false > -load_dir ${DATAFILESPATH}/matrices/hpddm/GCRODR > Linear solve converged due to CONVERGED_RTOL iterations 94 > Linear solve converged due to CONVERGED_RTOL iterations 37 > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Operation done in wrong order > [0]PETSC ERROR: Need to call MatDenseRestoreArray first > [0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html > <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting. > [0]PETSC ERROR: Petsc Development GIT revision: v3.13.1-192-g23916988c6 GIT > Date: 2020-05-09 02:16:44 +0300 > [0]PETSC ERROR: ./ex75 on a arch-debug named localhost.localdomain by > szampini Wed May 13 15:51:48 2020 > [0]PETSC ERROR: Configure options > --DATAFILESPATH=/home/szampini/Devel/petscdatafiles --download-elemental > --download-chaco --download-ctetgen --download-exodusii --download-glvis > --download-hara --download-hara-commit=HEAD --download-hdf5 --download-hpddm > --download-hpddm-commit=HEAD --download-hypre --download-metis > --download-mfem-commit=origin/master --download-mfem=1 --download-ml > --download-mumps --download-netcdf --download-p4est --download-parmetis > --download-pnetcdf --download-ptscotch --download-revolve > --download-scalapack --download-slepc --download-suitesparse > --download-superlu --download-superlu_dist --download-triangle > --with-blaslapack-include=/usr/include/openblas --with-cxx-dialect=C++11 > --with-fortran-bindings=0 --with-opengl --with-openmp > --with-thrust-dir=/home/szampini/local --with-valgrind --with-zlib > CFLAGS="-Wall -g -O0" CXXFLAGS="-Wall -g -O0" FFLAGS="-g -O0" > PETSC_ARCH=arch-debug > [0]PETSC ERROR: #1 MatDensePlaceArray_SeqDense() line 1364 in > /home/szampini/Devel/petsc/src/mat/impls/dense/seq/dense.c > [0]PETSC ERROR: #2 MatDensePlaceArray() line 1900 in > /home/szampini/Devel/petsc/src/mat/impls/dense/mpi/mpidense.c > [0]PETSC ERROR: #3 GMV() line 128 in > /home/szampini/Devel/petsc/arch-debug/include/HPDDM_PETSc.hpp > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Operation done in wrong order > [0]PETSC ERROR: Need to call MatDenseRestoreArray first > [0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html > <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting. > [0]PETSC ERROR: Petsc Development GIT revision: v3.13.1-192-g23916988c6 GIT > Date: 2020-05-09 02:16:44 +0300 > [0]PETSC ERROR: ./ex75 on a arch-debug named localhost.localdomain by > szampini Wed May 13 15:51:48 2020 > [0]PETSC ERROR: Configure options > --DATAFILESPATH=/home/szampini/Devel/petscdatafiles --download-elemental > --download-chaco --download-ctetgen --download-exodusii --download-glvis > --download-hara --download-hara-commit=HEAD --download-hdf5 --download-hpddm > --download-hpddm-commit=HEAD --download-hypre --download-metis > --download-mfem-commit=origin/master --download-mfem=1 --download-ml > --download-mumps --download-netcdf --download-p4est --download-parmetis > --download-pnetcdf --download-ptscotch --download-revolve > --download-scalapack --download-slepc --download-suitesparse > --download-superlu --download-superlu_dist --download-triangle > --with-blaslapack-include=/usr/include/openblas --with-cxx-dialect=C++11 > --with-fortran-bindings=0 --with-opengl --with-openmp > --with-thrust-dir=/home/szampini/local --with-valgrind --with-zlib > CFLAGS="-Wall -g -O0" CXXFLAGS="-Wall -g -O0" FFLAGS="-g -O0" > PETSC_ARCH=arch-debug > [0]PETSC ERROR: #4 MatDensePlaceArray_SeqDense() line 1364 in > /home/szampini/Devel/petsc/src/mat/impls/dense/seq/dense.c > [0]PETSC ERROR: #5 MatDensePlaceArray() line 1900 in > /home/szampini/Devel/petsc/src/mat/impls/dense/mpi/mpidense.c > [0]PETSC ERROR: #6 apply() line 216 in > /home/szampini/Devel/petsc/arch-debug/include/HPDDM_PETSc.hpp > Linear solve did not converge due to DIVERGED_ITS iterations 1000 > > Why is that? are we suppressing stderr when comparing diffs? > > -- > Stefano > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/> > > > -- > Stefano
