Can you shoot me your example? I run 1-node z direction both with and without periodic BCs, and with and without ghost nodes, without a valgrind complaint in DMDACreate3D. I don't have a snes though, and it's done in C, not C++.
On Tue, 2011-04-19 at 17:09 +0200, Jed Brown wrote: > On Tue, Apr 19, 2011 at 16:56, Ethan Coon <ecoon at lanl.gov> wrote: > This is in 3.1 I assume? > > Yeah, it's a problem in petsc-dev too (only tested with all periodic > BCs). I get a seg-fault in > > > [0]PETSC ERROR: [0] VecScatterBegin_1 line > 22 /home/jed/petsc/include/../src/vec/vec/utils/vpscat.h > [0]PETSC ERROR: [0] VecScatterBegin line > 1546 /home/jed/petsc/src/vec/vec/utils/vscat.c > [0]PETSC ERROR: [0] DMGlobalToLocalBegin_DA line > 15 /home/jed/petsc/src/dm/impls/da/dagtol.c > [0]PETSC ERROR: [0] DMGlobalToLocalBegin line > 630 /home/jed/petsc/src/dm/interface/dm.c > [0]PETSC ERROR: [0] pci_function line 58 > "unknowndirectory/"divclean.cpp > [0]PETSC ERROR: [0] SNES user function line 0 unknownunknown > [0]PETSC ERROR: [0] SNESComputeFunction line > 1152 /home/jed/petsc/src/snes/interface/snes.c > [0]PETSC ERROR: [0] SNESSolve_LS line > 142 /home/jed/petsc/src/snes/impls/ls/ls.c > [0]PETSC ERROR: [0] SNESSolve line > 2385 /home/jed/petsc/src/snes/interface/snes.c > > > > > earlier valgrind issues > > > ==14160== Invalid read of size 2 > ==14160== at 0x4C26C2C: memcpy > (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==14160== by 0x7589D01: opal_convertor_pack > (in /usr/lib/openmpi/libmpi.so.1.0.1) > ==14160== by 0x114B90C8: ??? > (in /usr/lib/openmpi/openmpi/mca_btl_sm.so) > ==14160== by 0x10C9B1B7: ??? > (in /usr/lib/openmpi/openmpi/mca_pml_ob1.so) > ==14160== by 0x10C89C0C: ??? > (in /usr/lib/openmpi/openmpi/mca_pml_ob1.so) > ==14160== by 0x74D8650: PMPI_Isend > (in /usr/lib/openmpi/libmpi.so.1.0.1) > ==14160== by 0x700B103: PetscGatherMessageLengths (mpimesg.c:127) > ==14160== by 0x6D2B90A: VecScatterCreate_PtoS (vpscat.c:1623) > ==14160== by 0x6D074FD: VecScatterCreate (vscat.c:1334) > ==14160== by 0x5C5939A: DMSetUp_DA_3D (da3.c:953) > ==14160== by 0x5CAA4BF: DMSetUp_DA (dareg.c:22) > ==14160== by 0x5C1CA6C: DMSetUp (dm.c:189) > ==14160== Address 0x12addbb2 is 2 bytes inside a block of size 16 > alloc'd > ==14160== at 0x4C23918: memalign > (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==14160== by 0x707ADEF: PetscMallocAlign (mal.c:30) > ==14160== by 0x6D2B5EA: VecScatterCreate_PtoS (vpscat.c:1603) > ==14160== by 0x6D074FD: VecScatterCreate (vscat.c:1334) > ==14160== by 0x5C5939A: DMSetUp_DA_3D (da3.c:953) > ==14160== by 0x5CAA4BF: DMSetUp_DA (dareg.c:22) > ==14160== by 0x5C1CA6C: DMSetUp (dm.c:189) > ==14160== by 0x5C5CD8D: DMDACreate3d (da3.c:1366) > ==14160== by 0x406608: multi_init(int, char**) > (multi_petsc.cpp:107) > ==14160== by 0x403A67: main (mhd_main.cpp:351) > > > ==14160== Invalid read of size 8 > ==14160== at 0x6D15283: Pack_1 (vpscat.c:498) > ==14160== by 0x6D1BFC2: VecScatterBegin_1 (vpscat.h:100) > ==14160== by 0x6D0A483: VecScatterBegin (vscat.c:1575) > ==14160== by 0x5C62E24: DMGlobalToLocalBegin_DA (dagtol.c:19) > ==14160== by 0x5C1FFE3: DMGlobalToLocalBegin (dm.c:631) > ==14160== by 0x40B408: pci_function(_p_SNES*, _p_Vec*, _p_Vec*, > void*) (divclean.cpp:61) > ==14160== by 0x4E8D9B5: SNESComputeFunction (snes.c:1162) > ==14160== by 0x4E74BB1: SNESSolve_LS (ls.c:158) > ==14160== by 0x4E9A27C: SNESSolve (snes.c:2407) > ==14160== by 0x40AB6F: divclean() (divclean.cpp:27) > ==14160== by 0x403AFD: main (mhd_main.cpp:365) > ==14160== Address 0x12af1570 is 0 bytes after a block of size 800 > alloc'd > ==14160== at 0x4C23918: memalign > (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > ==14160== by 0x707ADEF: PetscMallocAlign (mal.c:30) > ==14160== by 0x6CD46A4: VecCreate_MPI_Private (pbvec.c:409) > ==14160== by 0x6CD4BF7: VecCreate_MPI (pbvec.c:453) > ==14160== by 0x6C8FB00: VecSetType (vecreg.c:53) > ==14160== by 0x6CD4F46: VecCreate_Standard (pbvec.c:482) > ==14160== by 0x6C8FB00: VecSetType (vecreg.c:53) > ==14160== by 0x5C738AB: DMCreateGlobalVector_DA (dadist.c:34) > ==14160== by 0x5C1D2D4: DMCreateGlobalVector (dm.c:277) > ==14160== by 0x5C732FE: VecDuplicate_MPI_DA (dadist.c:17) > ==14160== by 0x6C81665: VecDuplicate (vector.c:485) > ==14160== by 0x40C565: pci_init() (divclean.cpp:177) > > -- ------------------------------------ Ethan Coon Post-Doctoral Researcher Applied Mathematics - T-5 Los Alamos National Laboratory 505-665-8289 http://www.ldeo.columbia.edu/~ecoon/ ------------------------------------
