Boost logo

Geometry :

Subject: Re: [geometry] more leaks in rtree
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2012-12-07 09:22:33


> I can't reproduce it. I've tested boost::shared_ptr<MyObj<Point>> and
> everything is ok.
> Still, I have some ideas. Could you switch from compile-time nodes to
> run-time and see if the problem still occurs?
> You just need to change bgi::linear<> to bgi::runtime::linear<> and pass
> bgi::runtime::linear<...>(...) in the constructor.

Sorry, no, other error. If this doesn't help, I'll try to write a
minimum example.

Thanks,
Christophe

==23523== 352 (32 direct, 320 indirect) bytes in 1 blocks are
definitely lost in loss record 10 of 10
==23523== at 0x4C26337: operator new(unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23523== by 0x97E6BD:
boost::geometry::index::detail::rtree::create_node<boost::geometry::index::detail::rtree::allocators<std::allocator<boost::shared_ptr<(anonymous
namespace)::Item> >, boost::shared_ptr<(anonymous namespace)::Item>,
boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::node_d_mem_dynamic_tag>,
boost::geometry::index::detail::rtree::dynamic_internal_node<boost::shared_ptr<(anonymous
namespace)::Item>, boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::allocators<std::allocator<boost::shared_ptr<(anonymous
namespace)::Item> >, boost::shared_ptr<(anonymous namespace)::Item>,
boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::node_d_mem_dynamic_tag>,
boost::geometry::index::node_d_mem_dynamic_tag>
>::apply(boost::geometry::index::detail::rtree::allocators<std::allocator<boost::shared_ptr<(anonymous
namespace)::Item> >, boost::shared_ptr<(anonymous namespace)::Item>,
boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::node_d_mem_dynamic_tag>&) (new_allocator.h:89)
==23523== by 0x984062:
boost::geometry::index::detail::rtree::visitors::insert<boost::shared_ptr<(anonymous
namespace)::Item>, boost::shared_ptr<(anonymous namespace)::Item>,
boost::geometry::index::options::rtree<boost::geometry::index::runtime::linear,
boost::geometry::index::insert_default_tag,
boost::geometry::index::choose_by_content_diff_tag,
boost::geometry::index::split_default_tag,
boost::geometry::index::linear_tag,
boost::geometry::index::node_d_mem_dynamic_tag>, (anonymous
namespace)::Translator,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::allocators<std::allocator<boost::shared_ptr<(anonymous
namespace)::Item> >, boost::shared_ptr<(anonymous namespace)::Item>,
boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::node_d_mem_dynamic_tag>,
boost::geometry::index::insert_default_tag>::operator()(boost::geometry::index::detail::rtree::dynamic_internal_node<boost::shared_ptr<(anonymous
namespace)::Item>, boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::detail::rtree::allocators<std::allocator<boost::shared_ptr<(anonymous
namespace)::Item> >, boost::shared_ptr<(anonymous namespace)::Item>,
boost::geometry::index::runtime::linear,
boost::geometry::model::box<boost::geometry::model::point<double, 2ul,
boost::geometry::cs::cartesian> >,
boost::geometry::index::node_d_mem_dynamic_tag>,
boost::geometry::index::node_d_mem_dynamic_tag>&) (insert.hpp:348)


Geometry list run by mateusz at loskot.net