[Dune] checkCommunication.cc : Segmentation Faults

Aleksejs Fomins aleksejs.fomins at lspr.ch
Fri Mar 20 16:05:03 CET 2015


Sorry, forgot to add the opts file, maybe the problem is there

On 20/03/15 15:52, Aleksejs Fomins wrote:
> Dear Oliver,
> 
> Thanks for your suggestion. I am compiling dune with -g 3 for now, but I do not see any line numbers anywhere.
> I run my program in terminal using
> 
> valgrind --leak-check=full --track-origins=yes ./test-curvgrid >& log.txt
> 
> Can you suggest how to find the line that is causing the bug?
> 
> Regards,
> Aleksejs
> 
> 
> On 19/03/15 10:07, Oliver Sander wrote:
>> Well, according to the valgrind log the error happens within test-curv, which speaks
>> against your theory.  Please build with -g and run valgrind again, to see the line
>> numbers in the backtrace.
> 
>> Am 19.03.2015 um 09:53 schrieb Aleksejs Fomins:
>>> Dear Dune,
>>>
>>> I have been attempting to debug this particular problem for over a week now, but to no avail. I have a suspicion that the bug is inside the checkCommunication.cc class.
>>>
>>> I run the following test on a single (!) core
>>>
>>> -----------------------------------------------------------------------------------------------
>>>
>>> static Dune::MPIHelper & mpihelper = Dune::MPIHelper::instance(argc, argv);
>>> typedef Dune::CurvilinearGrid<3, 3, double, isGeometryCached> GridType;
>>> GridType * grid = CurvFactory<double, 3, 1>::buildGrid(mpihelper);
>>>
>>> std::cout << "-- Running Base GridCheck" << std::endl;
>>> gridcheck(grid);
>>>
>>> std::cout << "-- Checking LeafGridView" << std::endl;
>>> checkIterators ( grid.leafGridView() );
>>>
>>> std::cout << "-- Checking LevelGridView" << std::endl;
>>> checkIterators ( grid.levelGridView(0) );
>>>
>>> std::cout << "-- Checking Communication" << std::endl;
>>> //checkCommunication(grid, -1, Dune::dvverb);
>>> //for(int l=0; l<=grid.maxLevel(); ++l)  { checkCommunication(grid,l,Dune::dvverb); }
>>>
>>> std::cout << "-- Checking Geometry Lifetime" << std::endl;
>>> checkGeometryLifetime( grid.leafGridView() );
>>>
>>> std::cout << "-- Checking Geometry in Father" << std::endl;
>>> checkGeometryInFather(grid);
>>>
>>> std::cout << "-- Checking Intersection Iterator" << std::endl;
>>> checkIntersectionIterator(grid);
>>>
>>> std::cout << "-- Checking Adaptive Refinement" << std::endl;
>>> checkAdaptRefinement(grid);
>>>
>>> std::cout << "-- Checking Partition Type of LeafGridView" << std::endl;
>>> checkPartitionType( grid.leafGridView() );
>>>
>>> ------------------------------------------------------------------------------------------------
>>>
>>> This test runs without crashes. Now, if I uncomment the checkCommunication and comment all other tests, I get a segmentation fault.
>>>
>>> Please find the Valgrind output for the crash below. Any advice on this bug would be appreciated
>>>
>>> Regards,
>>> Aleksejs
>>>
>>>
>>> ------------------------------------------------------------------------------------------------
>>>
>>>
>>> -- Creating Curvilinear Grid
>>>
>>> -- Checking Communication
>>> ==99947== Conditional jump or move depends on uninitialised value(s)
>>> ==99947==    at 0x518041: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::checkCommunication() (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50F5A3: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::CheckCommunication(Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> > const&, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50A512: void checkCommunication<Dune::CurvilinearGrid<3, 3, double, true>, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >(Dune::CurvilinearGrid<3, 3, double, true> const&, int, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x509B2E: void check_grid<double, 3, true>(Dune::CurvilinearGrid<3, 3, double, true>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5070A3: main (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==  Uninitialised value was created by a stack allocation
>>> ==99947==    at 0x507CCC: Dune::CollectiveCommunication<ompi_communicator_t*>::rank() const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==
>>> TEST Leaf communication for codim 3
>>> ==99947== Invalid write of size 8
>>> ==99947==    at 0x52594E: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::project(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x518184: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::checkCommunication() (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50F5A3: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::CheckCommunication(Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> > const&, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50A512: void checkCommunication<Dune::CurvilinearGrid<3, 3, double, true>, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >(Dune::CurvilinearGrid<3, 3, double, true> const&, int, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x509B2E: void check_grid<double, 3, true>(Dune::CurvilinearGrid<3, 3, double, true>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5070A3: main (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==  Address 0x103f0220 is not stack'd, malloc'd or (recently) free'd
>>> ==99947==
>>> ==99947== Invalid write of size 8
>>> ==99947==    at 0x525976: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::project(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x518184: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::checkCommunication() (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50F5A3: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::CheckCommunication(Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> > const&, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50A512: void checkCommunication<Dune::CurvilinearGrid<3, 3, double, true>, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >(Dune::CurvilinearGrid<3, 3, double, true> const&, int, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x509B2E: void check_grid<double, 3, true>(Dune::CurvilinearGrid<3, 3, double, true>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5070A3: main (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==  Address 0x103f12a0 is not stack'd, malloc'd or (recently) free'd
>>> ==99947==
>>>
>>> valgrind: m_mallocfree.c:288 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.
>>> valgrind: Heap block lo/hi size mismatch: lo = 80, hi = 4606463542527295847.
>>> This is probably caused by your program erroneously writing past the
>>> end of a heap block and corrupting heap metadata.  If you fix any
>>> invalid writes reported by Memcheck, this assertion failure will
>>> probably go away.  Please try that before reporting this as a bug.
>>>
>>> ==99947==    at 0x3804C60F: report_and_quit (m_libcassert.c:210)
>>> ==99947==    by 0x3804C752: vgPlain_assert_fail (m_libcassert.c:284)
>>> ==99947==    by 0x380586FD: vgPlain_arena_free (m_mallocfree.c:286)
>>> ==99947==    by 0x38020C05: create_MC_Chunk (mc_malloc_wrappers.c:154)
>>> ==99947==    by 0x380211F0: vgMemCheck_new_block (mc_malloc_wrappers.c:267)
>>> ==99947==    by 0x3802143D: vgMemCheck___builtin_new (mc_malloc_wrappers.c:295)
>>> ==99947==    by 0x3808F3E6: vgPlain_scheduler (scheduler.c:1461)
>>> ==99947==    by 0x3809E449: run_a_thread_NORETURN (syswrap-linux.c:98)
>>>
>>> sched status:
>>>   running_tid=1
>>>
>>> Thread 1: status = VgTs_Runnable
>>> ==99947==    at 0x4C286E7: operator new(unsigned long) (vg_replace_malloc.c:287)
>>> ==99947==    by 0x528ABF: __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x519361: std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50FBE1: std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50AC88: std::_Vector_base<int, std::allocator<int> >::_M_create_storage(unsigned long) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x509E96: std::_Vector_base<int, std::allocator<int> >::_Vector_base(unsigned long, std::allocator<int> const&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50AD9A: std::vector<int, std::allocator<int> >::vector(std::vector<int, std::allocator<int> > const&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x59F0B6: Dune::PolynomialTraits<double>::Monomial::Monomial(Dune::PolynomialTraits<double>::Monomial const&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5BF501: void std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Val_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)> >(__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Val_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)>) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5BBB17: void std::__unguarded_insertion_sort<__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)> >(__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)>) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid!
 /!
>  tes!
>>>  t/test-cu
>>>  r
>>> vgrid)
>>> ==99947==    by 0x5B7B7D: void std::__final_insertion_sort<__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)> >(__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)>) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/tes!
 t!
>  /te!
>>>  st-curvgr
>>>  i
>>> d)
>>> ==99947==    by 0x5B3CBC: void std::__sort<__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)> >(__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)>) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5AE8ED: void std::sort<__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)>(__gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, __gnu_cxx::__normal_iterator<Dune::PolynomialTraits<double>::Monomial*, std::vector<Dune::PolynomialTraits<double>::Monomial, std::allocator<Dune::PolynomialTraits<double>::Monomial> > >, bool (*)(Dune::PolynomialTraits<double>::Monomial, Dune::PolynomialTraits<double>::Monomial)) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5A7308: Dune::Polynomial<double, 3>::compactify() (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x59F71D: Dune::Polynomial<double, 3>::operator+=(Dune::Polynomial<double, 3> const&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x597728: Dune::CurvilinearGeometry<double, 3, 3, Dune::CurvilinearGeometryTraits<double> >::JacobianDeterminantAnalytical(std::vector<Dune::Polynomial<double, 3>, std::allocator<Dune::Polynomial<double, 3> > > const&) const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x58E078: Dune::CachedCurvilinearGeometry<double, 3, 3, Dune::CurvilinearGeometryTraits<double> >::init() (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5863E4: Dune::CachedCurvilinearGeometry<double, 3, 3, Dune::CurvilinearGeometryTraits<double> >::CachedCurvilinearGeometry<std::vector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > > >(Dune::GeometryType, std::vector<Dune::FieldVector<double, 3>, std::allocator<Dune::FieldVector<double, 3> > > const&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x56CD4A: Dune::CurvilinearGridBase<double, 3, true>::Codim<0>::EntityGeometry Dune::CurvilinearGridBase<double, 3, true>::entityGeometryConstructor<0>(Dune::CurvilinearGridStorage<double, 3, true>::EntityStorage) const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x55E9CC: Dune::CurvilinearGridBase<double, 3, true>::Codim<0>::EntityGeometry Dune::CurvilinearGridBase<double, 3, true>::entityGeometry<0>(int) const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5869CC: Dune::CurvGrid::CurvIntersection<Dune::CurvilinearGrid<3, 3, double, true> const>::geometry() const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x56D5B9: Dune::CurvGrid::CurvIntersection<Dune::CurvilinearGrid<3, 3, double, true> const>::type() const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x55F5DB: Dune::CurvGrid::CurvIntersection<Dune::CurvilinearGrid<3, 3, double, true> const>::generateLocalGeometries() const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x54F9C7: Dune::CurvGrid::CurvIntersection<Dune::CurvilinearGrid<3, 3, double, true> const>::geometryInInside() const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x541BCE: Dune::Intersection<Dune::CurvilinearGrid<3, 3, double, true> const, Dune::CurvGrid::CurvIntersection<Dune::CurvilinearGrid<3, 3, double, true> const> >::geometryInInside() const (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5255D6: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::project(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x518184: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::checkCommunication() (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50F5A3: CheckCommunication<Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> >, 3, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >::CheckCommunication(Dune::GridView<Dune::DefaultLeafGridViewTraits<Dune::CurvilinearGrid<3, 3, double, true> const, (Dune::PartitionIteratorType)4> > const&, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&, int) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x50A512: void checkCommunication<Dune::CurvilinearGrid<3, 3, double, true>, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal> >(Dune::CurvilinearGrid<3, 3, double, true> const&, int, Dune::DebugStream<1u, 4u, 1u, Dune::greater_or_equal>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x509B2E: void check_grid<double, 3, true>(Dune::CurvilinearGrid<3, 3, double, true>&) (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>> ==99947==    by 0x5070A3: main (in /data/fomins/gitwork/hades-github-lspr-ag/dune-curvilineargrid/build-cmake/dune/curvilineargrid/test/test-curvgrid)
>>>
>>> Thread 2: status = VgTs_WaitSys
>>> ==99947==    at 0x6B8FD13: poll (poll.c:87)
>>> ==99947==    by 0x713B3A7: poll_dispatch (in /opt/extlib/openmpi/1.8.1/gcc/4.9.0/lib/libopen-pal.so.6.1.1)
>>> ==99947==    by 0x71328A6: opal_libevent2021_event_base_loop (in /opt/extlib/openmpi/1.8.1/gcc/4.9.0/lib/libopen-pal.so.6.1.1)
>>> ==99947==    by 0x6E82DDD: orte_progress_thread_engine (in /opt/extlib/openmpi/1.8.1/gcc/4.9.0/lib/libopen-rte.so.7.0.3)
>>> ==99947==    by 0x68A9B4F: start_thread (pthread_create.c:304)
>>> ==99947==    by 0x6B9A95C: clone (clone.S:112)
>>>
>>>
>>> Note: see also the FAQ in the source distribution.
>>> It contains workarounds to several common problems.
>>> In particular, if Valgrind aborted or crashed after
>>> identifying problems in your program, there's a good chance
>>> that fixing those problems will prevent Valgrind aborting or
>>> crashing, especially if it happened in m_mallocfree.c.
>>>
>>> If that doesn't help, please report this bug to: www.valgrind.org
>>>
>>> In the bug report, send all the above text, the valgrind
>>> version, and what OS and version you are using.  Thanks.
>>>
>>>
>>> _______________________________________________
>>> Dune mailing list
>>> Dune at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune
>>>
> 
> 
> 
> 
>> _______________________________________________
>> Dune mailing list
>> Dune at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
> 
-------------- next part --------------
#################################################################################################################
## objective - opts file for building curvilineargrid, based on Dune, with cmake
##
## history - 2014 apr 16, created
##
## usage - time ./dune-common/bin/dunecontrol --use-cmake --opts=af.debian7.lsprag.cmakebuild.minimalistic.opts all
##
##################################################################################################################


USE_CMAKE=yes

CONFIGURE_FLAGS="--enable-parallel --enable-experimental-grid-extensions CC=mpicc CXX=mpicxx" 

CMAKE_PREFIX_PATH="\
/opt/extlib/boost/1.55.0/gcc/4.9.0;\
/opt/extlib/parmetis/4.0.3/openmpi/1.8.1/gcc/4.9.0;\
/opt/extlib/metis/5.1.0/gcc/4.9.0;\
"

GXX_WARNING_OPTS="-Wall -pedantic" 
GXX_OPTS="-O0 -g 3" 

CMAKE_FLAGS="\
CXXFLAGS=\"$GXX_WARNING_OPTS $GXX_OPTS\" \
-DPARMETIS_ROOT="/opt/extlib/parmetis/4.0.3/openmpi/1.8.1/gcc/4.9.0" \
-DCMAKE_LIBRARY_PATH:RELEASE=\"/opt/extlib/boost/1.55.0/gcc/4.9.0/lib\" \
-DCMAKE_LIBRARY_PATH:DEBUG=\"/opt/extlib/boost/1.55.0/gcc/4.9.0/lib\" \
-DCMAKE_STANDARD_LIBRARIES:RELEASE=\"-lboost_system\" \
-DCMAKE_STANDARD_LIBRARIES:DEBUG=\"-lboost_system\" \
-DCMAKE_PREFIX_PATH=\"$CMAKE_PREFIX_PATH\" \
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE \
" 



# -DCXXFLAGS=\"-O2 -Wall\" \


More information about the Dune mailing list