matrixredisttest leaks memory
When running matrixredisttest
with the valgrind leak checker, it reports an error somewhere in CollectiveCommunication::allreduce
:
==16702== 1,344 bytes in 1 blocks are definitely lost in loss record 65 of 66
==16702== at 0x483577F: malloc (vg_replace_malloc.c:299)
==16702== by 0x5051C3F: ompi_op_create_user (in /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so.40.10.3)
==16702== by 0x5089CE8: PMPI_Op_create (in /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so.40.10.3)
==16702== by 0x1CF0B8: Dune::Generic_MPI_Op<Dune::bigunsignedint<56>, Dune::Max<Dune::bigunsignedint<56> > >::get() (mpicollectivecommunication.hh:45)
==16702== by 0x1C2875: int Dune::CollectiveCommunication<ompi_communicator_t*>::allreduce<Dune::Max<Dune::bigunsignedint<56> >, Dune::bigunsignedint<56> >(Dune::bigunsignedint<56> const*, Dune::bigunsignedint<56>*, int) const (mpicollectivecommunication.hh:329)
==16702== by 0x1B383C: Dune::bigunsignedint<56> Dune::CollectiveCommunication<ompi_communicator_t*>::max<Dune::bigunsignedint<56> >(Dune::bigunsignedint<56> const&) const (mpicollectivecommunication.hh:228)
==16702== by 0x1B0F50: void Dune::fillIndexSetHoles<Dune::Amg::MatrixGraph<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > > >, Dune::bigunsignedint<56>, int>(Dune::Amg::MatrixGraph<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > > > const&, Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<56>, int>&) (repartition.hh:115)
==16702== by 0x1A8589: bool Dune::graphRepartition<Dune::Amg::MatrixGraph<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > > >, Dune::bigunsignedint<56>, int>(Dune::Amg::MatrixGraph<Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > > > const&, Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<56>, int>&, int, std::shared_ptr<Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<56>, int> >&, Dune::RedistributeInterface&, bool) (repartition.hh:1275)
==16702== by 0x1A5995: int testRepart<Dune::FieldMatrix<double, 1, 1> >(int, int) (matrixredisttest.cc:66) ==16702== by 0x19DA57: main (matrixredisttest.cc:138)