[postgis-tickets] [PostGIS] #4912: Postgres 11+ crashes with segmentation fault 11 when using SET STORAGE EXTERNAL on a `geographic` column

PostGIS trac at osgeo.org
Mon May 10 09:53:26 PDT 2021


#4912: Postgres 11+ crashes with segmentation fault 11 when using SET STORAGE
EXTERNAL on a `geographic` column
---------------------+---------------------------
 Reporter:  progm    |      Owner:  pramsey
     Type:  defect   |     Status:  new
 Priority:  medium   |  Milestone:  PostGIS 3.1.2
Component:  postgis  |    Version:  3.1.x
 Keywords:           |
---------------------+---------------------------
 Postgres 11+ crashes with `segmentation fault 11` when using `SET STORAGE
 EXTERNAL` on a `geographic` column.

 Being more specific, the segmentation fault happens when you switch to
 storage external a table containing a ''certain'' amount of data.

 How to reproduce with docker (I've tested on macOS):

 {{{
 $ docker run --name postgis -p 5432:5432 -e
 POSTGRES_HOST_AUTH_METHOD=trust -e POSTGRES_PASSWORD=password
 postgis/postgis:11-3.1
 $ psql -U postgres -h 127.0.0.1
 postgres=# CREATE TABLE areas (id serial, geog geography(Multipolygon,
 4326));
 postgres=# insert into areas (id, geog) select i,
 ST_GeomFromText('MULTIPOLYGON (((11.174038669077522 44.00998460379789,
 11.169693264583247 43.979730968523256, 11.08178331755044 43.970801288841,
 11.011641246672006 44.00374236407625, 11.040369198606385
 44.03420070463533, 11.049434195204165 44.09024166231109,
 11.093226216052033 44.09445494894457, 11.107143581001756
 44.05024384632795, 11.133566054440559 44.03986705890006,
 11.125261503629277 44.022849011558975, 11.174038669077522
 44.00998460379789)))') as geog from generate_series(1,1000) i;
 postgres=# CREATE INDEX testing_idx ON areas USING GIST (geog);
 postgres=# ALTER TABLE areas ALTER COLUMN geog SET STORAGE EXTERNAL;
 postgres=# VACUUM FULL ANALYZE areas;
 }}}

 However, this seems to happen also if you switch to "storage external"
 first and you `INSERT` the data later.

 I've tried exactly the same example with postgres 10 with postgis 3.1 and
 it works correctly with no segmentation fault.

 Maybe it's a regression with postgres 11+ (you can replicate it with 12
 and 13 as well).

 Let me know if you need any further information.

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4912>
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