Pressing Ctrl or Shfit+<key> when entering a highscore crashes the game

Issue #244 resolved
14mRh4X0r created an issue
==27222==ERROR: AddressSanitizer: heap-use-after-free on address 0x61500008e600 at pc 0x0000006bad98 bp 0x7ffdf9f60b60 sp 0x7ffdf9f60b50
READ of size 8 at 0x61500008e600 thread T0
    #0 0x6bad97 in operator() /home/willem/dev/voxelstorm/sphereface/entity/ship/playership.cpp:593
    #1 0x6bad97 in _M_invoke /usr/include/c++/6.2.1/functional:1740
    #2 0x47aee9 in std::function<void ()>::operator()() const /usr/include/c++/6.2.1/functional:2136
    #3 0x732285 in inputstorm::input::key::execute(int, inputstorm::input::key::actiontype, inputstorm::input::key::modtype) const /home/willem/dev/voxelstorm/sphereface/inputstorm/input/key.cpp:353
    #4 0x7186e6 in inputstorm::callback::key(GLFWwindow*, int, int, int, int) /home/willem/dev/voxelstorm/sphereface/inputstorm/callbacks/key.cpp:30
    #5 0xd8bdc3 in _glfwPlatformPollEvents (/home/willem/dev/voxelstorm/sphereface/bin/Linux64/Debug/sphereFACE_debug+0xd8bdc3)
    #6 0x973f02 in universe::update_view() /home/willem/dev/voxelstorm/sphereface/universe/graphics.cpp:201
    #7 0xabbd25 in universe::update() /home/willem/dev/voxelstorm/sphereface/universe/universe.cpp:775
    #8 0x9b9d81 in operator() /home/willem/dev/voxelstorm/sphereface/universe/loop_highscore.cpp:356
    #9 0x9b9d81 in universe::loop_highscore(bool) /home/willem/dev/voxelstorm/sphereface/universe/loop_highscore.cpp:382
    #10 0x99a4fc in universe::loop_dispatcher() /home/willem/dev/voxelstorm/sphereface/universe/loop_dispatcher.cpp:48
    #11 0x7e3f6c in main /home/willem/dev/voxelstorm/sphereface/main.cpp:83
    #12 0x7f4b967d4290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)
    #13 0x413b59 in _start (/home/willem/dev/voxelstorm/sphereface/bin/Linux64/Debug/sphereFACE_debug+0x413b59)

