Closed sebastic closed 4 years ago
When running the tests manually it seems to hang on:
SFCGAL_algorithm_CoversTest*
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
The unit-test-SFCGAL
process is taking 100% CPU, but I cannot determine what it's doing.
Hmmm, I've recently fixed covers.cpp in https://github.com/Oslandia/SFCGAL/commit/72c962eef25b20af72581215fefd87e7e5812836.
Could you relaunch the test with "-t SFCGAL_algorithm_CoversTest -p -l all" to try to understand where it hangs ?
Unit test started with:
./test/unit/unit-test-SFCGAL -t SFCGAL_algorithm_CoversTest -p -l all -k /tmp/sfcgal-unit-test-SFCGAL_algorithm_CoversTest.txt
Tail of the log file:
/build/sfcgal/test/unit/SFCGAL/algorithm/CoversTest.cpp(116): info: check '138: covers3D(TIN(((3/5 2/5,2/5 2/5,0/1 0/1,3/5 2/5)),((3/5 2/5,0/1 0/1,1/1 0/1,3/5 2/5)),((0/1 1/1,0/1 0/1,2/5 2/5,0/1 1/1)),((0/1 1/1,2/5 3/5,3/5 3/5,0/1 1/1)),((0/1 1/1,2/5 2/5,2/5 3/5,0/1 1/1)),((1/1 1/1,3/5 3/5,1/1 0/1,1/1 1/1)),((1/1 1/1,0/1 1/1,3/5 3/5,1/1 1/1)),((3/5 3/5,3/5 2/5,1/1 0/1,3/5 3/5))), TRIANGLE((0/1 0/1,1/2 0/1,1/2 1/2,0/1 0/1))) should be FALSE' has passed
line#141:2|TIN(((0.6 0.4,0.4 0.4,0 0,0.6 0.4)),((0.6 0.4,0 0,1 0,0.6 0.4)),((0 1,0 0,0.4 0.4,0 1)),((0 1,0.4 0.6,0.6 0.6,0 1)),((0 1,0.4 0.4,0.4 0.6,0 1)),((1 1,0.6 0.6,1 0,1 1)),((1 1,0 1,0.6 0.6,1 1)),((0.6 0.6,0.6 0.4,1 0,0.6 0.6)))|POLYGON((0 0,1 0,1 1,0 1,0 0))|false
/build/sfcgal/test/unit/SFCGAL/algorithm/CoversTest.cpp(112): info: check '141: covers(TIN(((3/5 2/5,2/5 2/5,0/1 0/1,3/5 2/5)),((3/5 2/5,0/1 0/1,1/1 0/1,3/5 2/5)),((0/1 1/1,0/1 0/1,2/5 2/5,0/1 1/1)),((0/1 1/1,2/5 3/5,3/5 3/5,0/1 1/1)),((0/1 1/1,2/5 2/5,2/5 3/5,0/1 1/1)),((1/1 1/1,3/5 3/5,1/1 0/1,1/1 1/1)),((1/1 1/1,0/1 1/1,3/5 3/5,1/1 1/1)),((3/5 3/5,3/5 2/5,1/1 0/1,3/5 3/5))), POLYGON((0/1 0/1,1/1 0/1,1/1 1/1,0/1 1/1,0/1 0/1))) should be FALSE' has passed
line#142:2|POLYGON((0 0,1 0,1 1,0 1,0 0))|TIN(((0.6 0.4,0.4 0.4,0 0,0.6 0.4)),((0.6 0.4,0 0,1 0,0.6 0.4)),((0 1,0 0,0.4 0.4,0 1)),((0 1,0.4 0.6,0.6 0.6,0 1)),((0 1,0.4 0.4,0.4 0.6,0 1)),((1 1,0.6 0.6,1 0,1 1)),((1 1,0 1,0.6 0.6,1 1)),((0.6 0.6,0.6 0.4,1 0,0.6 0.6)))|true
/build/sfcgal/test/unit/SFCGAL/algorithm/CoversTest.cpp(112): info: check '142: covers(POLYGON((0/1 0/1,1/1 0/1,1/1 1/1,0/1 1/1,0/1 0/1)), TIN(((3/5 2/5,2/5 2/5,0/1 0/1,3/5 2/5)),((3/5 2/5,0/1 0/1,1/1 0/1,3/5 2/5)),((0/1 1/1,0/1 0/1,2/5 2/5,0/1 1/1)),((0/1 1/1,2/5 3/5,3/5 3/5,0/1 1/1)),((0/1 1/1,2/5 2/5,2/5 3/5,0/1 1/1)),((1/1 1/1,3/5 3/5,1/1 0/1,1/1 1/1)),((1/1 1/1,0/1 1/1,3/5 3/5,1/1 1/1)),((3/5 3/5,3/5 2/5,1/1 0/1,3/5 3/5)))) should be TRUE' has passed
line#143:3|TIN(((0.6 0.4,0.4 0.4,0 0,0.6 0.4)),((0.6 0.4,0 0,1 0,0.6 0.4)),((0 1,0 0,0.4 0.4,0 1)),((0 1,0.4 0.6,0.6 0.6,0 1)),((0 1,0.4 0.4,0.4 0.6,0 1)),((1 1,0.6 0.6,1 0,1 1)),((1 1,0 1,0.6 0.6,1 1)),((0.6 0.6,0.6 0.4,1 0,0.6 0.6)))|POLYGON((0 0,1 0,1 1,0 1,0 0))|false
/build/sfcgal/test/unit/SFCGAL/algorithm/CoversTest.cpp(116): info: check '143: covers3D(TIN(((3/5 2/5,2/5 2/5,0/1 0/1,3/5 2/5)),((3/5 2/5,0/1 0/1,1/1 0/1,3/5 2/5)),((0/1 1/1,0/1 0/1,2/5 2/5,0/1 1/1)),((0/1 1/1,2/5 3/5,3/5 3/5,0/1 1/1)),((0/1 1/1,2/5 2/5,2/5 3/5,0/1 1/1)),((1/1 1/1,3/5 3/5,1/1 0/1,1/1 1/1)),((1/1 1/1,0/1 1/1,3/5 3/5,1/1 1/1)),((3/5 3/5,3/5 2/5,1/1 0/1,3/5 3/5))), POLYGON((0/1 0/1,1/1 0/1,1/1 1/1,0/1 1/1,0/1 0/1))) should be FALSE' has passed
line#144:3|POLYGON((0 0,1 0,1 1,0 1,0 0))|TIN(((0.6 0.4,0.4 0.4,0 0,0.6 0.4)),((0.6 0.4,0 0,1 0,0.6 0.4)),((0 1,0 0,0.4 0.4,0 1)),((0 1,0.4 0.6,0.6 0.6,0 1)),((0 1,0.4 0.4,0.4 0.6,0 1)),((1 1,0.6 0.6,1 0,1 1)),((1 1,0 1,0.6 0.6,1 1)),((0.6 0.6,0.6 0.4,1 0,0.6 0.6)))|true
/build/sfcgal/test/unit/SFCGAL/algorithm/CoversTest.cpp(116): info: check '144: covers3D(POLYGON((0/1 0/1,1/1 0/1,1/1 1/1,0/1 1/1,0/1 0/1)), TIN(((3/5 2/5,2/5 2/5,0/1 0/1,3/5 2/5)),((3/5 2/5,0/1 0/1,1/1 0/1,3/5 2/5)),((0/1 1/1,0/1 0/1,2/5 2/5,0/1 1/1)),((0/1 1/1,2/5 3/5,3/5 3/5,0/1 1/1)),((0/1 1/1,2/5 2/5,2/5 3/5,0/1 1/1)),((1/1 1/1,3/5 3/5,1/1 0/1,1/1 1/1)),((1/1 1/1,0/1 1/1,3/5 3/5,1/1 1/1)),((3/5 3/5,3/5 2/5,1/1 0/1,3/5 3/5)))) should be TRUE' has passed
line#146:3|SOLID(( ((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)), ((1 0 0,1 1 0,1 1 1,1 0 1,1 0 0)), ((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)), ((0 0 1,0 1 1,0 1 0,0 0 0,0 0 1)), ((1 0 1,1 1 1,0 1 1,0 0 1,1 0 1)), ((1 0 0,1 0 1,0 0 1,0 0 0,1 0 0)) ))|POINT(0.5 0.5 0.5)|true
Full log file: sfcgal-unit-test-SFCGAL_algorithm_CoversTest.txt
Thanks, I can't understand what goes wrong. Can you reproduce it in debug ? Can you run it with gdb and hit ctrl+c when it hangs, to have a stack trace ?
Starting program: /build/sfcgal/obj-x86_64-linux-gnu/test/unit/unit-test-SFCGAL -t SFCGAL_algorithm_CoversTest -p -l all -k /tmp/sfcgal-unit-test-SFCGAL_algorithm_CoversTest.txt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
^C
Program received signal SIGINT, Interrupt.
0x00007ffff79199a5 in _mm_getcsr () at /usr/lib/gcc/x86_64-linux-gnu/8/include/xmmintrin.h:842
842 return _mm_getcsr() & _MM_ROUND_MASK;
(gdb) bt full
#0 0x00007ffff79199a5 in _mm_getcsr () at /usr/lib/gcc/x86_64-linux-gnu/8/include/xmmintrin.h:842
No locals.
#1 _MM_GET_ROUNDING_MODE () at /usr/lib/gcc/x86_64-linux-gnu/8/include/xmmintrin.h:842
No locals.
#2 CGAL::FPU_get_cw () at /usr/include/CGAL/FPU.h:408
cw = <optimized out>
cw = <optimized out>
#3 CGAL::FPU_get_and_set_cw (cw=16384) at /usr/include/CGAL/FPU.h:425
old = <optimized out>
old = <optimized out>
#4 CGAL::Protect_FPU_rounding<true>::Protect_FPU_rounding (r=16384, this=<synthetic pointer>) at /usr/include/CGAL/FPU.h:440
No locals.
#5 CGAL::Lazy_construction<CGAL::Epeck, CGAL::CommonKernelFunctors::Construct_triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::CommonKernelFunctors::Construct_triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, CGAL::Default, true>::operator()<CGAL::Return_base_tag, CGAL::Point_3<CGAL::Epeck>, CGAL::Point_3<CGAL::Epeck>, CGAL::Point_3<CGAL::Epeck> > (this=0x7fffffffb8a6, l0=..., l1=..., l2=..., l3=...) at /usr/include/CGAL/Lazy.h:1698
P = <optimized out>
#6 0x00007ffff79c6dba in CGAL::Triangle_3<CGAL::Epeck>::Triangle_3 (r=..., q=..., p=..., this=0x7fffffffb8a8) at /usr/include/CGAL/Triangle_3.h:73
No locals.
#7 CGAL::get (pmap=..., f=...) at /usr/include/CGAL/boost/graph/property_maps.h:74
tm = <optimized out>
tm = <optimized out>
#8 CGAL::AABB_primitive<CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_face<CGAL::I_Polyhedron_facet<CGAL::HalfedgeDS_face_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Plane_3<CGAL::Epeck> > > >, std::allocator<CGAL::HalfedgeDS_in_place_list_face<CGAL::I_Polyhedron_facet<CGAL::HalfedgeDS_face_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Plane_3<CGAL::Epeck> > > > > >, CGAL::Triangle_from_face_descriptor_map<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::internal::Point_accessor<CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<CGAL::HalfedgeDS_vertex_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Point_3<CGAL::Epeck> > > >, std::allocator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<CGAL::HalfedgeDS_vertex_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Point_3<CGAL::Epeck> > > > > >, CGAL::Point_3<CGAL::Epeck>, CGAL::Point_3<CGAL::Epeck>&> >, CGAL::One_point_from_face_descriptor_map<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::internal::Point_accessor<CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<CGAL::HalfedgeDS_vertex_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Point_3<CGAL::Epeck> > > >, std::allocator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<CGAL::HalfedgeDS_vertex_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Point_3<CGAL::Epeck> > > > > >, CGAL::Point_3<CGAL::Epeck>, CGAL::Point_3<CGAL::Epeck>&> >, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >::datum (this=<optimized out>, data=...) at /usr/include/CGAL/AABB_primitive.h:219
No locals.
#9 CGAL::internal::Primitive_helper<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, true>::get_datum (traits=..., p=...) at /usr/include/CGAL/internal/AABB_tree/Primitive_helper.h:57
No locals.
#10 CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> >::intersection<CGAL::Ray_3<CGAL::Epeck> > (this=this@entry=0x7fffffffbb40, query=..., primitive=...)
at /usr/include/CGAL/Polygon_mesh_processing/internal/Side_of_triangle_mesh/Ray_3_Triangle_3_traversal_traits.h:63
visitor = <optimized out>
res = <optimized out>
#11 0x00007ffff79ca538 in CGAL::AABB_node<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> >::traversal<CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> >, CGAL::Ray_3<CGAL::Epeck> > (this=0x555555989588, query=..., traits=..., nb_primitives=nb_primitives@entry=2)
at /usr/include/CGAL/Filtered_predicate.h:70
No locals.
#12 0x00007ffff79ca5a1 in CGAL::AABB_node<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> >::traversal<CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> >, CGAL::Ray_3<CGAL::Epeck> > (this=0x555555989548, query=..., traits=..., nb_primitives=nb_primitives@entry=3)
at /usr/include/CGAL/Filtered_predicate.h:70
No locals.
#13 0x00007ffff79ca52c in CGAL::AABB_node<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> >::traversal<CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> >, CGAL::Ray_3<CGAL::Epeck> > (this=0x555555989488, query=..., traits=..., nb_primitives=nb_primitives@entry=6)
at /usr/include/CGAL/Filtered_predicate.h:70
No locals.
#14 0x00007ffff79ca4fc in CGAL::AABB_node<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> >::traversal<CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> >, CGAL::Ray_3<CGAL::Epeck> > (this=0x555555989448, query=..., traits=..., nb_primitives=12)
at /usr/include/CGAL/Filtered_predicate.h:70
No locals.
#15 0x00007ffff79e607a in CGAL::AABB_tree<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> >::traversal<CGAL::Ray_3<CGAL::Epeck>, CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> > > (traits=..., query=..., this=0x55555598cfd0)
at /usr/include/c++/8/bits/stl_vector.h:805
No locals.
#16 CGAL::AABB_tree<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_ta
g<false> >, CGAL::Default> >::traversal<CGAL::Ray_3<CGAL::Epeck>, CGAL::internal::Ray_3_Triangle_3_traversal_traits<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default>, CGAL::Epeck, CGAL::Boolean_tag<false> > > (traits=..., query=..., this=0x55555598cfd0) at /usr/include/CGAL/AABB_tree.h:611
No locals.
#17 CGAL::internal::Point_inside_vertical_ray_cast<CGAL::Epeck, CGAL::AABB_tree<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> > >::is_inside_ray_tree_traversal<false> (tree=..., ray=..., this=<optimized out>)
at /usr/include/CGAL/Polygon_mesh_processing/internal/Side_of_triangle_mesh/Point_inside_vertical_ray_cast.h:94
status = {first = {value = boost::logic::tribool::true_value}, second = 0}
traversal_traits = {m_status = {first = {value = boost::logic::tribool::true_value}, second = 0}, m_stop = false, m_aabb_traits = @0x55555598cfd0}
status = <optimized out>
traversal_traits = <optimized out>
#18 CGAL::internal::Point_inside_vertical_ray_cast<CGAL::Epeck, CGAL::AABB_tree<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_face_graph_triangle_primitive<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Default, CGAL::Boolean_tag<true>, CGAL::Boolean_tag<false> >, CGAL::Default> > >::operator() (this=<optimized out>, point=..., tree=..., ray_functor=..., vector_functor=...)
at /usr/include/CGAL/Polygon_mesh_processing/internal/Side_of_triangle_mesh/Point_inside_vertical_ray_cast.h:77
rg = {random_value = 9699, val = 0, seed = 1340818006, rng = {static has_fixed_range = false, lcf = {static has_fixed_range = <optimized out>, static multiplier = <optimized out>, static increment = <optimized out>, static modulus = <optimized out>,
static default_seed = <optimized out>, _x = 240610118141409}}}
random_point = {<CGAL::Random_generator_base<CGAL::Point_3<CGAL::Epeck> >> = {<CGAL::Generator_base<CGAL::Point_3<CGAL::Epeck> >> = {
d_item = {<CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x555555985490}, <No data fields>}, <No data fields>}, d_range = 1}, _rnd = @0x7fffffffbb00}, <No data fields>}
bbox = @0x7fffffffbb70: {rep = {elems = {0, 0, 0, 1, 1, 1}}}
query = {<CGAL::Lazy<CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Ray_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x555555985520}, <No data fields>}, <No data fields>}
res = {<boost::optional_detail::tc_optional_base<CGAL::Bounded_side>> = {<boost::optional_detail::optional_tag> = {<No data fields>}, m_initialized = false, m_storage = <optimized out>}, <No data fields>}
#19 0x00007ffff7ab5971 in CGAL::Side_of_triangle_mesh<CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> >, CGAL::Epeck, CGAL::Default, CGAL::Default>::operator() (point=..., this=0x7fffffffbc90)
at /usr/include/CGAL/Side_of_triangle_mesh.h:196
No locals.
#20 SFCGAL::algorithm::intersects_volume_x::operator()<CGAL::Point_3<CGAL::Epeck> > (this=0x7fffffffbe40, geometry=0x55555596f130) at ./src/algorithm/intersects.cpp:266
pit =
{_primitive = {<CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {PTR = 0x55555598c420}, <No data fields>}, <No data fields>}, _flags = 0}
is_in_poly = {ray_functor = {static Protection = <optimized out>, ac = {<No data fields>}, ec = {<No data fields>}}, vector_functor = {static Protection = <optimized out>, ac = {<No data fields>}, ec = {<No data fields>}}, tree_ptr = 0x55555598cfd0,
own_tree = true}
points = {_points = std::set with 1 element = {[0] = {
_primitive = {<CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x55555598c420}, <No data fields>}, <No data fields>}, _flags = 0}}, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = empty std::__cxx11::list}
g = {_points = std::set with 140737346752974 elements<error reading variable: Cannot access memory at address 0x5c100ff2c55c1002>, _segments = std::set with 93824996538128 elements<error reading variable: Cannot access memory at address 0x550000000000842f>,
_surfaces = std::__cxx11::list = {[0] = {
_primitive = {<CGAL::Lazy<CGAL::Triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x7ffff7da4f08 <vtable for SFCGAL::Point+16>}, <No data fields>}, <No data fields>}, _flags = 0}, [1] = {
_primitive = {<CGAL::Lazy<CGAL::Triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x5555559708c0}, <No data fields>}, <No data fields>}, _flags = 1435956976}, [2] = {
_primitive = {<CGAL::Lazy<CGAL::Triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x7ffff6754da0}, <No data fields>}, <No data fields>}, _flags = -160084576}, [3] = {
_primitive = {<CGAL::Lazy<CGAL::Triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x100000001}, <No data fields>}, <No data fields>}, _flags = 1435880192}, [4] = {
_primitive = {<CGAL::Lazy<CGAL::Triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x100000001}, <No data fields>}, <No data fields>}, _flags = 1436021744}, [5] = {
_primitive = {<CGAL::Lazy<CGAL::Triangle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Triangle_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x100000001}, <No data fields>}, <No data fields>}, _flags = 1435964704}, [6] = <error reading variable>
triangles = {_points = std::set with 1 element = {[0] = {
_primitive = {<CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x55555598c420}, <No data fields>}, <No data fields>}, _flags = 0}}, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = empty std::__cxx11::list}
#21 0x00007ffff7aac825 in boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false>::internal_visit<CGAL::Point_3<CGAL::Epeck> const* const> (this=<synthetic pointer>, operand=@0x555555975e08: 0x55555596f130)
at /usr/include/boost/variant/variant.hpp:1064
No locals.
#22 boost::detail::variant::visitation_impl_invoke_impl<boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false>, void const*, CGAL::Point_3<CGAL::Epeck> const*> (storage=0x555555975e08, visitor=<synthetic pointer>...)
at /usr/include/boost/variant/detail/visitation_impl.hpp:114
No locals.
#23 boost::detail::variant::visitation_impl_invoke<boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false>, void const*, CGAL::Point_3<CGAL::Epeck> const*, boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::has_fallback_type_> (internal_which=<optimized out>, t=0x0, storage=0x555555975e08, visitor=<synthetic pointer>...)
at /usr/include/boost/variant/detail/visitation_impl.hpp:154
No locals.
#24 boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<4l>, CGAL::Point_3<CGAL::Epeck> const*, boost::mpl::l_item<mpl_::long_<3l>, CGAL::Segment_3<CGAL::Epeck> const*, boost::mpl::l_item<mpl_::long_<2l>, CGAL::Triangle_3<CGAL::Epeck> const*, boost::mpl::l_item<mpl_::long_<1l>, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::mpl::l_end> > > > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false>, void const*, boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::has_fallback_type_> (internal_which=<optimized out>, logical_which=0, no_backup_flag=..., storage=0x555555975e08, visitor=<synthetic pointer>...)
at /usr/include/boost/variant/detail/visitation_impl.hpp:238
No locals.
#25 boost::detail::variant::visitation_impl<mpl_::int_<0>, boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<4l>, CGAL::Point_3<CGAL::Epeck> const*, boost::mpl::l_item<mpl_::long_<3l>, CGAL::Segment_3<CGAL::Epeck> const*, boost::mpl::l_item<mpl_::long_<2l>, CGAL::Triangle_3<CGAL::Epeck> const*, boost::mpl::l_item<mpl_::long_<1l>, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::mpl::l_end> > > > >, boost::mpl::l_iter<boost::mpl::l_end> >, boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false>, void const*, boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::has_fallback_type_> (no_backup_flag=..., storage=0x555555975e08, visitor=<synthetic pointer>..., logical_which=<optimized out>, internal_which=<optimized out>)
at /usr/include/boost/variant/detail/visitation_impl.hpp:201
No locals.
#26 boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::internal_apply_visitor_impl<boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false>, void const*> (storage=0x555555975e08, visitor=<synthetic pointer>..., logical_which=<optimized out>, internal_which=<optimized out>) at /usr/include/boost/variant/variant.hpp:2452
No locals.
#27 boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::invoke_visitor<SFCGAL::algorithm::intersects_volume_x, false> > (visitor=<synthetic pointer>..., this=0x555555975e00) at /usr/include/boost/variant/variant.hpp:2477
No locals.
#28 boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::apply_visitor<SFCGAL::algorithm::intersects_volume_x> (
visitor=..., this=0x555555975e00) at /usr/include/boost/variant/variant.hpp:2531
invoker = <optimized out>
invoker = <optimized out>
#29 boost::apply_visitor<SFCGAL::algorithm::intersects_volume_x, boost::variant<CGAL::Point_3<CGAL::Epeck> const*, CGAL::Segment_3<CGAL::Epeck> const*, CGAL::Triangle_3<CGAL::Epeck> const*, CGAL::Polyhedron_3<CGAL::Epeck, SFCGAL::detail::Items_with_mark_on_hedge, CGAL::HalfedgeDS_default, std::allocator<int> > const*, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const> (visitable=..., visitor=...) at /usr/include/boost/variant/detail/apply_visitor_unary.hpp:81
No locals.
#30 SFCGAL::algorithm::_intersects(SFCGAL::detail::PrimitiveHandle<3> const&, SFCGAL::detail::PrimitiveHandle<3> const&) () at ./src/algorithm/intersects.cpp:306
visitor = {<boost::static_visitor<bool>> = {<boost::detail::is_static_visitor_tag> = {<No data fields>}, <No data fields>}, polyhedron = 0x555555988f30}
#31 0x00007ffff7ab4395 in SFCGAL::algorithm::intersects<3> (pa=..., pb=...) at ./src/algorithm/intersects.cpp:345
No locals.
#32 0x00007ffff797c365 in SFCGAL::algorithm::intersection(SFCGAL::detail::PrimitiveHandle<3> const&, SFCGAL::detail::PrimitiveHandle<3> const&, SFCGAL::detail::GeometrySet<3>&, SFCGAL::detail::dim_t<3>) () at ./src/algorithm/Intersection3D.cpp:336
No locals.
#33 0x00007ffff7aa9c7b in SFCGAL::algorithm::intersection_cb<3>::operator() (this=<synthetic pointer>, b=..., a=...) at ./src/algorithm/intersection.cpp:81
No locals.
#34 CGAL::Box_intersection_d::modified_two_way_scan<__gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, __gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, SFCGAL::algorithm::intersection_cb<3>, CGAL::Box_intersection_d::Predicate_traits_d<CGAL::Box_intersection_d::Box_traits_d<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> >, true> > (p_begin=..., p_begin@entry=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5}}}}, m_handle = 0x555555975e00}, p_end=p_end@entry=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {3.2114266979681025e-322, 4.6355707283199061e-310, 4.9406564584124654e-324, -0.19229988101869822, -0.19229988101869822, 0}}}}, m_handle = 0xbfc89d4852000000},
i_begin=..., i_begin@entry={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0, 0, 0, 1, 1, 1}}}}, m_handle = 0x555555968ee0}, i_end=..., i_end@entry=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {1.6304166312761136e-322, 4.6355707509927762e-310, 4.6355707571697825e-310, 1.5810100666919889e-322, 2.8458181200455801e-321, 4.6355707513730091e-310}}}}, m_handle = 0x555555968f40}, callback=..., callback@entry=..., last_dim=last_dim@entry=2, in_order=false) at /usr/include/CGAL/Box_intersection_d/segment_tree.h:165
p = {<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5}}}}, m_handle = 0x555555975e00}
#35 0x00007ffff7aaacc7 in CGAL::Box_intersection_d::segment_tree<__gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, __gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, SFCGAL::algorithm::intersection_cb<3>, double, CGAL::Box_intersection_d::Predicate_traits_d<CGAL::Box_intersection_d::Box_traits_d<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> >, true> > (p_begin=p_begin@entry=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5}}}}, m_handle = 0x555555975e00}, p_end=p_end@entry=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {3.2114266979681025e-322, 4.6355707283199061e-310, 4.9406564584124654e-324, -0.19229988101869822, -0.19229988101869822, 0}}}}, m_handle = 0xbfc89d4852000000},
i_begin=i_begin@entry={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0, 0, 0, 1, 1, 1}}}}, m_handle = 0x555555968ee0}, i_end=i_end@entry=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {1.6304166312761136e-322, 4.6355707509927762e-310, 4.6355707571697825e-310, 1.5810100666919889e-322, 2.8458181200455801e-321, 4.6355707513730091e-310}}}}, m_handle = 0x555555968f40}, lo=lo@entry=-1.7976931348623157e+308, hi=hi@entry=1.7976931348623157e+308, callback=..., callback@entry=..., traits=..., cutoff=cutoff@entry=10, dim=2, in_order=false) at /usr/include/CGAL/Bbox_3.h:109
i_span_end = <optimized out>
mi = <optimized out>
p_mid = <optimized out>
i_mid = <optimized out>
#36 0x00007ffff7aab0a2 in CGAL::box_intersection_custom_predicates_d<__gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, __gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, SFCGAL::algorithm::intersection_cb<3>, CGAL::Box_intersection_d::Predicate_traits_d<CGAL::Box_intersection_d::Box_traits_d<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> >, true> > (setting=CGAL::Box_intersection_d::BIPARTITE, cutoff=10, traits=...,
callback=..., end2=..., begin2=..., end1=..., begin1={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0, 0, 0, 1, 1, 1}}}}, m_handle = 0x555555968ee0}) at /usr/include/c++/8/limits:1677
dim = 2
inf = -1.7976931348623157e+308
sup = 1.7976931348623157e+308
dim = <optimized out>
inf = <optimized out>
sup = <optimized out>
#37 CGAL::box_intersection_d<__gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, __gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, SFCGAL::algorithm::intersection_cb<3>, CGAL::Box_intersection_d::Box_traits_d<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > (setting=CGAL::Box_intersection_d::BIPARTITE, topology=CGAL::Box_intersection_d::CLOSED, cutoff=10, callback=..., end2=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {3.2114266979681025e-322, 4.6355707283199061e-310, 4.9406564584124654e-324, -0.19229988101869822, -0.19229988101869822, 0}}}}, m_handle = 0xbfc89d4852000000},
begin2={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5}}}}, m_handle = 0x555555975e00}, end1=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {1.6304166312761136e-322, 4.6355707509927762e-310, 4.6355707571697825e-310, 1.5810100666919889e-322, 2.8458181200455801e-321, 4.6355707513730091e-310}}}}, m_handle = 0x555555968f40}, begin1={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0, 0, 0, 1, 1, 1}}}}, m_handle = 0x555555968ee0}) at /usr/include/CGAL/box_intersection_d.h:81
No locals.
#38 CGAL::box_intersection_d<__gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, __gnu_cxx::__normal_iterator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>*, std::vector<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE>, std::allocator<CGAL::Box_intersection_d::Box_with_handle_d<double, 3, SFCGAL::detail::PrimitiveHandle<3>*, CGAL::Box_intersection_d::ID_FROM_HANDLE> > > >, SFCGAL::algorithm::intersection_cb<3> > (callback=..., end2=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {3.2114266979681025e-322, 4.6355707283199061e-310, 4.9406564584124654e-324, -0.19229988101869822, -0.19229988101869822, 0}}}}, m_handle = 0xbfc89d4852000000},
begin2={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5}}}}, m_handle = 0x555555975e00}, end1=
{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {1.6304166312761136e-322, 4.6355707509927762e-310, 4.6355707571697825e-310, 1.5810100666919889e-322, 2.8458181200455801e-321, 4.6355707513730091e-310}}}}, m_handle = 0x555555968f40}, begin1={<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0, 0, 0, 1, 1, 1}}}}, m_handle = 0x555555968ee0}) at /usr/include/CGAL/box_intersection_d.h:172
No locals.
#39 SFCGAL::algorithm::intersection<3> (a=..., b=..., output=...) at ./src/algorithm/intersection.cpp:142
ahandles = std::__cxx11::list = {[0] = {handle = {which_ = 3, storage_ = {<boost::detail::aligned_storage::aligned_storage_imp<8, 8>> = {data_ = {buf = "0\217\230UUU\000", align_ = {<No data fields>}}}, static size = <optimized out>,
static alignment = <optimized out>}}}}
bhandles = std::__cxx11::list = {[0] = {handle = {which_ = 0, storage_ = {<boost::detail::aligned_storage::aligned_storage_imp<8, 8>> = {data_ = {buf = "0\361\226UUU\000", align_ = {<No data fields>}}}, static size = <optimized out>,
static alignment = <optimized out>}}}}
aboxes = std::vector of length 1, capacity 1 = {{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0, 0, 0, 1, 1, 1}}}}, m_handle = 0x555555968ee0}}
bboxes = std::vector of length 1, capacity 1 = {{<CGAL::Box_intersection_d::Box_d<double, 3, CGAL::Box_intersection_d::ID_NONE>> = {bbx = {rep = {elems = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5}}}}, m_handle = 0x555555975e00}}
temp = {_points = std::set with 0 elements, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = empty std::__cxx11::list}
temp2 = {_points = std::set with 0 elements, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = empty std::__cxx11::list}
cb = {output = @0x7fffffffc210}
#40 0x00007ffff7a31ee3 in SFCGAL::algorithm::covers<3> (a=..., b=...) at ./src/algorithm/covers.cpp:201
dimA = <optimized out>
dimB = <optimized out>
inter = {_points = std::set with 0 elements, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = empty std::__cxx11::list}
#41 0x00007ffff7a2fd14 in SFCGAL::algorithm::covers3D(SFCGAL::Geometry const&, SFCGAL::Geometry const&) () at ./src/algorithm/covers.cpp:266
gsa = {_points = std::set with 0 elements, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = std::__cxx11::list = {[0] = {_primitive = {
hds_ = {<CGAL::HalfedgeDS_list<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >> = {<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >> = {<No data fields>},
vertex_allocator = {<__gnu_cxx::new_allocator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<CGAL::HalfedgeDS_vertex_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Point_3<CGAL::Epeck> > > > >> = {<No data fields>}, <No data fields>},
edge_allocator = {<__gnu_cxx::new_allocator<std::pair<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<SFCGAL::detail::Halfedge_with_mark<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> > > > >, CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<SFCGAL::detail::Halfedge_with_mark<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> > > > > > >> = {<No data fields>}, <No data fields>},
face_allocator = {<__gnu_cxx::new_allocator<CGAL::HalfedgeDS_in_place_list_face<CGAL::I_Polyhedron_facet<CGAL::HalfedgeDS_face_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Plane_3<CGAL::Epeck> > > > >> = {<No data fields>}, <No data fields>}, vertices = {
allocator = {<__gnu_cxx::new_allocator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<CGAL::HalfedgeDS_vertex_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Point_3<CGAL::Epeck> > > > >> = {<No data fields>}, <No data fields>}, node = 0x55555596e890, length = 8}, halfedges = {
allocator = {<__gnu_cxx::new_allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<SFCGAL::detail::Halfedge_with_mark<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> > > > > >> = {<No data fields>}, <No data fields>}, node = 0x555555976e20, length = 36}, faces = {
allocator = {<__gnu_cxx::new_allocator<CGAL::HalfedgeDS_in_place_list_face<CGAL::I_Polyhedron_facet<CGAL::HalfedgeDS_face_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3<SFCGAL::detail::Items_with_mark_on_hedge>, std::allocator<int> >, CGAL::Boolean_tag<true>, CGAL::Plane_3<CGAL::Epeck> > > > >> = {<No data fields>}, <No data fields>}, node = 0x55555597fe60, length = 12}, nb_border_halfedges = 0, nb_border_edges = 0, border_halfedges = {node = 0x0}}, <No data fields>},
m_traits = {<CGAL::Type_equality_wrapper<CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > >, CGAL::Epeck>, CGAL::Epeck>> = {<CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > >, CGAL::Epeck>> = {<CGAL::Lazy_kernel_generic_base<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > >, CGAL::Epeck>> = {<CGAL::internal::Enum_holder> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, _flags = 0}}}
gsb = {_points = std::set with 1 element = {[0] = {
_primitive = {<CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >> = {<CGAL::Handle> = {
PTR = 0x55555598c420}, <No data fields>}, <No data fields>}, _flags = 0}}, _segments = std::set with 0 elements, _surfaces = empty std::__cxx11::list, _volumes = empty std::__cxx11::list}
#42 0x000055555578e75a in SFCGAL_algorithm_CoversTest::testFileCoversTest::test_method() () at ./test/unit/SFCGAL/algorithm/CoversTest.cpp:115
got = <optimized out>
iss = <incomplete type>
distanceDimension = "3"
wktGB = "POINT(0.5 0.5 0.5)"
expected = <optimized out>
gA = <optimized out>
wktGA = "SOLID(( ((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)), ((1 0 0,1 1 0,1 1 1,1 0 1,1 0 0)), ((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)), ((0 0 1,0 1 1,0 1 0,0 0 0,0 0 1)), ((1 0 1,1 1 1,0 1 1,0 0 1,1 0 1)), ((1 0 0,1 0 1,0 0"...
trueOrFalse = "true"
gB = <optimized out>
argc = <optimized out>
argv = <optimized out>
test_one_line = -1
filename = "/build/sfcgal/test/data/CoversTest.txt"
ifs = <incomplete type>
numLine = 146
line = "3|SOLID(( ((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)), ((1 0 0,1 1 0,1 1 1,1 0 1,1 0 0)), ((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)), ((0 0 1,0 1 1,0 1 0,0 0 0,0 0 1)), ((1 0 1,1 1 1,0 1 1,0 0 1,1 0 1)), ((1 0 0,1 0 1,0"...
#43 0x000055555578f17c in SFCGAL_algorithm_CoversTest::testFileCoversTest_invoker() () at ./test/unit/SFCGAL/algorithm/CoversTest.cpp:51
t = {<boost::unit_test::ut_detail::nil_t> = {<No data fields>}, <No data fields>}
#44 0x00007ffff7411f7e in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#45 0x00007ffff7411b85 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#46 0x00007ffff7411c51 in boost::execution_monitor::execute(boost::function<int ()> const&) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#47 0x00007ffff7411d1d in boost::execution_monitor::vexecute(boost::function<void ()> const&) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#48 0x00007ffff74398c9 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#49 0x00007ffff741448b in ?? () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#50 0x00007ffff741474f in ?? () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#51 0x00007ffff741474f in ?? () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#52 0x00007ffff7416ff5 in boost::unit_test::framework::run(unsigned long, bool) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#53 0x00007ffff7437338 in boost::unit_test::unit_test_main(bool (*)(), int, char**) () from /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.67.0
No symbol table info available.
#54 0x00007ffff65bfb17 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#55 0x00005555556963ba in _start () at /usr/include/c++/8/ext/new_allocator.h:79
No symbol table info available.
@sebastic It always hangs in CGAL::Protect_FPU_rounding ?
@sloriot Does it ring a bell on your side ?
Of the 5 consecutive runs the CGAL::FPU_set_cw
was always the first CGAL call in the backtrace.
If you're using gcc, was the code compiled with -frounding-math
flag?
Yes, from the build log:
cd /build/sfcgal-1.3.6/obj-x86_64-linux-gnu/test/unit && /usr/bin/c++ -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DCGAL_USE_CORE=1 -DCGAL_USE_GMPXX=1 -I/build/sfcgal-1.3.6/obj-x86_64-linux-gnu/include -isystem /usr/include/x86_64-linux-gnu -g -O2 -fdebug-prefix-map=/build/sfcgal-1.3.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wno-long-long -pedantic -Wpointer-arith -Wcast-align -Wcast-qual -Wno-overloaded-virtual -Wformat=2 -Winit-self -Wmissing-include-dirs -Wwrite-strings -Wno-error=undef -O2 -g -DNDEBUG -std=c++98 -frounding-math -frounding-math -o CMakeFiles/unit-test-SFCGAL.dir/SFCGAL/algorithm/CoversTest.cpp.o -c /build/sfcgal-1.3.6/test/unit/SFCGAL/algorithm/CoversTest.cpp
Was CGAL library also compiled with -std=c++98
? (would be an issue if it was compiled with c++11 for example).
According to the latest buildlog for cgal it doesn't use -std=
flags except for the Qt part which uses -std=gnu++11
.
I can read in the log: -- The CXX compiler identification is GNU 8.2.0
The default c++ standard version of that compiler is (at least) c++11. It is an issue (not sure if it is the issue you have but at least it is one).
@sloriot You mean this could be an issue that SFCGAL is compiled in c++98 and CGAL in c++11 ? What kind of issue could it be ?
I mean that this is the first thing to fix: use the same standard so as to use the same libstd. I suspect this is the reason of the error.
SFCGAL has added -std=c++98
one week ago, in commit https://github.com/Oslandia/SFCGAL/commit/52bd92373855148d56de16fbf03e42ffeba79bbc, because the code base uses std::auto_ptr
(deprecated in C++11, and removed from C++17). But a C++ library compiled with C++98 is not compatible with another C++ library compiled with C++11 or later, because the ABI has changed.
@sebastic Do you have a simple way to check that -std=c++11 in SFCGAL compilation solves or not the problem here ?
I've added the following patch to not use -std=c++98
and use the compiler defaults like the cgal package:
Description: Don't use -std=c++98, incompatible with CGAL build.
Author: Bas Couwenberg <sebastic@debian.org>
Bug: https://github.com/Oslandia/SFCGAL/issues/184
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,11 +39,6 @@ if (CMAKE_CXX_COMPILER MATCHES ".*clang"
set(CMAKE_COMPILER_IS_CLANGXX 1)
endif ()
-#-- C++ version --------------------------------------------
-if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
- add_definitions("-std=c++98")
-endif()
-
#-----------------------------------------------------------
# dependencies
#-----------------------------------------------------------
That allows the tests to succeed:
Running tests...
/usr/bin/ctest --force-new-ctest-process -j3
Test project /build/sfcgal-1.3.6/obj-x86_64-linux-gnu
Start 1: unit-test
Start 2: standalone-regress-test
Start 3: garden-test
1/3 Test #1: unit-test ........................ Passed 14.36 sec
2/3 Test #2: standalone-regress-test .......... Passed 65.83 sec
3/3 Test #3: garden-test ...................... Passed 117.30 sec
100% tests passed, 0 tests failed out of 3
Total Test time (real) = 117.31 sec
The patch does results in many deprecated declaration warnings for std::auto_ptr
as expected.
Please include the above patch in the next release, this issue still affects 1.3.7.
Should be fixed by https://github.com/Oslandia/SFCGAL/pull/223
For the ongoing transition to boost 1.67 the sfcgal 1.3.6 package was rebuilt but failed due to the unit-test & garden-test timing out:
Full buildlog with verbose ctest output: sfcgal_1.3.6-2_amd64.txt