Re: [Boost-bugs] [Boost C++ Libraries] #12861: Segmentation fault when creating R-tree with packing algorithm with gcc4.8.2

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