Closed CaeruleusAqua closed 9 months ago
Hello everyone,
I get a stack overflow when I have larger neighbourhoods.
There are currently 298838 objects in the nbh.
The problem seems to be that the visitor calls the traverse function recursively (I have 18000 function calls in my stack).
[Inlined] std::_Atomic_storage::load(memory_order) atomic:1112 unc::robotics::nigh::impl::LPRegion::distTo(const std::shared_ptr<…> &) region_lp.hpp:197 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Traversal::distToRegion(const std::shared_ptr<…> &, const unc::robotics::nigh::impl::Region<…> &) traversal_lp.hpp:150 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:84 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 18000x [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::impl::kdtree_batch::Traversal::traverse<…>(unc::robotics::nigh::impl::kdtree_batch::Nearest<…> &, const unc::robotics::nigh::metric::Space<…> &, const unc::robotics::nigh::impl::kdtree_batch::Node<…> *, unsigned int, const std::shared_ptr<…> &) traversal_lp.hpp:130 [Inlined] unc::robotics::nigh::impl::kdtree_batch::Nearest::operator()(const unc::robotics::nigh::impl::kdtree_batch::Node<…> *) nearest.hpp:87 unc::robotics::nigh::Nigh::nearest<…>(const std::shared_ptr<…> &) kdtree_batch.hpp:190
Sorry guys that was my fault ;-)
Hello everyone,
I get a stack overflow when I have larger neighbourhoods.
There are currently 298838 objects in the nbh.
The problem seems to be that the visitor calls the traverse function recursively (I have 18000 function calls in my stack).