0x61500008e600 is located 0 bytes inside of 480-byte region [0x61500008e600,0x61500008e7e0)
freed by thread T0 here:
    #0 0x7f4b993cc520 in operator delete(void*) /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_new_delete.cc:92
    #1 0x5cb04d in __gnu_cxx::new_allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >::deallocate(boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>*, unsigned long) /usr/include/c++/6.2.1/ext/new_allocator.h:110
    #2 0x5cb04d in std::allocator_traits<std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::deallocate(std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >&, boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>*, unsigned long) /usr/include/c++/6.2.1/bits/alloc_traits.h:442
    #3 0x5cb04d in std::_Vector_base<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::_M_deallocate(boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>*, unsigned long) /usr/include/c++/6.2.1/bits/stl_vector.h:178
    #4 0x5cb04d in void std::vector<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::_M_emplace_back_aux<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> const&>(boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> const&) /usr/include/c++/6.2.1/bits/vector.tcc:438
    #5 0x5cba70 in std::vector<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::push_back(boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> const&) /usr/include/c++/6.2.1/bits/stl_vector.h:924
    #6 0x5cba70 in void boost::geometry::detail::sectionalize::sectionalize_part<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l> >::apply<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> const*, std::vector<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, std::allocator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> > > >, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >(boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> const*, std::vector<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, std::allocator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> > > >, __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> const*, std::vector<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, std::allocator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> > > >, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::ring_identifier, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:426
    #7 0x91dee1 in void boost::geometry::detail::sectionalize::sectionalize_range<(boost::geometry::closure_selector)1, false, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l> >::apply<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::allocator>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >(boost::geometry::model::ring<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, boost::geometry::ring_identifier, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:535
    #8 0x91dee1 in void boost::geometry::detail::sectionalize::sectionalize_polygon<false, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l> >::apply<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, boost::geometry::ring_identifier, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:567
    #9 0x956b1e in void boost::geometry::sectionalize<false, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, int, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:852
    #10 0x956b1e in void boost::geometry::detail::get_turns::get_turns_generic<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, false, false, boost::geometry::detail::overlay::get_turn_info<boost::geometry::detail::overlay::assign_null_policy> >::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >, boost::geometry::detail::get_turns::no_interrupt_policy>(int, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, int, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >&, boost::geometry::detail::get_turns::no_interrupt_policy&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/get_turns.hpp:468
    #11 0x956b1e in void boost::geometry::get_turns<false, false, boost::geometry::detail::overlay::assign_null_policy, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >, boost::geometry::detail::get_turns::no_interrupt_policy>(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >&, boost::geometry::detail::get_turns::no_interrupt_policy&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/get_turns.hpp:980
    #12 0x956b1e in boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > > boost::geometry::detail::overlay::overlay<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, false, false, false, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, (boost::geometry::overlay_type)1>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void>, boost::geometry::detail::overlay::overlay_null_visitor>(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&, boost::geometry::detail::overlay::overlay_null_visitor&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/overlay.hpp:232
    #13 0x90afee in boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > > boost::geometry::detail::overlay::overlay<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, false, false, false, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, (boost::geometry::overlay_type)1>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/overlay.hpp:311
    #14 0x90afee in bool boost::geometry::dispatch::intersection<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::polygon_tag, boost::geometry::multi_polygon_tag, false>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:53
    #15 0x90afee in bool boost::geometry::dispatch::intersection<boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::multi_polygon_tag, boost::geometry::polygon_tag, true>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> >(boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:91
    #16 0x90afee in bool boost::geometry::resolve_variant::intersection<boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> >::apply<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >(boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:139
    #17 0x90afee in bool boost::geometry::intersection<boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >(boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:300
    #18 0x90afee in sphere::detailed_collision(entity::base&, entity::base&, std::list<sphere::collision, std::allocator<sphere::collision> >&) /home/willem/dev/voxelstorm/sphereface/sphere.cpp:596
    #19 0x90c9cd in sphere::check_collisions() /home/willem/dev/voxelstorm/sphereface/sphere.cpp:502
    #20 0x90e34f in sphere::update() /home/willem/dev/voxelstorm/sphereface/sphere.cpp:424
    #21 0xabbdef in universe::update() /home/willem/dev/voxelstorm/sphereface/universe/universe.cpp:779
    #22 0x9b9d81 in operator() /home/willem/dev/voxelstorm/sphereface/universe/loop_highscore.cpp:356
    #23 0x9b9d81 in universe::loop_highscore(bool) /home/willem/dev/voxelstorm/sphereface/universe/loop_highscore.cpp:382
    #24 0x99a4fc in universe::loop_dispatcher() /home/willem/dev/voxelstorm/sphereface/universe/loop_dispatcher.cpp:48
    #25 0x7e3f6c in main /home/willem/dev/voxelstorm/sphereface/main.cpp:83
    #26 0x7f4b967d4290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)

