[petsc-users] valgrind error
Dominik Szczerba
dominik at itis.ethz.ch
Wed Aug 17 11:55:00 CDT 2011
Hi,
I am getting the following valgrind complaint:
==27366== Syscall param writev(vector[...]) points to uninitialised byte(s)
==27366== at 0x6B5E789: writev (writev.c:56)
==27366== by 0x5081F8: MPIDU_Sock_writev (sock_immed.i:610)
==27366== by 0x50A4E3: MPIDI_CH3_iSendv (ch3_isendv.c:84)
==27366== by 0x4EE2F6: MPIDI_CH3_EagerContigIsend (ch3u_eager.c:509)
==27366== by 0x4F0284: MPID_Isend (mpid_isend.c:118)
==27366== by 0x4D7BCA: MPIC_Isend (helper_fns.c:210)
==27366== by 0xEC3ECD: MPIR_Alltoall (alltoall.c:420)
==27366== by 0xEC4730: PMPI_Alltoall (alltoall.c:685)
==27366== by 0xE38B3D: SetUp__ (setup.c:122)
==27366== by 0xE3938C: PartitionSmallGraph__ (weird.c:39)
==27366== by 0xE36678: ParMETIS_V3_PartKway (kmetis.c:131)
==27366== by 0x6A0004: MatPartitioningApply_Parmetis (pmetis.c:97)
==27366== by 0x69C600: MatPartitioningApply (partition.c:236)
==27366== by 0x519266: PetscSolver::LoadMesh(std::string const&)
(PetscSolver.cxx:415)
==27366== by 0x4C1801: CD3T10_BOX::CD3T10_BOX() (cd3t10mpi_main.cxx:64)
==27366== by 0x4C1318: main (cd3t10mpi_main.cxx:673)
==27366== Address 0xc635afc is 12 bytes inside a block of size 72 alloc'd
==27366== at 0x4C28FAC: malloc (vg_replace_malloc.c:236)
==27366== by 0xE4963A: GKmalloc__ (util.c:151)
==27366== by 0xE44AB1: PreAllocateMemory__ (memory.c:38)
==27366== by 0xE3655B: ParMETIS_V3_PartKway (kmetis.c:116)
==27366== by 0x6A0004: MatPartitioningApply_Parmetis (pmetis.c:97)
==27366== by 0x69C600: MatPartitioningApply (partition.c:236)
==27366== by 0x519266: PetscSolver::LoadMesh(std::string const&)
(PetscSolver.cxx:415)
==27366== by 0x4C1801: CD3T10_BOX::CD3T10_BOX() (cd3t10mpi_main.cxx:64)
==27366== by 0x4C1318: main (cd3t10mpi_main.cxx:673)
A few lines around PetscSolver.cxx:415:
MatPartitioning part;
ierr = MatPartitioningCreate(PETSC_COMM_WORLD, &part); CHKERRQ(ierr);
ierr = MatPartitioningSetAdjacency(part, adj); CHKERRQ(ierr);
ierr = MatPartitioningSetNParts(part, np); CHKERRQ(ierr);
ierr = MatPartitioningSetFromOptions(part); CHKERRQ(ierr);
IS isTetAssignment;
415 ierr = MatPartitioningApply(part, &isTetAssignment); CHKERRQ(ierr);
ierr = MatPartitioningDestroy(part); CHKERRQ(ierr);
ierr = PetscGetTime(&time1); CHKERRQ(ierr);
I do not immediately see anything wrong. Is this a real error? Did I
overlook anything?
Many thanks for any opinions.
Dominik
More information about the petsc-users
mailing list