[postgis-tickets] [PostGIS] #3652: Segmentation fault during operations on GEOMETRYCOLLECTION with MULTICURVE geometry inside

PostGIS trac at osgeo.org
Mon Oct 3 09:11:40 PDT 2016


#3652: Segmentation fault during operations on GEOMETRYCOLLECTION with MULTICURVE
geometry inside
-------------------------------------------------+-------------------------
 Reporter:  alexeygl                             |      Owner:  pramsey
     Type:  defect                               |     Status:  new
 Priority:  high                                 |  Milestone:  PostGIS
                                                 |  2.3.1
Component:  postgis                              |    Version:  2.3.x
 Keywords:  postgis GEOMETRYCOLLECTION           |
  MULTICURVE                                     |
-------------------------------------------------+-------------------------
 Some geometry processing operations (ST_IsValid, ST_Intersects, etc.)
 failed with segmentation fault while processing GEOMETRYCOLLECTION with
 MULTICURVE geometry inside.

 For example:
 {{{
 #!sql
 select ST_IsValid(
 'GEOMETRYCOLLECTION(
     MULTICURVE(
         CIRCULARSTRING(4509840.66032566 6159495.07789317,4509840.83573805
 6159495.0756582,4509840.66032566 6159495.07789317),
         CIRCULARSTRING(4509810.5758974 6159485.61206918,4509810.75130944
 6159485.60983459,4509810.5758974 6159485.61206918),
         CIRCULARSTRING(4508718.97328402 6158861.90032518,4508719.14867204
 6158861.89810483,4508718.97328402 6158861.90032518),
         CIRCULARSTRING(4508700.47664928 6157887.92238478,4508700.65199856
 6157887.92016489,4508700.47664928 6157887.92238478),
         CIRCULARSTRING(4508620.48140204 6156731.46399378,4508620.65670539
 6156731.4617752,4508620.48140204 6156731.46399378),
         CIRCULARSTRING(4508125.75656021 6155769.74506917,4508125.93182571
 6155769.7428572,4508125.75656021 6155769.74506917),
         CIRCULARSTRING(4506850.79644217 6154971.65577768,4506850.9716769
 6154971.65358234,4506850.79644217 6154971.65577768)))'::geometry
 )
 }}}

 The case was tested on two versions:
 * "POSTGIS="2.2.2 r14797" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.8.0,
 6 March 2012" GDAL="GDAL 1.11.4, released 2016/01/25" LIBXML="2.9.1"
 LIBJSON="0.11" TOPOLOGY RASTER" "PostgreSQL 9.5.4 on x86_64-pc-linux-gnu,
 compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4), 64-bit"

 * "POSTGIS="2.3.0 r15146" GEOS="3.5.0-CAPI-1.9.0 r4090" PROJ="Rel. 4.9.1,
 04 March 2015" GDAL="GDAL 2.1.1, released 2016/07/07" LIBXML="2.7.8"
 LIBJSON="0.12" TOPOLOGY RASTER"

 It not the case, but also some side-effect occured in geoserver when share
 such geometries. Geoserver also failed with message like:
 {{{
 #!xml
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <ServiceExceptionReport version="1.1.1">
 <ServiceException code="internalError">Rendering process failed Invalid
 number of points in LinearRing (found 3 - must be 0 or >=
 4)</ServiceException>
 </ServiceExceptionReport>
 }}}

--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3652>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list