Dear PETSc -- I sought advice at the FAQ page on non-convergence. It is a nice page, and I like the range of advice!
But both -pc_type svd -pc_type none seem to break the RSLS SNESVI in the next branch. I tested with ex9.c (below) and ex58.c in next branch src/snes/examples/tutorials/, and get the same broken results. The other SNESVI-using examples (ex60.c, ex61.c, ex63.c, ex64.c, ex65.c) give compiler errors for me. Note that both of the above PC types work fine with non-VI examples (e.g. ex1.c, ex3.c, ex5.c), of course. Furthermore, in the maint branch, these pc_types DO work (very bottom) with ex9, and with ex58 (not shown). I am suspicious of around lines 503-505 in virs.c. That has been the failure location for a lot of my tries on various RSLS VI experiments. I have looked at the source (i.e. virs.c) itself, and recognize roughly what is going on. Objects are being reset because of a change in the active set; it's nontrivial. I don't see how to fix it. Thanks for help! Ed **** next branch ~/petsc-next[next]$ export PETSC_ARCH=linux-c-dbg ~/petsc-next[next]$ cd src/snes/examples/tutorials/ ~/petsc-next/src/snes/examples/tutorials[next]$ make ex9 make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. /home/ed/petsc-next/linux-c-dbg/bin/mpicc -o ex9.o -c -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0 -I/home/ed/petsc-next/include -I/home/ed/petsc-next/linux-c-dbg/include `pwd`/ex9.c /home/ed/petsc-next/linux-c-dbg/bin/mpicc -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0 -o ex9 ex9.o -Wl,-rpath,/home/ed/petsc-next/linux-c-dbg/lib -L/home/ed/petsc-next/linux-c-dbg/lib -lpetsc -Wl,-rpath,/home/ed/petsc-next/linux-c-dbg/lib -lflapack -lfblas -lX11 -lpthread -lm -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -lmpifort -lgfortran -lm -lgfortran -lm -lquadmath -lm -lmpicxx -lstdc++ -Wl,-rpath,/home/ed/petsc-next/linux-c-dbg/lib -L/home/ed/petsc-next/linux-c-dbg/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -ldl -Wl,-rpath,/home/ed/petsc-next/linux-c-dbg/lib -lmpi -lgcc_s -ldl /bin/rm -f ex9.o ~/petsc-next/src/snes/examples/tutorials[next]$ ./ex9 -pc_type lu setup done: grid Mx,My = 11,11 with spacing dx,dy = 0.4000,0.4000 errors: av |u-uexact| = 7.156e-03 |u-uexact|_inf = 2.550e-02 ~/petsc-next/src/snes/examples/tutorials[next]$ ./ex9 setup done: grid Mx,My = 11,11 with spacing dx,dy = 0.4000,0.4000 errors: av |u-uexact| = 7.156e-03 |u-uexact|_inf = 2.550e-02 ~/petsc-next/src/snes/examples/tutorials[next]$ ./ex9 -pc_type svd setup done: grid Mx,My = 11,11 with spacing dx,dy = 0.4000,0.4000 [0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- [0]PETSC ERROR: Corrupt argument: http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind [0]PETSC ERROR: Invalid Pointer to Object: Parameter # 1 [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting. [0]PETSC ERROR: Petsc Development GIT revision: v3.5.3-2947-gc0ac3dd GIT Date: 2015-03-10 22:35:11 -0500 [0]PETSC ERROR: ./ex9 on a linux-c-dbg named bueler-leopard by ed Wed Mar 11 12:47:08 2015 [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-fblaslapack --download-mpich --with-debugging=1 [0]PETSC ERROR: #1 VecDestroy() line 424 in /home/ed/petsc-next/src/vec/vec/interface/vector.c [0]PETSC ERROR: #2 PCReset_SVD() line 295 in /home/ed/petsc-next/src/ksp/pc/impls/svd/svd.c [0]PETSC ERROR: #3 PCReset() line 81 in /home/ed/petsc-next/src/ksp/pc/interface/precon.c [0]PETSC ERROR: #4 KSPReset() line 861 in /home/ed/petsc-next/src/ksp/ksp/interface/itfunc.c [0]PETSC ERROR: #5 SNESVIResetPCandKSP() line 305 in /home/ed/petsc-next/src/snes/impls/vi/rs/virs.c [0]PETSC ERROR: #6 SNESSolve_VINEWTONRSLS() line 503 in /home/ed/petsc-next/src/snes/impls/vi/rs/virs.c [0]PETSC ERROR: #7 SNESSolve() line 3846 in /home/ed/petsc-next/src/snes/interface/snes.c [0]PETSC ERROR: #8 main() line 100 in /home/ed/petsc-next/src/snes/examples/tutorials/ex9.c [0]PETSC ERROR: PETSc Option Table entries: [0]PETSC ERROR: -pc_type svd [0]PETSC ERROR: ----------------End of Error Message -------send entire error message to [email protected] application called MPI_Abort(MPI_COMM_WORLD, 64) - process 0 [unset]: aborting job: application called MPI_Abort(MPI_COMM_WORLD, 64) - process 0 ~/petsc-next/src/snes/examples/tutorials[next]$ ./ex9 -pc_type none setup done: grid Mx,My = 11,11 with spacing dx,dy = 0.4000,0.4000 [0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger [0]PETSC ERROR: or see http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind [0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X to find memory corruption errors [0]PETSC ERROR: likely location of problem given in stack below [0]PETSC ERROR: --------------------- Stack Frames ------------------------------------ [0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available, [0]PETSC ERROR: INSTEAD the line number of the start of the function [0]PETSC ERROR: is given. [0]PETSC ERROR: [0] PCMGSetGalerkin line 1028 /home/ed/petsc-next/src/ksp/pc/impls/mg/mg.c [0]PETSC ERROR: [0] SNESSolve_VINEWTONRSLS line 348 /home/ed/petsc-next/src/snes/impls/vi/rs/virs.c [0]PETSC ERROR: [0] SNESSolve line 3799 /home/ed/petsc-next/src/snes/interface/snes.c [0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- [0]PETSC ERROR: Signal received [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting. [0]PETSC ERROR: Petsc Development GIT revision: v3.5.3-2947-gc0ac3dd GIT Date: 2015-03-10 22:35:11 -0500 [0]PETSC ERROR: ./ex9 on a linux-c-dbg named bueler-leopard by ed Wed Mar 11 12:47:11 2015 [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-fblaslapack --download-mpich --with-debugging=1 [0]PETSC ERROR: #1 User provided function() line 0 in unknown file application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0 [unset]: aborting job: application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0 ~/petsc-next/src/snes/examples/tutorials[next]$ ******* maint branch ~/petsc-maint/src/snes/examples/tutorials[maint]$ make ex9 make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. /home/ed/petsc-maint/linux-c-dbg/bin/mpicc -o ex9.o -c -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0 -I/home/ed/petsc-maint/include -I/home/ed/petsc-maint/linux-c-dbg/include `pwd`/ex9.c /home/ed/petsc-maint/linux-c-dbg/bin/mpicc -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0 -o ex9 ex9.o -Wl,-rpath,/home/ed/petsc-maint/linux-c-dbg/lib -L/home/ed/petsc-maint/linux-c-dbg/lib -lpetsc -Wl,-rpath,/home/ed/petsc-maint/linux-c-dbg/lib -lflapack -lfblas -lX11 -lpthread -lm -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -lmpichf90 -lgfortran -lm -lgfortran -lm -lquadmath -lm -lmpichcxx -lstdc++ -Wl,-rpath,/home/ed/petsc-maint/linux-c-dbg/lib -L/home/ed/petsc-maint/linux-c-dbg/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -ldl -Wl,-rpath,/home/ed/petsc-maint/linux-c-dbg/lib -lmpich -lopa -lmpl -lrt -lpthread -lgcc_s -ldl /bin/rm -f ex9.o ~/petsc-maint/src/snes/examples/tutorials[maint]$ ./ex9 setup done: square side length = 4.000 grid Mx,My = 11,11 spacing dx,dy = 0.400,0.400 number of Newton iterations = 3; result = CONVERGED_FNORM_RELATIVE errors: av |u-uexact| = 7.156e-03 |u-uexact|_inf = 2.550e-02 ~/petsc-maint/src/snes/examples/tutorials[maint]$ ./ex9 -pc_type svd setup done: square side length = 4.000 grid Mx,My = 11,11 spacing dx,dy = 0.400,0.400 number of Newton iterations = 2; result = CONVERGED_FNORM_RELATIVE errors: av |u-uexact| = 7.156e-03 |u-uexact|_inf = 2.550e-02 ~/petsc-maint/src/snes/examples/tutorials[maint]$ ./ex9 -pc_type none setup done: square side length = 4.000 grid Mx,My = 11,11 spacing dx,dy = 0.400,0.400 number of Newton iterations = 2; result = CONVERGED_FNORM_RELATIVE errors: av |u-uexact| = 7.156e-03 |u-uexact|_inf = 2.550e-02 -- Ed Bueler Dept of Math and Stat and Geophysical Institute University of Alaska Fairbanks Fairbanks, AK 99775-6660 301C Chapman and 410D Elvey 907 474-7693 and 907 474-7199 (fax 907 474-5394)
