[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