Subject: CGAL users discussion list
List archive
- 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<CGAL::Interval_nt<0>,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++
cgal.dll!CGAL::Lazy<CGAL::Interval_nt<0>,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<CGAL::Interval_nt<0>,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++
cgal.dll!CGAL::Lazy<CGAL::Interval_nt<0>,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<CGAL::Interval_nt<0>,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++
cgal.dll!CGAL::Lazy<CGAL::Interval_nt<0>,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<CGAL::Interval_nt<0>,CGAL::Gmpq,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 240 C++
cgal.dll!CGAL::Lazy<CGAL::Interval_nt<0>,CGAL::Gmpq,CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::To_interval<CGAL::Gmpq>
>::exact() Line 1144 + 0x16 bytes C++
cgal.dll!CGAL::operator<<CGAL::Gmpq,CGAL::Gmpq>(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<<CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::Lazy_exact_nt<CGAL::Gmpq>
>(const
std::pair<CGAL::Lazy_exact_nt<CGAL::Gmpq>,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<CGAL::Lazy_exact_nt<CGAL::Gmpq>,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<std::pair<CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> >::operator()(const
std::pair<CGAL::Lazy_exact_nt<CGAL::Gmpq>,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<CGAL::Lazy_exact_nt<CGAL::Gmpq>,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<std::pair<CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> const
,CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_ds_vertex_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Inte&
_Val={...}) Line 637 + 0x22 bytes C++
cgal.dll! ?? :: ?? ::insert(const
std::pair<std::pair<CGAL::Lazy_exact_nt<CGAL::Gmpq>,CGAL::Lazy_exact_nt<CGAL::Gmpq>
> const
,CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_ds_vertex_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Inte&
_Val={...}) Line 271 + 0x10 bytes C++
cgal.dll!CGAL::Alpha_shape_2<CGAL::Triangulation_hierarchy_2<CGAL::Delaunay_triangulation_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_default_data_structure_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_ds_vertex_base_2<void> > >
>,CGAL::Alpha_shape_face_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_face_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_ds_face_base_2<void> > > > > >
>::initialize_interval_vertex_map() Line 963 + 0x5a bytes C++
cgal.dll!CGAL::Alpha_shape_2<CGAL::Triangulation_hierarchy_2<CGAL::Delaunay_triangulation_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_default_data_structure_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_vertex_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_ds_vertex_base_2<void> > >
>,CGAL::Alpha_shape_face_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_face_base_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_ds_face_base_2<void> > > > > >
>::Alpha_shape_2<CGAL::Triangulation_hierarchy_2<CGAL::Delaunay_tria(const
std::list<CGAL::Point_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > > >
>,std::allocator<CGAL::Point_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > > > > >
>::_Iterator<0> & first={...}, const
std::list<CGAL::Point_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > > >
>,std::allocator<CGAL::Point_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > > > > >
>::_Iterator<0> & last={...}, const CGAL::Lazy_exact_nt<CGAL::Gmpq> &
alpha={...},
CGAL::Alpha_shape_2<CGAL::Triangulation_hierarchy_2<CGAL::Delaunay_triangulation_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_default_data_structure_2<CGAL::Lazy_kernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,CGAL::Triangulation_hierarchy_vertex_base_2<CGAL::Alpha_shape_vertex_base_2<CGAL::Laernel<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,CGAL::Simple_cartesian<CGAL::Interval_nt<0>
>,CGAL::NT_converter<CGAL::Gmpq,CGAL::Interval_nt<0> > >
>,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.
- [cgal-discuss] Stack overflow in Alpha_shape_2, gisworx, 05/24/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Marc Glisse, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Francois Berenger, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Laurent Rineau (GeometryFactory), 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, GIS Worx, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Marc Glisse, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, GIS Worx, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Marc Glisse, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Sebastien Loriot (GeometryFactory), 05/26/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Sebastien Loriot (GeometryFactory), 05/31/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Marc Glisse, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, GIS Worx, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Marc Glisse, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Francois Berenger, 05/25/2011
- Re: [cgal-discuss] Stack overflow in Alpha_shape_2, Marc Glisse, 05/25/2011
Archive powered by MHonArc 2.6.16.