Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#4217 closed defect (fixed)

ST_Subdivide() - segfault

Reported by: morena Owned by: komzpa
Priority: high Milestone: PostGIS 2.5.1
Component: postgis Version: 2.5.x -- EOL
Keywords: ST_Subdivide, segfault Cc:

Description

How to reproduce the issue:

Subdivide attached geometry using ST_Subdivide() with max_vertices = 10 or fewer vertices (operation succeds for max_vertices > 10)

ogr2ogr -f "PostgreSQL" -overwrite PG:"dbname=dev" "geom_layer.geojson" -nln public.geom_layer 

DROP TABLE IF EXISTS public.geom_layer_subdivided;
CREATE TABLE public.geom_layer_subdivided AS
SELECT ST_Subdivide(wkb_geometry,10) AS geom
FROM public.geom_layer
;

server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
syslog message:
segfault at 0 ip 00007f1e461ec8f5 sp 00007fffff02ad28 error 4 in postgis-2.5.so[7f1e46181000+bb000]

Geometry checks:

SELECT DISTINCT ST_IsValid(wkb_geometry) FROM public.geom_layer;
 st_isvalid
------------
 t
(1 row) 
SELECT ST_NPoints(wkb_geometry) AS geom_num_points FROM public.geom_layer;
 geom_num_points
------
  212
(1 row)

Linux Version

uname -a
Linux 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux

PostgreSQL Version

SELECT version();
PostgreSQL 11.0 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit

PostGIS Version

SELECT PostGIS_Full_Version();
POSTGIS="2.5.1dev r16947" [EXTENSION] PGSQL="110" GEOS="3.7.0-CAPI-1.11.0 673b9939" PROJ="Rel. 5.2.0, September 15th, 2018" GDAL="GDAL 2.3.2, released 2018/09/21" LIBXML="2.9.4" RASTER

Attachments (2)

geom_layer.geojson (9.6 KB ) - added by morena 6 years ago.
geom_layer.PNG (100.9 KB ) - added by morena 6 years ago.

Download all attachments as: .zip

Change History (7)

by morena, 6 years ago

Attachment: geom_layer.geojson added

by morena, 6 years ago

Attachment: geom_layer.PNG added

comment:1 by komzpa, 6 years ago

Owner: changed from pramsey to komzpa

Reproduced locally.

WIP PR with test case for now: https://github.com/postgis/postgis/pull/321

comment:2 by komzpa, 6 years ago

Resolution: fixed
Status: newclosed

In 16955:

ST_Subdivide: don't crash if on some iteration you need to subdivide Empty

Closes #4217
Closes https://github.com/postgis/postgis/pull/321

comment:3 by komzpa, 6 years ago

In 16956:

ST_Subdivide: don't crash if on some iteration you need to subdivide Empty
Closes #4217

comment:4 by komzpa, 6 years ago

In 16957:

Fix typo in r16956

Closes #4217

comment:5 by komzpa, 6 years ago

morena, segfault is fixed in 2.5.1+, please try updating and see if all the issues are gone.

Note: See TracTickets for help on using tickets.