[petsc-users] evidence that VINEWTONRSLS is broken (in next, but not in maint)

Ed Bueler elbueler at alaska.edu
Wed Mar 11 14:21:12 CDT 2015


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 petsc-maint at mcs.anl.gov----------
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)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150311/5aeeb875/attachment.html>


More information about the petsc-users mailing list