I am building and running the CXXTests through valgrind, and mostly, the tests pass with flying colors. However, when I ran it on the ./xmsgrid/xmsgrid//ugrid/XmUGrid.t.h case, it did find problems.
✦ ➜ valgrind ./runXmUGrid
==214036== Memcheck, a memory error detector
==214036== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==214036== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==214036== Command: ./runXmUGrid
==214036==
Running cxxtest tests (138 tests)......................==214036== Invalid read of size 8
==214036== at 0x458EAC: bool xms::Pt3::operator==(xms::Pt3 const&) const (pt.h:946)
==214036== by 0x45693B: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:505)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== by 0x41E0F7: TestDescription_suite_XmUGridUnitTests_testGetCellPlanViewPolygonMultiSideFace::runTest() (runXmUGrid.t.cpp:165)
==214036== by 0x417D2E: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:121)
==214036== by 0x41BB69: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:103)
==214036== by 0x41BA7A: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:87)
==214036== by 0x41B950: CxxTest::TestRunner::runWorld() (TestRunner.h:67)
==214036== Address 0x556f4a8 is 24 bytes inside a block of size 48 free'd
==214036== at 0x48488DD: operator delete(void*, unsigned long) (vg_replace_malloc.c:935)
==214036== by 0x46AAC0: std::__new_allocator<xms::Pt3 >::deallocate(xms::Pt3, unsigned long) (new_allocator.h:158)
==214036== by 0x465EA5: std::allocator_traits<std::allocator<xms::Pt3 > >::deallocate(std::allocator<xms::Pt3 >&, xms::Pt3, unsigned long) (alloc_traits.h:496)
==214036== by 0x45DC71: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_deallocate(xms::Pt3, unsigned long) (stl_vector.h:387)
==214036== by 0x46327B: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:513)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x456965: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:507)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== Block was alloc'd at
==214036== at 0x4845FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
==214036== by 0x46C9C8: std::__new_allocator<xms::Pt3 >::allocate(unsigned long, void const*) (new_allocator.h:137)
==214036== by 0x468CB1: std::allocator_traits<std::allocator<xms::Pt3 > >::allocate(std::allocator<xms::Pt3 >&, unsigned long) (alloc_traits.h:464)
==214036== by 0x463777: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_allocate(unsigned long) (stl_vector.h:378)
==214036== by 0x4630DF: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:453)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x4568B5: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:496)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036==
==214036== Invalid read of size 8
==214036== at 0x458EC9: bool xms::Pt3::operator==(xms::Pt3 const&) const (pt.h:946)
==214036== by 0x45693B: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:505)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== by 0x41E0F7: TestDescription_suite_XmUGridUnitTests_testGetCellPlanViewPolygonMultiSideFace::runTest() (runXmUGrid.t.cpp:165)
==214036== by 0x417D2E: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:121)
==214036== by 0x41BB69: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:103)
==214036== by 0x41BA7A: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:87)
==214036== by 0x41B950: CxxTest::TestRunner::runWorld() (TestRunner.h:67)
==214036== Address 0x556f4b0 is 32 bytes inside a block of size 48 free'd
==214036== at 0x48488DD: operator delete(void, unsigned long) (vg_replace_malloc.c:935)
==214036== by 0x46AAC0: std::__new_allocator<xms::Pt3 >::deallocate(xms::Pt3, unsigned long) (new_allocator.h:158)
==214036== by 0x465EA5: std::allocator_traits<std::allocator<xms::Pt3 > >::deallocate(std::allocator<xms::Pt3 >&, xms::Pt3, unsigned long) (alloc_traits.h:496)
==214036== by 0x45DC71: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_deallocate(xms::Pt3, unsigned long) (stl_vector.h:387)
==214036== by 0x46327B: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:513)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x456965: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:507)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== Block was alloc'd at
==214036== at 0x4845FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
==214036== by 0x46C9C8: std::__new_allocator<xms::Pt3 >::allocate(unsigned long, void const*) (new_allocator.h:137)
==214036== by 0x468CB1: std::allocator_traits<std::allocator<xms::Pt3 > >::allocate(std::allocator<xms::Pt3 >&, unsigned long) (alloc_traits.h:464)
==214036== by 0x463777: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_allocate(unsigned long) (stl_vector.h:378)
==214036== by 0x4630DF: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:453)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x4568B5: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:496)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036==
==214036== Invalid read of size 8
==214036== at 0x458EAC: bool xms::Pt3::operator==(xms::Pt3 const&) const (pt.h:946)
==214036== by 0x4569A3: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:510)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== by 0x41E0F7: TestDescription_suite_XmUGridUnitTests_testGetCellPlanViewPolygonMultiSideFace::runTest() (runXmUGrid.t.cpp:165)
==214036== by 0x417D2E: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:121)
==214036== by 0x41BB69: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:103)
==214036== by 0x41BA7A: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:87)
==214036== by 0x41B950: CxxTest::TestRunner::runWorld() (TestRunner.h:67)
==214036== Address 0x556f4a8 is 24 bytes inside a block of size 48 free'd
==214036== at 0x48488DD: operator delete(void, unsigned long) (vg_replace_malloc.c:935)
==214036== by 0x46AAC0: std::__new_allocator<xms::Pt3 >::deallocate(xms::Pt3, unsigned long) (new_allocator.h:158)
==214036== by 0x465EA5: std::allocator_traits<std::allocator<xms::Pt3 > >::deallocate(std::allocator<xms::Pt3 >&, xms::Pt3, unsigned long) (alloc_traits.h:496)
==214036== by 0x45DC71: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_deallocate(xms::Pt3, unsigned long) (stl_vector.h:387)
==214036== by 0x46327B: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:513)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x456965: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:507)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== Block was alloc'd at
==214036== at 0x4845FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
==214036== by 0x46C9C8: std::__new_allocator<xms::Pt3 >::allocate(unsigned long, void const*) (new_allocator.h:137)
==214036== by 0x468CB1: std::allocator_traits<std::allocator<xms::Pt3 > >::allocate(std::allocator<xms::Pt3 >&, unsigned long) (alloc_traits.h:464)
==214036== by 0x463777: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_allocate(unsigned long) (stl_vector.h:378)
==214036== by 0x4630DF: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3*, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:453)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x4568B5: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:496)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036==
....................................................................................................................OK!
==214036==
==214036== HEAP SUMMARY:
==214036== in use at exit: 392 bytes in 6 blocks
==214036== total heap usage: 13,953 allocs, 13,947 frees, 17,438,711 bytes allocated
==214036==
==214036== LEAK SUMMARY:
==214036== definitely lost: 0 bytes in 0 blocks
==214036== indirectly lost: 0 bytes in 0 blocks
==214036== possibly lost: 0 bytes in 0 blocks
==214036== still reachable: 392 bytes in 6 blocks
==214036== suppressed: 0 bytes in 0 blocks
==214036== Rerun with --leak-check=full to see details of leaked memory
==214036==
==214036== For lists of detected and suppressed errors, rerun with: -s
==214036== ERROR SUMMARY: 15 errors from 3 contexts (suppressed: 0 from 0)
Thought that I would point it out to someone who was more knowledgeable about the code than I am and who might be able to quickly determine its severity.
Cheers,
Sean Boerner
I am building and running the CXXTests through valgrind, and mostly, the tests pass with flying colors. However, when I ran it on the ./xmsgrid/xmsgrid//ugrid/XmUGrid.t.h case, it did find problems.
✦ ➜ valgrind ./runXmUGrid
==214036== Memcheck, a memory error detector
==214036== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==214036== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==214036== Command: ./runXmUGrid
==214036==
Running cxxtest tests (138 tests)......................==214036== Invalid read of size 8
==214036== at 0x458EAC: bool xms::Pt3::operator==(xms::Pt3 const&) const (pt.h:946)
==214036== by 0x45693B: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:505)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== by 0x41E0F7: TestDescription_suite_XmUGridUnitTests_testGetCellPlanViewPolygonMultiSideFace::runTest() (runXmUGrid.t.cpp:165)
==214036== by 0x417D2E: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:121)
==214036== by 0x41BB69: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:103)
==214036== by 0x41BA7A: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:87)
==214036== by 0x41B950: CxxTest::TestRunner::runWorld() (TestRunner.h:67)
==214036== Address 0x556f4a8 is 24 bytes inside a block of size 48 free'd
==214036== at 0x48488DD: operator delete(void*, unsigned long) (vg_replace_malloc.c:935)
==214036== by 0x46AAC0: std::__new_allocator<xms::Pt3 >::deallocate(xms::Pt3, unsigned long) (new_allocator.h:158)
==214036== by 0x465EA5: std::allocator_traits<std::allocator<xms::Pt3 > >::deallocate(std::allocator<xms::Pt3 >&, xms::Pt3, unsigned long) (alloc_traits.h:496)
==214036== by 0x45DC71: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_deallocate(xms::Pt3, unsigned long) (stl_vector.h:387)
==214036== by 0x46327B: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:513)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x456965: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:507)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== Block was alloc'd at
==214036== at 0x4845FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
==214036== by 0x46C9C8: std::__new_allocator<xms::Pt3 >::allocate(unsigned long, void const*) (new_allocator.h:137)
==214036== by 0x468CB1: std::allocator_traits<std::allocator<xms::Pt3 > >::allocate(std::allocator<xms::Pt3 >&, unsigned long) (alloc_traits.h:464)
==214036== by 0x463777: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_allocate(unsigned long) (stl_vector.h:378)
==214036== by 0x4630DF: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:453)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x4568B5: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:496)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036==
==214036== Invalid read of size 8
==214036== at 0x458EC9: bool xms::Pt3::operator==(xms::Pt3 const&) const (pt.h:946)
==214036== by 0x45693B: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:505)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== by 0x41E0F7: TestDescription_suite_XmUGridUnitTests_testGetCellPlanViewPolygonMultiSideFace::runTest() (runXmUGrid.t.cpp:165)
==214036== by 0x417D2E: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:121)
==214036== by 0x41BB69: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:103)
==214036== by 0x41BA7A: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:87)
==214036== by 0x41B950: CxxTest::TestRunner::runWorld() (TestRunner.h:67)
==214036== Address 0x556f4b0 is 32 bytes inside a block of size 48 free'd
==214036== at 0x48488DD: operator delete(void, unsigned long) (vg_replace_malloc.c:935)
==214036== by 0x46AAC0: std::__new_allocator<xms::Pt3 >::deallocate(xms::Pt3, unsigned long) (new_allocator.h:158)
==214036== by 0x465EA5: std::allocator_traits<std::allocator<xms::Pt3 > >::deallocate(std::allocator<xms::Pt3 >&, xms::Pt3, unsigned long) (alloc_traits.h:496)
==214036== by 0x45DC71: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_deallocate(xms::Pt3, unsigned long) (stl_vector.h:387)
==214036== by 0x46327B: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:513)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x456965: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:507)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== Block was alloc'd at
==214036== at 0x4845FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
==214036== by 0x46C9C8: std::__new_allocator<xms::Pt3 >::allocate(unsigned long, void const*) (new_allocator.h:137)
==214036== by 0x468CB1: std::allocator_traits<std::allocator<xms::Pt3 > >::allocate(std::allocator<xms::Pt3 >&, unsigned long) (alloc_traits.h:464)
==214036== by 0x463777: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_allocate(unsigned long) (stl_vector.h:378)
==214036== by 0x4630DF: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:453)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x4568B5: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:496)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036==
==214036== Invalid read of size 8
==214036== at 0x458EAC: bool xms::Pt3::operator==(xms::Pt3 const&) const (pt.h:946)
==214036== by 0x4569A3: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:510)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== by 0x41E0F7: TestDescription_suite_XmUGridUnitTests_testGetCellPlanViewPolygonMultiSideFace::runTest() (runXmUGrid.t.cpp:165)
==214036== by 0x417D2E: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:121)
==214036== by 0x41BB69: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:103)
==214036== by 0x41BA7A: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:87)
==214036== by 0x41B950: CxxTest::TestRunner::runWorld() (TestRunner.h:67)
==214036== Address 0x556f4a8 is 24 bytes inside a block of size 48 free'd
==214036== at 0x48488DD: operator delete(void, unsigned long) (vg_replace_malloc.c:935)
==214036== by 0x46AAC0: std::__new_allocator<xms::Pt3 >::deallocate(xms::Pt3, unsigned long) (new_allocator.h:158)
==214036== by 0x465EA5: std::allocator_traits<std::allocator<xms::Pt3 > >::deallocate(std::allocator<xms::Pt3 >&, xms::Pt3, unsigned long) (alloc_traits.h:496)
==214036== by 0x45DC71: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_deallocate(xms::Pt3, unsigned long) (stl_vector.h:387)
==214036== by 0x46327B: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:513)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x456965: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:507)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036== Block was alloc'd at
==214036== at 0x4845FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
==214036== by 0x46C9C8: std::__new_allocator<xms::Pt3 >::allocate(unsigned long, void const*) (new_allocator.h:137)
==214036== by 0x468CB1: std::allocator_traits<std::allocator<xms::Pt3 > >::allocate(std::allocator<xms::Pt3 >&, unsigned long) (alloc_traits.h:464)
==214036== by 0x463777: std::_Vector_base<xms::Pt3, std::allocator<xms::Pt3 > >::_M_allocate(unsigned long) (stl_vector.h:378)
==214036== by 0x4630DF: void std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::_M_realloc_insert<xms::Pt3 const&>(__gnu_cxx::__normal_iterator<xms::Pt3*, std::vector<xms::Pt3, std::allocator<xms::Pt3 > > >, xms::Pt3 const&) (vector.tcc:453)
==214036== by 0x45AE33: std::vector<xms::Pt3, std::allocator<xms::Pt3 > >::push_back(xms::Pt3 const&) (stl_vector.h:1287)
==214036== by 0x4568B5: void xms::(anonymous namespace)::iBuildPolygon<xms::Pt3 >(std::vector<std::pair<xms::Pt3, xms::Pt3 >, std::allocator<std::pair<xms::Pt3, xms::Pt3 > > >&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:496)
==214036== by 0x4283EE: xms::(anonymous namespace)::iMergeSegmentsToPoly(std::vector<xms::Pt3, std::allocator<xms::Pt3 > > const&, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) (XmUGrid.cpp:582)
==214036== by 0x42D44A: xms::XmUGrid::Impl::GetPlanViewPolygon3d(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:2561)
==214036== by 0x42A0C4: xms::XmUGrid::Impl::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:1335)
==214036== by 0x42F43C: xms::XmUGrid::GetCellPlanViewPolygon(int, std::vector<xms::Pt3, std::allocator<xms::Pt3 > >&) const (XmUGrid.cpp:3621)
==214036== by 0x447D55: XmUGridUnitTests::testGetCellPlanViewPolygonMultiSideFace() (XmUGrid.cpp:5468)
==214036==
....................................................................................................................OK!
==214036==
==214036== HEAP SUMMARY:
==214036== in use at exit: 392 bytes in 6 blocks
==214036== total heap usage: 13,953 allocs, 13,947 frees, 17,438,711 bytes allocated
==214036==
==214036== LEAK SUMMARY:
==214036== definitely lost: 0 bytes in 0 blocks
==214036== indirectly lost: 0 bytes in 0 blocks
==214036== possibly lost: 0 bytes in 0 blocks
==214036== still reachable: 392 bytes in 6 blocks
==214036== suppressed: 0 bytes in 0 blocks
==214036== Rerun with --leak-check=full to see details of leaked memory
==214036==
==214036== For lists of detected and suppressed errors, rerun with: -s
==214036== ERROR SUMMARY: 15 errors from 3 contexts (suppressed: 0 from 0)
Thought that I would point it out to someone who was more knowledgeable about the code than I am and who might be able to quickly determine its severity.
Cheers,
Sean Boerner