[petsc-dev] DACreate3d should work for 1 node in Z

Ethan Coon ecoon at lanl.gov
Tue Apr 19 10:18:44 CDT 2011


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/
------------------------------------




More information about the petsc-dev mailing list