You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps will reproduce the problem?
1. Triangulate a particular point set
What is the expected output? What do you see instead?
Stack overflow leading to segfault.
What version of the product are you using? On what operating system?
Most recent code base, Linux 2.6.32-33-generic x86_64. I will test with MinGW
compiled version soon.
Please provide any additional information below.
Included file contains a double array where rand_test[2*i] is poly[i].x and
rand_test[2*i+1] is poly[i].y
I encountered this stack overflow when running a stress test on my convex
decomposition code. I generated a complex polygon by stringing together
entirely random points in the range -2000 to 2000 in both x and y, and used a
custom polygon simplification algorithm to extract the perimeter of the
polygon.
If you examine this test case you will notice that it is a completely valid
polygon without extreme angles anywhere, it just has a few small triangular
features. In any case there should not be a stack overflow here. Here is
relevant part of stack trace:
#93544 0x0000000000427d44 in CDT_testRoutine (data=0x6b3f80,
length=408) at Polygon.cpp:318
318 cdt.Triangulate();
(gdb)
#93543 0x000000000047ff97 in p2t::Sweep::Triangulate(p2t::SweepContext&) ()
(gdb)
#93542 0x000000000047fddc in p2t::Sweep::SweepPoints(p2t::SweepContext&) ()
(gdb)
#93541 0x000000000047f5a9 in p2t::Sweep::EdgeEvent(p2t::SweepContext&,
p2t::Point&, p2t::Point&, p2t::Triangle*, p2t::Point&) ()
(gdb)
#93540 0x000000000047f18e in p2t::Sweep::FlipEdgeEvent(p2t::SweepContext&,
p2t::Point&, p2t::Point&, p2t::Triangle*, p2t::Point&)
()
(gdb)
#93539 0x000000000047f18e in p2t::Sweep::FlipEdgeEvent(p2t::SweepContext&,
p2t::Point&, p2t::Point&, p2t::Triangle*, p2t::Point&)
()
(gdb)
#93538 0x000000000047f18e in p2t::Sweep::FlipEdgeEvent(p2t::SweepContext&,
p2t::Point&, p2t::Point&, p2t::Triangle*, p2t::Point&)
()
(gdb)
#93537 0x000000000047f18e in p2t::Sweep::FlipEdgeEvent(p2t::SweepContext&,
p2t::Point&, p2t::Point&, p2t::Triangle*, p2t::Point&)
()
(gdb)
Good luck!
Original issue reported on code.google.com by stevenlu...@gmail.com on 19 Dec 2011 at 10:49
Original issue reported on code.google.com by
stevenlu...@gmail.com
on 19 Dec 2011 at 10:49Attachments:
The text was updated successfully, but these errors were encountered: