[geos-devel] [GEOS] #605: Crash from GEOSBuffer: RightmostEdgeFinder.cpp: Assertion `checked>0` failed

GEOS geos-trac at osgeo.org
Tue Dec 4 02:59:20 PST 2012


#605: Crash from GEOSBuffer: RightmostEdgeFinder.cpp: Assertion `checked>0`
failed
----------------------+-----------------------------------------------------
 Reporter:  strk      |       Owner:  geos-devel@…              
     Type:  defect    |      Status:  new                       
 Priority:  blocker   |   Milestone:  3.3.7                     
Component:  Default   |     Version:  3.3.6                     
 Severity:  Critical  |    Keywords:                            
----------------------+-----------------------------------------------------

Comment(by strk):

 Attempts to buffer with original precision fail with this:
 {{{
 TopologyException: assigned depths do not match at 366818.60878326674
 6133401.6729513798
 }}}

 Then GEOS enters the precision reduction loop, starts with scaleFactor
 100000 and reduces scale factor by 10 on every iteration. Every iteration
 fails with a similar TopologyException.
 The last one before the crash is with scaleFactor=1:
 {{{
 TopologyException: assigned depths do not match at 364550 6129605
 }}}

 When trying scale factor = 0.1 we get the crash.

 I'm surprised that scale factor of 10 shows more than a single decimal
 digit in the topology exception:
 {{{
 TopologyException: assigned depths do not match at 364818.32000000001
 6129887.71
 }}}

-- 
Ticket URL: <http://trac.osgeo.org/geos/ticket/605#comment:3>
GEOS <http://geos.refractions.net/>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).


More information about the geos-devel mailing list