Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Stack overflow in Alpha_shape_2

Subject: CGAL users discussion list

List archive

[cgal-discuss] Stack overflow in Alpha_shape_2


Chronological Thread 
  • From: gisworx <>
  • To:
  • Subject: [cgal-discuss] Stack overflow in Alpha_shape_2
  • Date: Tue, 24 May 2011 09:27:42 -0700 (PDT)

With one particular dataset, I'm encountering a stack overflow in lazy
evaluation within the alpha shape constructor. I'm wondering if anyone else
has also encountered this.

The start of the stack is provided:


cgal.dll!CGAL::Lazy_rep&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++

cgal.dll!CGAL::Lazy&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 1150 + 0x16 bytes C++
cgal.dll!CGAL::Lazy_exact_Max<CGAL::Gmpq>::update_exact() Line 310 +
0x31
bytes C++

cgal.dll!CGAL::Lazy_rep&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++

cgal.dll!CGAL::Lazy&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 1150 + 0x16 bytes C++
cgal.dll!CGAL::Lazy_exact_Max<CGAL::Gmpq>::update_exact() Line 310 +
0x31
bytes C++

cgal.dll!CGAL::Lazy_rep&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++

cgal.dll!CGAL::Lazy&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 1150 + 0x16 bytes C++
> cgal.dll!CGAL::Lazy_exact_Max<CGAL::Gmpq>::update_exact() Line 310 +
> 0x31
bytes C++

cgal.dll!CGAL::Lazy_rep&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++

cgal.dll!CGAL::Lazy&lt;CGAL::Interval_nt&lt;0&gt;,CGAL::Gmpq,CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 1144 + 0x16 bytes C++
cgal.dll!CGAL::operator<&lt;CGAL::Gmpq,CGAL::Gmpq&gt;(const
CGAL::Lazy_exact_nt<CGAL::Gmpq> & a={...}, const
CGAL::Lazy_exact_nt<CGAL::Gmpq> & b={...}) Line 480 + 0x8 bytes C++

cgal.dll!std::operator<&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
>(const
std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> & _Left=({relative_precision_of_to_double=1.0000000000000001e-005
},{relative_precision_of_to_double=1.0000000000000001e-005 }), const
std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> & _Right=({relative_precision_of_to_double=1.0000000000000001e-005
},{relative_precision_of_to_double=1.0000000000000001e-005 })) Line 103 +
0x41 bytes C++

cgal.dll!std::less&lt;std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> >::operator()(const
std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> & _Left=({relative_precision_of_to_double=1.0000000000000001e-005
},{relative_precision_of_to_double=1.0000000000000001e-005 }), const
std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> & _Right=({relative_precision_of_to_double=1.0000000000000001e-005
},{relative_precision_of_to_double=1.0000000000000001e-005 })) Line 143 +
0xd bytes C++
cgal.dll! ?? :: ?? ::insert(const
std::pair&lt;std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> const
,CGAL::internal::CC_iterator&lt;CGAL::Compact_container&lt;CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_ds_vertex_base_2&lt;CGAL::Triangulation_data_structure_2&lt;CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Inte&amp;
_Val={...}) Line 637 + 0x22 bytes C++
cgal.dll! ?? :: ?? ::insert(const
std::pair&lt;std::pair&lt;CGAL::Lazy_exact_nt&lt;CGAL::Gmpq&gt;,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> const
,CGAL::internal::CC_iterator&lt;CGAL::Compact_container&lt;CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_ds_vertex_base_2&lt;CGAL::Triangulation_data_structure_2&lt;CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Inte&amp;
_Val={...}) Line 271 + 0x10 bytes C++

cgal.dll!CGAL::Alpha_shape_2&lt;CGAL::Triangulation_hierarchy_2&lt;CGAL::Delaunay_triangulation_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_default_data_structure_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_ds_vertex_base_2<void> > >
>,CGAL::Alpha_shape_face_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_face_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_ds_face_base_2<void> > > > > >
>::initialize_interval_vertex_map() Line 963 + 0x5a bytes C++

cgal.dll!CGAL::Alpha_shape_2&lt;CGAL::Triangulation_hierarchy_2&lt;CGAL::Delaunay_triangulation_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_default_data_structure_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_vertex_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_ds_vertex_base_2<void> > >
>,CGAL::Alpha_shape_face_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_face_base_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_ds_face_base_2<void> > > > > >
>::Alpha_shape_2&lt;CGAL::Triangulation_hierarchy_2&lt;CGAL::Delaunay_tria(const
std::list&lt;CGAL::Point_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > > >
>,std::allocator&lt;CGAL::Point_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > > > > >
>::_Iterator<0> & first={...}, const
std::list&lt;CGAL::Point_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > > >
>,std::allocator&lt;CGAL::Point_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > > > > >
>::_Iterator<0> & last={...}, const CGAL::Lazy_exact_nt<CGAL::Gmpq> &
alpha={...},
CGAL::Alpha_shape_2&lt;CGAL::Triangulation_hierarchy_2&lt;CGAL::Delaunay_triangulation_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_default_data_structure_2&lt;CGAL::Lazy_kernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_hierarchy_vertex_base_2&lt;CGAL::Alpha_shape_vertex_base_2&lt;CGAL::Laernel&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::Cartesian_converter&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq&gt;,CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;0&gt;
>,CGAL::NT_converter&lt;CGAL::Gmpq,CGAL::Interval_nt&lt;0&gt; > >
>,CGAL::Triangulation_vertex_bas m=REGULARIZED) Line 225 C++


--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/Stack-overflow-in-Alpha-shape-2-tp3547577p3547577.html
Sent from the cgal-discuss mailing list archive at Nabble.com.



Archive powered by MHonArc 2.6.16.

Top of Page