[geos-devel] [GEOS] #1042: Segfault on multipolygon

GEOS geos-trac at osgeo.org
Sun Aug 16 22:56:51 PDT 2020


#1042: Segfault on multipolygon
------------------------+--------------------------
 Reporter:  stefgis     |      Owner:  geos-devel@…
     Type:  defect      |     Status:  new
 Priority:  minor       |  Milestone:
Component:  Default     |    Version:  3.8.0
 Severity:  Unassigned  |   Keywords:
------------------------+--------------------------
 A customer of us triggered a segfault (through postgis):

 kernel: [3756240.108588] postgres[17471]: segfault at 0 ip
 00007fc6a56acce7 sp 00007fffffca5090 error 4 in
 libgeos-3.8.0.so[7fc6a5605000+1be000]

 After some debugging this seems related to the way some of their polygons
 are saved in a specific table:

 GEOMETRYCOLLECTION(MULTIPOLYGON(((224480.183 573551.3,224490.982
 573554.021,224493.322 573554.693,224492.601 573557.214,224487.439
 573555.74,224486.357 573559.53,224478.47 573557.287,224480.183
 573551.3))))

 In combination with st_intersecs or st_buffer this leads to a segfault. We
 can reproduce the issue with the following query:

 SELECT link AS id FROM ybak."test_bit_libgeos" WHERE
 ST_dimension(m1g1) IN (2) AND st_isvalid(m1g1)=true AND
 ST_Intersects(ST_Buffer(ST_GeomFromText('POINT(224707.42286981
 573643.1066404)'), 2), m1g1) ORDER BY
 ST_Intersects(ST_Geomfromtext('POINT(224707.42286981 573643.1066404)'),
 m1g1) DESC LIMIT 1;

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


More information about the geos-devel mailing list