Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12861: Segmentation fault when creating R-tree with packing algorithm with gcc4.8.2
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-02-22 02:09:09
#12861: Segmentation fault when creating R-tree with packing algorithm with
gcc4.8.2
---------------------------------+----------------------
Reporter: michael.moessner@⦠| Owner: awulkiew
Type: Bugs | Status: new
Milestone: To Be Determined | Component: geometry
Version: Boost 1.63.0 | Severity: Problem
Resolution: | Keywords: rtree
---------------------------------+----------------------
Comment (by awulkiew):
Thanks for the extensive report!
I tested code/data with with gcc-4.8.2-19ubuntu1 (Ubuntu 14.04) and don't
get the same result as you've got. I get an assertion failure regarding
the validity of the boxes (when min > max) passed into the rtree however
after compiling the code with -DNDEBUG (disabling assertions) I don't get
any segfault (though the rtree probably contains garbage), valgrind
(--tool=memcheck) also doesn't complain. Both with -O0 and -O3. I also
tried all possible numbers of boxes between 30685 and 40000 (max) in a
loop with -O3. And the same with valgrind but this time with a step 100
between the numbers of boxes.
The funny thing is that I don't get the assertion failure with
gcc-4.8.5-2ubuntu1 (Linux Mint). It seems like the data is being
serialized differently somehow. To be sure I put a check into the loop
filling bounding_boxes vector:
{{{
if(! bgi::detail::is_valid(box))
{
std::cout << bg::dsv(box) << std::endl;
invalid_count++;
}
}}}
and detected a lot of invalid boxes.
Could you check if that's happening on your machine as well?
Have you tried to run the program on a different machine?
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12861#comment:2> 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-22 02:13:10 UTC