[postgis-tickets] [PostGIS] #4144: If during writing tables that contains PostGIS geometry fields AUTOVACUUM is launched, it crashes and force PostgreSQL to restart.

PostGIS trac at osgeo.org
Sat Aug 11 00:23:07 PDT 2018


#4144: If during writing tables that contains PostGIS geometry fields AUTOVACUUM
is launched, it crashes and force PostgreSQL to restart.
----------------------+---------------------------
  Reporter:  zancos   |      Owner:  pramsey
      Type:  defect   |     Status:  new
  Priority:  blocker  |  Milestone:  PostGIS 2.4.5
 Component:  postgis  |    Version:  2.4.x
Resolution:           |   Keywords:
----------------------+---------------------------
Changes (by robe):

 * priority:  medium => blocker
 * milestone:  PostGIS GDAL => PostGIS 2.4.5


Comment:

 Why is this marked as PostGIS GDAL?  raster isn't even at play here so
 GDAL in theory should not be involved unless the .so files are fighting
 with each other.  Also at a glance at your bt I don't see any postgis
 components showing up as a culprit.

 I wasn't able to make your example crash on


 {{{
 PostgreSQL 10.3, compiled by Visual C++ build 1800, 64-bit POSTGIS="2.4.4
 r16526" PGSQL="100" GEOS="3.6.2-CAPI-1.10.2 4d2925d" PROJ="Rel. 4.9.3, 15
 August 2016" GDAL="GDAL 2.2.4, released 2018/03/19" LIBXML="2.7.8"
 LIBJSON="0.12" LIBPROTOBUF="1.2.1" RASTER
 }}}

 or

 {{{
 PostgreSQL 10.3, compiled by Visual C++ build 1800, 64-bit POSTGIS="2.4.4
 r16526" PGSQL="100" GEOS="3.6.2-CAPI-1.10.2 4d2925d" PROJ="Rel. 4.9.3, 15
 August 2016" GDAL="GDAL 2.2.4, released 2018/03/19" LIBXML="2.7.8"
 LIBJSON="0.12" LIBPROTOBUF="1.2.1" RASTER
 }}}

 I revised your example a bit - here is what I ran


 {{{
 CREATE SCHEMA IF NOT EXISTS bug_schema;
 CREATE EXTENSION postgis SCHEMA bug_schema;
 CREATE TABLE "bug_schema"."bug_table" (
   "#tbl" bigserial NOT NULL ,
   "guid" uuid NOT NULL DEFAULT NULL,
   "text" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
 NULL,
   "metadata" json NOT NULL DEFAULT NULL,
   "bounding_box" "bug_schema"."geometry" NOT NULL DEFAULT NULL,
   "flag" bool NOT NULL DEFAULT NULL,
   "pose" float8[] NOT NULL DEFAULT NULL
 )
 ;
 INSERT INTO bug_schema.bug_table(guid, "text", "metadata",
            bounding_box, flag, pose  )
 SELECT '28ef049e-9d36-11e8-80b0-00000a3a2e20'::uuid,
     'hello', '{"name": "hello", "age": 10}'::json,
     bug_schema.ST_MakeEnvelope(1,2,3,i, 4326),
     true, '{1908098080934,190808.2908}'::float8[]
    FROM generate_series(1,10) AS i;

 vacuum analyze verbose;

 }}}


 Can you provide an example of an insert that triggers the error.  Might
 have to do with play of NULLS and so forth.

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4144#comment:5>
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