Subject: CGAL users discussion list
List archive
- From: Philipp Moeller <>
- To:
- Subject: Re: [cgal-discuss] Re: Test_runtime_rounding_modes throws exception
- Date: Sat, 07 Apr 2012 12:41:08 +0200
- Organization: GeometryFactory
Hamid G
<>
writes:
> 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.
It tries to figure out if excess precision in floating point operations
is used. This is usually disabled in gcc with the switch -frounding-math
We really need a minimal, compiling example that reproduces your
problem including the output of gcc --version and the the CMakeLists.txt
to reproduce what is happening.
Also: please don't snip previous messages if they contain important
information :)
>
> 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<CGAL::Simple_cartesian<CGAL::Interval_nt<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<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> > > (b1=@0x7fff5fbfc570,
>> > >
>> > > b2=@0x7fff5fbfc520)
>> > > at array.h:104
> #1 0x0000000100042697 in
> CGAL::RayC3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >::RayC3
> (this=0x7fff5fbfc658,
> sp=@0x7fff5fbfc570,
>
> secondp=@0x7fff5fbfc520)
> at
> Ray_3.h:53
> #2 0x00000001000426c8 in
> CGAL::CommonKernelFunctors::Construct_ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >::operator() (this=0x7fff5fbfc4d0,
>> >p=@0x7fff5fbfc570,
>> >
>> >q=@0x7fff5fbfc520)
> at function_objects.h:1564
> #3 0x000000010004271b in
> CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >::Ray_3
> (this=0x7fff5fbfc658,
> sp=@0x7fff5fbfc570,
>
> secondp=@0x7fff5fbfc520)
> at
> Ray_3.h:73
> #4 0x000000010010295e in
> CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > >::operator()
> (this=0x7fff5fbfc718,
> a=@0x10448a1b0)
> at Cartesian_converter.h:238
> #5 0x00000001000a45b3 in
> CGAL::Lazy_rep_3<CGAL::CommonKernelFunctors::Construct_ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >,
> CGAL::CommonKernelFunctors::Construct_ray_3<CGAL::Simple_cartesian<CGAL::Gmpq>
>>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<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<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >, CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Gmpq> >,
> CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::exact
> (this=0x1044839e0) at Lazy.h:239
> #7 0x0000000100041118 in
> CGAL::Lazy<CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >, CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq,
> CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::exact
> (this=0x10448a068) at Lazy.h:1148
> #8 0x0000000100041178 in
> CGAL::exact<CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >, CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq,
> CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >
> (l=@0x10448a068)
> at Lazy.h:71
> #9 0x00000001000a0318 in
> CGAL::Lazy_rep_1<CGAL::CommonKernelFunctors::Construct_source_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >,
> CGAL::CommonKernelFunctors::Construct_source_3<CGAL::Simple_cartesian<CGAL::Gmpq>
>>, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > >,
> CGAL::Ray_3<CGAL::Epeck> >::update_exact (this=0x10448a020) at Lazy.h:328
> #10 0x000000010002115a in
> CGAL::Lazy_rep<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >, CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Gmpq> >,
> CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::exact
> (this=0x10448a020) at Lazy.h:239
> #11 0x0000000100021198 in
> CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >, CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq,
> CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> >,
> CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::exact
> (this=0x7fff5fbfcb58) at Lazy.h:1148
> #12 0x00000001000211ca in CGAL::Exact_converter<CGAL::Epeck,
> CGAL::Simple_cartesian<CGAL::Gmpq>
>>::operator()<CGAL::Point_3<CGAL::Epeck> > (this=0x7fff5fbfca0a,
> t=@0x7fff5fbfcb58)
> at Lazy.h:869
> #13 0x00000001001ab970 in
> CGAL::Filtered_predicate<CGAL::CartesianKernelFunctors::Has_on_3<CGAL::Simple_cartesian<CGAL::Gmpq>
>>,
> CGAL::CartesianKernelFunctors::Has_on_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false>
>> >, CGAL::Exact_converter<CGAL::Epeck,
> CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Approx_converter<CGAL::Epeck,
> CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >,
> true>::operator()<CGAL::Plane_3<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<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<CGAL::SNC_structure<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<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<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<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<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<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<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
- [cgal-discuss] Test_runtime_rounding_modes throws exception, Hamid G, 04/04/2012
- Re: [cgal-discuss] Test_runtime_rounding_modes throws exception, Sebastien Loriot (GeometryFactory), 04/06/2012
- [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Hamid G, 04/06/2012
- Re: [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Philipp Moeller, 04/07/2012
- [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Hamid G, 04/10/2012
- [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Hamid G, 04/10/2012
- [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Hamid G, 04/10/2012
- Re: [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Philipp Moeller, 04/07/2012
- [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Hamid G, 04/06/2012
- Re: [cgal-discuss] Test_runtime_rounding_modes throws exception, Marc Glisse, 04/07/2012
- [cgal-discuss] Re: Test_runtime_rounding_modes throws exception, Hamid G, 04/10/2012
- Re: [cgal-discuss] Test_runtime_rounding_modes throws exception, Sebastien Loriot (GeometryFactory), 04/06/2012
Archive powered by MHonArc 2.6.16.