Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Re: Test_runtime_rounding_modes throws exception

Subject: CGAL users discussion list

List archive

[cgal-discuss] Re: Test_runtime_rounding_modes throws exception


Chronological Thread 
  • From: Hamid G <>
  • To:
  • Subject: [cgal-discuss] Re: Test_runtime_rounding_modes throws exception
  • Date: Fri, 6 Apr 2012 10:39:48 -0700 (PDT)

Thanks for your reply Sebastien


Sebastien Loriot (GeometryFactory) wrote
>
> Since it seems no CGAL code is involved at the moment of the crash, it
> might be another issue not related to CGAL.
>

I'm just curious then what

CGAL::Interval_nt<false>::Test_runtime_rounding_modes::Test_runtime_rounding_modes

is doing.

I followed your advice and recompile it in debug mode, this time it prompted
me for input files and seem to actually perform the boolean operation, but
it crashed again (@array.h).
Here is the output of 'where' in gdb:

CGAL::make_array<CGAL::Point_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> > > (b1=@0x7fff5fbfc570,
> > >
> > > b2=@0x7fff5fbfc520)
> > > at array.h:104
104 cpp0x::array<T, 2> a = { { b1, b2 } };
(gdb) where
#0
CGAL::make_array<CGAL::Point_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> > > (b1=@0x7fff5fbfc570,
> > >
> > > b2=@0x7fff5fbfc520)
> > > at array.h:104
#1 0x0000000100042697 in
CGAL::RayC3<CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false> > >::RayC3
(this=0x7fff5fbfc658,
sp=@0x7fff5fbfc570,

secondp=@0x7fff5fbfc520)
at
Ray_3.h:53
#2 0x00000001000426c8 in
CGAL::CommonKernelFunctors::Construct_ray_3<CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >::operator() (this=0x7fff5fbfc4d0,
> >p=@0x7fff5fbfc570,
> >
> >q=@0x7fff5fbfc520)
at function_objects.h:1564
#3 0x000000010004271b in
CGAL::Ray_3<CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false> > >::Ray_3
(this=0x7fff5fbfc658,
sp=@0x7fff5fbfc570,

secondp=@0x7fff5fbfc520)
at
Ray_3.h:73
#4 0x000000010010295e in
CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > >::operator()
(this=0x7fff5fbfc718,
a=@0x10448a1b0)
at Cartesian_converter.h:238
#5 0x00000001000a45b3 in
CGAL::Lazy_rep_3<CGAL::CommonKernelFunctors::Construct_ray_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >,
CGAL::CommonKernelFunctors::Construct_ray_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq>
>, CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > >,
CGAL::Return_base_tag, CGAL::Point_3<CGAL::Epeck>,
CGAL::Direction_3<CGAL::Epeck> >::update_exact (this=0x1044839e0) at
Lazy.h:430
#6 0x00000001000410da in
CGAL::Lazy_rep<CGAL::Ray_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >, CGAL::Ray_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq> >,
CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > > >::exact
(this=0x1044839e0) at Lazy.h:239
#7 0x0000000100041118 in
CGAL::Lazy<CGAL::Ray_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >, CGAL::Ray_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq> >, CGAL::Gmpq,
CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > > >::exact
(this=0x10448a068) at Lazy.h:1148
#8 0x0000000100041178 in
CGAL::exact<CGAL::Ray_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >, CGAL::Ray_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq> >, CGAL::Gmpq,
CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > > >
(l=@0x10448a068)
at Lazy.h:71
#9 0x00000001000a0318 in
CGAL::Lazy_rep_1<CGAL::CommonKernelFunctors::Construct_source_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >,
CGAL::CommonKernelFunctors::Construct_source_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq>
>, CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > >,
CGAL::Ray_3<CGAL::Epeck> >::update_exact (this=0x10448a020) at Lazy.h:328
#10 0x000000010002115a in
CGAL::Lazy_rep<CGAL::Point_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >, CGAL::Point_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq> >,
CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > > >::exact
(this=0x10448a020) at Lazy.h:239
#11 0x0000000100021198 in
CGAL::Lazy<CGAL::Point_3&lt;CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >, CGAL::Point_3<CGAL::Simple_cartesian&lt;CGAL::Gmpq> >, CGAL::Gmpq,
CGAL::Cartesian_converter<CGAL::Simple_cartesian&lt;CGAL::Gmpq>,
CGAL::Simple_cartesian<CGAL::Interval_nt&lt;false> >,
CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt&lt;false> > > >::exact
(this=0x7fff5fbfcb58) at Lazy.h:1148
#12 0x00000001000211ca in CGAL::Exact_converter<CGAL::Epeck,
CGAL::Simple_cartesian&lt;CGAL::Gmpq>
>::operator()<CGAL::Point_3&lt;CGAL::Epeck> > (this=0x7fff5fbfca0a,
t=@0x7fff5fbfcb58)
at Lazy.h:869
#13 0x00000001001ab970 in
CGAL::Filtered_predicate<CGAL::CartesianKernelFunctors::Has_on_3&lt;CGAL::Simple_cartesian&lt;CGAL::Gmpq>
>,
CGAL::CartesianKernelFunctors::Has_on_3<CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false>
> >, CGAL::Exact_converter<CGAL::Epeck,
CGAL::Simple_cartesian&lt;CGAL::Gmpq> >, CGAL::Approx_converter<CGAL::Epeck,
CGAL::Simple_cartesian&lt;CGAL::Interval_nt&lt;false> > >,
true>::operator()<CGAL::Plane_3&lt;CGAL::Epeck>, CGAL::Point_3<CGAL::Epeck>
> (this=0x7fff5fbfca08,
> a1=@0x7fff5fbfcb40,
>
> a2=@0x7fff5fbfcb58)
> at
Filtered_predicate.h:217
#14 0x00000001001aba8b in CGAL::Plane_3<CGAL::Epeck>::has_on
(this=0x7fff5fbfcb40,
p=@0x7fff5fbfcb58)
at Plane_3.h:141
#15 0x00000001001f6278 in
CGAL::SNC_intersection<CGAL::SNC_structure&lt;CGAL::Epeck,
CGAL::SNC_indexed_items, bool> >::does_intersect_internally
(this=0x101ef4308,
ray=@0x7fff5fbfd498,
f={node = 0x10a512cd0},
p=@0x7fff5fbfcfb0,
checkHasOn=true) at SNC_intersection.h:282
#16 0x000000010000c747 in
CGAL::SNC_point_locator_by_spatial_subdivision<CGAL::SNC_decorator&lt;CGAL::SNC_structure&lt;CGAL::Epeck,
CGAL::SNC_indexed_items, bool> > >::shoot (this=0x101ef4240,
ray=@0x7fff5fbfd498,
mask=255) at SNC_point_locator.h:628
#17 0x000000010020234f in CGAL::SNC_external_structure_base<int,
CGAL::SNC_structure&lt;CGAL::Epeck, CGAL::SNC_indexed_items, bool>
>::get_facet_below (this=0x7fff5fbfe2b0, vi={node = 0x10c041290},
MinimalSFace=@0x7fff5fbfdb90,

Shell=@0x7fff5fbfdce8)
at
SNC_external_structure.h:874
#18 0x0000000100203053 in CGAL::SNC_external_structure_base<int,
CGAL::SNC_structure&lt;CGAL::Epeck, CGAL::SNC_indexed_items, bool>
>::determine_volume (this=0x7fff5fbfe2b0, sf={node = 0x10c03a6d0},
MinimalSFace=@0x7fff5fbfdb90,

Shell=@0x7fff5fbfdce8)
at
SNC_external_structure.h:928
#19 0x000000010026d9e2 in CGAL::SNC_external_structure_base<int,
CGAL::SNC_structure&lt;CGAL::Epeck, CGAL::SNC_indexed_items, bool>
>::create_volumes (this=0x7fff5fbfe2b0) at SNC_external_structure.h:853
#20 0x000000010026dfce in
CGAL::SNC_external_structure<CGAL::SNC_indexed_items,
CGAL::SNC_structure&lt;CGAL::Epeck, CGAL::SNC_indexed_items, bool>
>::create_volumes (this=0x7fff5fbfe2b0) at SNC_external_structure.h:1235
#21 0x000000010026e64f in
CGAL::SNC_external_structure<CGAL::SNC_indexed_items,
CGAL::SNC_structure&lt;CGAL::Epeck, CGAL::SNC_indexed_items, bool>
>::build_external_structure (this=0x7fff5fbfe2b0) at
SNC_external_structure.h:1293
#22 0x000000010026e7cd in CGAL::Nef_polyhedron_3<CGAL::Epeck,
CGAL::SNC_indexed_items, bool>::build_external_structure
(this=0x7fff5fbfed78) at Nef_polyhedron_3.h:359
#23 0x000000010026ead0 in CGAL::Nef_polyhedron_3<CGAL::Epeck,
CGAL::SNC_indexed_items, bool>::Nef_polyhedron_3<CGAL::Epeck,
CGAL::Polyhedron_items_3, CGAL::HalfedgeDS_default, std::allocator&lt;int> >
(this=0x7fff5fbfed78,
P=@0x7fff5fbff578)
at Nef_polyhedron_3.h:569
#24 0x0000000100001521 in main (nargc=1, argv=0x7fff5fbff758) at
subtract_polyhedron_cgal.cpp:57

thanks again,
Hamid

--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/Test-runtime-rounding-modes-throws-exception-tp4530372p4537920.html
Sent from the cgal-discuss mailing list archive at Nabble.com.



Archive powered by MHonArc 2.6.16.

Top of Page