[Boost-bugs] [Boost C++ Libraries] #11533: rtree segfault / assertion failure

Subject: [Boost-bugs] [Boost C++ Libraries] #11533: rtree segfault / assertion failure
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-08-11 16:14:05


#11533: rtree segfault / assertion failure
------------------------------+---------------------------
 Reporter: gewesp@… | Owner: barendgehrels
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: geometry
  Version: Boost 1.58.0 | Severity: Problem
 Keywords: |
------------------------------+---------------------------
 I have occasional segfaults in the production version of KTrax:
 http://ktrax.kisstech.ch/ktrax/

 I've been able to trace the problem to what I believe is a bug in
 boost::geometry. A reduced standalone example to reproduce the problem is
 attached.

 ./rtree-crash 15 4
 [...]
 Assertion failed: ((!children.empty())&&("can't choose the next node if
 children are empty")), function apply, file
 /opt/local/include/boost/geometry/index/detail/rtree/visitors/insert.hpp,
 line 46.

 The bug hits if elements are added, then removed in a different order to
 zero size(),
 then others are added again.

 Some observations:
 * Crash doesn't seem to depend on the coordinates of elements added.
 * Crash reproducible with dimension 1, 2, possibly also higher.
 * Crash reproducible with integer or double coordinates.
 * Minimum example found is with 14 elements.
 * Crash seems reproducible only if *all* elements are removed, but
   this is not verified.
 * Versions tried: 1.58.0 (Mac) and 1.55.0 (Linux)
 * Compilers tried on Mac: clang++, g++

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11533>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC