Re: [firedrake] problems with upgrading PETSc and firedrake
Did you run 'make' in firedrake (can try 'make clean' first, too), and 'make ext' in PyOP2? If that doesn't work, try COFFEE, FFC, UFL, FIAT. I believe the output shown doesn't necessarily mean the segfault occurred during a PETSc operation; if a segfault occurs anywhere in the program (executing a kernel during assembly, say) then I believe you get the same output. On 17 October 2015 at 23:21, Eike Mueller <E.Mueller@bath.ac.uk> wrote:
Dear firedrake,
I just updated petsc and petsc4py (both from mapdes, using the ‘firedrake’ branch), but now whenever I try to create a mesh
from firedrake import * mesh = UnitIcosahedralSphereMesh(refinement_level=2)
I just get a PETSc error (see below). I also upgraded both PyOP2 and firedrake (both on ‘master’), and ran firedrake-clean, but that doesn’t help.
Thanks,
Eike
eikemueller@Eikes-MBP $ python test.py [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: configure using --with-debugging=yes, recompile, link, and run [0]PETSC ERROR: to get more information on the crash. -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 59.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. --------------------------------------------------------------------------
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
Hi Andrew, "make clean” in firedrake was what I was missing. In particular it removes firedrake/dmplex.so Thanks a lot for your help! Eike On 17 Oct 2015, at 23:31, Andrew McRae <A.T.T.McRae@bath.ac.uk<mailto:A.T.T.McRae@bath.ac.uk>> wrote: Did you run 'make' in firedrake (can try 'make clean' first, too), and 'make ext' in PyOP2? If that doesn't work, try COFFEE, FFC, UFL, FIAT. I believe the output shown doesn't necessarily mean the segfault occurred during a PETSc operation; if a segfault occurs anywhere in the program (executing a kernel during assembly, say) then I believe you get the same output. On 17 October 2015 at 23:21, Eike Mueller <E.Mueller@bath.ac.uk<mailto:E.Mueller@bath.ac.uk>> wrote: Dear firedrake, I just updated petsc and petsc4py (both from mapdes, using the ‘firedrake’ branch), but now whenever I try to create a mesh from firedrake import * mesh = UnitIcosahedralSphereMesh(refinement_level=2) I just get a PETSc error (see below). I also upgraded both PyOP2 and firedrake (both on ‘master’), and ran firedrake-clean, but that doesn’t help. Thanks, Eike eikemueller@Eikes-MBP $ python test.py [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<http://valgrind.org/> on GNU/linux and Apple Mac OS X to find memory corruption errors [0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run [0]PETSC ERROR: to get more information on the crash. -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 59. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
Hi Eike, With a proper build system, 'make clean' should never be a requirement for a correct build, as 'make' should always be satisfactory. (Unless you deliberately subvert the system, of course.) If this is a problem you can reproduce, please file a bug. Regards, Miklos ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Eike Mueller [E.Mueller@bath.ac.uk] Sent: 18 October 2015 09:47 To: firedrake Subject: Re: [firedrake] problems with upgrading PETSc and firedrake Hi Andrew, "make clean” in firedrake was what I was missing. In particular it removes firedrake/dmplex.so Thanks a lot for your help! Eike On 17 Oct 2015, at 23:31, Andrew McRae <A.T.T.McRae@bath.ac.uk<mailto:A.T.T.McRae@bath.ac.uk>> wrote: Did you run 'make' in firedrake (can try 'make clean' first, too), and 'make ext' in PyOP2? If that doesn't work, try COFFEE, FFC, UFL, FIAT. I believe the output shown doesn't necessarily mean the segfault occurred during a PETSc operation; if a segfault occurs anywhere in the program (executing a kernel during assembly, say) then I believe you get the same output. On 17 October 2015 at 23:21, Eike Mueller <E.Mueller@bath.ac.uk<mailto:E.Mueller@bath.ac.uk>> wrote: Dear firedrake, I just updated petsc and petsc4py (both from mapdes, using the ‘firedrake’ branch), but now whenever I try to create a mesh from firedrake import * mesh = UnitIcosahedralSphereMesh(refinement_level=2) I just get a PETSc error (see below). I also upgraded both PyOP2 and firedrake (both on ‘master’), and ran firedrake-clean, but that doesn’t help. Thanks, Eike eikemueller@Eikes-MBP $ python test.py [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<http://valgrind.org/> on GNU/linux and Apple Mac OS X to find memory corruption errors [0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run [0]PETSC ERROR: to get more information on the crash. -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 59. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 18/10/15 15:02, Homolya, Miklós wrote:
Hi Eike,
With a proper build system, 'make clean' should never be a requirement for a correct build, as 'make' should always be satisfactory. (Unless you deliberately subvert the system, of course.)
If this is a problem you can reproduce, please file a bug.
make just runs "python setup.py build_ext --inplace" This doesn't really know about dependencies. In particular, it doesn't know that the target depends on PETSc (effectively it will only recompile the extension modules if the source .pyx changed). Writing the makefile to depend on PETSc is possible, but slightly trickier. Something like this may work: +include ${PETSC_DIR}/lib/petsc/conf/variables + +# PETSc libraries the extension modules depend on +DEPLIBS=$(SHLIBS:%=${INSTALL_LIB_DIR}/%.${SL_LINKER_SUFFIX}) + +EXT_MODULES = firedrake/dmplex.so + all: modules - -modules: +modules: $(EXT_MODULES) @echo " Building extension modules" @python setup.py build_ext --inplace > build.log 2>&1 || cat build.log +$(EXT_MODULES): $(DEPLIBS) + @$(MAKE) clean + lint: @echo " Linting firedrake codebase" @flake8 firedrake Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBAgAGBQJWJLF2AAoJECOc1kQ8PEYvFQAIALPtTAFjukc8+NWT1Po7kLUA UtkipL5z9ZnFp6jcN1RZlPnCDk7mcGI7uznkloxqXQirPEuJ1q6SHP10Zj0iccus yl54EX0CtFk7BE/j+cFLINvuE14o6lrnF0tm6s/ell5Qio187wSICWrja9L/glpq mC3+UbbOTgi0IGusj9M6BvnDKcOcwi1PmuouGiEQtqgLvy1KhJxtGhTn4qTEofi0 OTyvtJoXnv0K88U4RL90IY5Bn2AqBt8XDJzzgZ0kV5ADuEcCbDdfxNmSeb4DVcyh KPXIgI9eYskBPdyblJWOzkjr5t3l5J0PSJR+pDSt2c0yldooHL3O6I28y2Mbhmw= =2Ph8 -----END PGP SIGNATURE-----
participants (4)
-
Andrew McRae
-
Eike Mueller
-
Homolya, Miklós
-
Lawrence Mitchell