flann-lib / flann

Fast Library for Approximate Nearest Neighbors
http://people.cs.ubc.ca/~mariusm/flann
Other
2.22k stars 647 forks source link

Assertion `index > 0 && index < count' failed #452

Open lizabelos opened 4 years ago

lizabelos commented 4 years ago

Hello, I have some troubles using FLANN. The following code causes an error : Assertion index > 0 && index < count failed.

Version : 1.9.1

The code :

            mTargetData = new int[features.size() * 2];
            for (size_t i = 0; i < features.size(); i++) {
                mTargetData[i * 2 + 0] = (int)features[i].x();
                mTargetData[i * 2 + 1] = (int)features[i].y();
            }

            mDataset = new flann::Matrix<int>(mTargetData, features.size(), 2);
            mKDTree = new flann::KDTreeSingleIndex<flann::L2_Simple<int>>(*mDataset, flann::KDTreeIndexParams(1));

            mKDTree->buildIndex();

LLDB :

(lldb) p features.size()
(size_type) $0 = 1666

The stack :

gsignal 0x00007f65664e918b
abort 0x00007f65664c8859
<unknown> 0x00007f65664c8729
__assert_fail 0x00007f65664d9f36
flann::KDTreeSingleIndex<flann::L2_Simple<int> >::middleSplit(int*, int, int&, int&, float&, std::vector<flann::KDTreeSingleIndex<flann::L2_Simple<int> >::Interval, std::allocator<flann::KDTreeSingleIndex<flann::L2_Simple<int> >::Interval> > const&) kdtree_single_index.h:474
flann::KDTreeSingleIndex<flann::L2_Simple<int> >::divideTree(int, int, std::vector<flann::KDTreeSingleIndex<flann::L2_Simple<int> >::Interval, std::allocator<flann::KDTreeSingleIndex<flann::L2_Simple<int> >::Interval> >&) kdtree_single_index.h:396
flann::KDTreeSingleIndex<flann::L2_Simple<int> >::divideTree(int, int, std::vector<flann::KDTreeSingleIndex<flann::L2_Simple<int> >::Interval, std::allocator<flann::KDTreeSingleIndex<flann::L2_Simple<int> >::Interval> >&) kdtree_single_index.h:402
flann::KDTreeSingleIndex<flann::L2_Simple<int> >::buildIndexImpl() kdtree_single_index.h:232
flann::NNIndex<flann::L2_Simple<int> >::buildIndex() nn_index.h:127
PointKDTree::PointKDTree<DistortedVector2d>(tbb::concurrent_vector<DistortedVector2d, tbb::cache_aligned_allocator<DistortedVector2d> >) KDTree.h:27
...

OS Informations :

Operating System: Pop!_OS 20.04 LTS
Kernel: Linux 5.4.0-7626-generic
Architecture: x86-64

Related issues :

301