previously allocated by thread T0 here:
    #0 0x7f4b993cbea0 in operator new(unsigned long) /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5cab91 in __gnu_cxx::new_allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >::allocate(unsigned long, void const*) /usr/include/c++/6.2.1/ext/new_allocator.h:104
    #2 0x5cab91 in std::allocator_traits<std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::allocate(std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >&, unsigned long) /usr/include/c++/6.2.1/bits/alloc_traits.h:416
    #3 0x5cab91 in std::_Vector_base<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::_M_allocate(unsigned long) /usr/include/c++/6.2.1/bits/stl_vector.h:170
    #4 0x5cab91 in void std::vector<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::_M_emplace_back_aux<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> const&>(boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> const&) /usr/include/c++/6.2.1/bits/vector.tcc:412
    #5 0x5cba70 in std::vector<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, std::allocator<boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> > >::push_back(boost::geometry::section<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> const&) /usr/include/c++/6.2.1/bits/stl_vector.h:924
    #6 0x5cba70 in void boost::geometry::detail::sectionalize::sectionalize_part<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l> >::apply<__gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> const*, std::vector<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, std::allocator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> > > >, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >(boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> const*, std::vector<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, std::allocator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> > > >, __gnu_cxx::__normal_iterator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> const*, std::vector<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, std::allocator<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian> > > >, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::ring_identifier, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:426
    #7 0x91dee1 in void boost::geometry::detail::sectionalize::sectionalize_range<(boost::geometry::closure_selector)1, false, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l> >::apply<boost::geometry::model::ring<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::allocator>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >(boost::geometry::model::ring<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, boost::geometry::ring_identifier, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:535
    #8 0x91dee1 in void boost::geometry::detail::sectionalize::sectionalize_polygon<false, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l> >::apply<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, boost::geometry::ring_identifier, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:567
    #9 0x956b1e in void boost::geometry::sectionalize<false, boost::mpl::vector_c<unsigned long, 0l, 1l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l, 9223372036854775807l>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::sections<boost::geometry::model::box<boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian> >, 2ul>&, int, unsigned long) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/sections/sectionalize.hpp:852
    #10 0x956b1e in void boost::geometry::detail::get_turns::get_turns_generic<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, false, false, boost::geometry::detail::overlay::get_turn_info<boost::geometry::detail::overlay::assign_null_policy> >::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >, boost::geometry::detail::get_turns::no_interrupt_policy>(int, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, int, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >&, boost::geometry::detail::get_turns::no_interrupt_policy&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/get_turns.hpp:468
    #11 0x956b1e in void boost::geometry::get_turns<false, false, boost::geometry::detail::overlay::assign_null_policy, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >, boost::geometry::detail::get_turns::no_interrupt_policy>(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> >, std::allocator<boost::geometry::detail::overlay::traversal_turn_info<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::segment_ratio<long long> > > >&, boost::geometry::detail::get_turns::no_interrupt_policy&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/get_turns.hpp:980
    #12 0x956b1e in boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > > boost::geometry::detail::overlay::overlay<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, false, false, false, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, (boost::geometry::overlay_type)1>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void>, boost::geometry::detail::overlay::overlay_null_visitor>(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&, boost::geometry::detail::overlay::overlay_null_visitor&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/overlay.hpp:232
    #13 0x90afee in boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > > boost::geometry::detail::overlay::overlay<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, false, false, false, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, (boost::geometry::overlay_type)1>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, boost::geometry::range::back_insert_iterator<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/overlay/overlay.hpp:311
    #14 0x90afee in bool boost::geometry::dispatch::intersection<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::polygon_tag, boost::geometry::multi_polygon_tag, false>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> >(boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:53
    #15 0x90afee in bool boost::geometry::dispatch::intersection<boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::multi_polygon_tag, boost::geometry::polygon_tag, true>::apply<boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> >(boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&, boost::geometry::intersection_strategies<boost::geometry::cartesian_tag, boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::detail::robust_policy<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, boost::geometry::model::point<long long, 2ul, boost::geometry::cs::cartesian>, float>, void> const&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:91
    #16 0x90afee in bool boost::geometry::resolve_variant::intersection<boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> >::apply<std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >(boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:139
    #17 0x90afee in bool boost::geometry::intersection<boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator>, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > > >(boost::geometry::model::multi_polygon<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::vector, std::allocator> const&, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> const&, std::deque<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator>, std::allocator<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<float, boost::geometry::cs::cartesian>, true, true, std::vector, std::vector, std::allocator, std::allocator> > >&) /home/willem/dev/voxelstorm/boost_1_62_0/boost/geometry/algorithms/detail/intersection/interface.hpp:300
    #18 0x90afee in sphere::detailed_collision(entity::base&, entity::base&, std::list<sphere::collision, std::allocator<sphere::collision> >&) /home/willem/dev/voxelstorm/sphereface/sphere.cpp:596
    #19 0x90c9cd in sphere::check_collisions() /home/willem/dev/voxelstorm/sphereface/sphere.cpp:502
    #20 0x90e34f in sphere::update() /home/willem/dev/voxelstorm/sphereface/sphere.cpp:424
    #21 0xabbdef in universe::update() /home/willem/dev/voxelstorm/sphereface/universe/universe.cpp:779
    #22 0x9b9d81 in operator() /home/willem/dev/voxelstorm/sphereface/universe/loop_highscore.cpp:356
    #23 0x9b9d81 in universe::loop_highscore(bool) /home/willem/dev/voxelstorm/sphereface/universe/loop_highscore.cpp:382
    #24 0x99a4fc in universe::loop_dispatcher() /home/willem/dev/voxelstorm/sphereface/universe/loop_dispatcher.cpp:48
    #25 0x7e3f6c in main /home/willem/dev/voxelstorm/sphereface/main.cpp:83
    #26 0x7f4b967d4290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)

SUMMARY: AddressSanitizer: heap-use-after-free /home/willem/dev/voxelstorm/sphereface/entity/ship/playership.cpp:593 in operator()
Shadow bytes around the buggy address:
  0x0c2a80009c70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2a80009c80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2a80009c90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2a80009ca0: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
  0x0c2a80009cb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c2a80009cc0:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2a80009cd0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2a80009ce0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2a80009cf0: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
  0x0c2a80009d00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c2a80009d10: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==27222==ABORTING

Comments (4)

  1. Log in to comment