[postgis-tickets] [PostGIS] #4287: Assertion failure in gserialized_gist_picksplit while creating gist index on geometry(LineString, 4326) column

PostGIS trac at osgeo.org
Tue Jan 8 11:09:56 PST 2019


#4287: Assertion failure in gserialized_gist_picksplit while creating gist index
on geometry(LineString,4326) column
----------------------+---------------------------
 Reporter:  bgandhi1  |      Owner:  pramsey
     Type:  defect    |     Status:  new
 Priority:  medium    |  Milestone:  PostGIS 2.5.2
Component:  postgis   |    Version:  2.4.x
 Keywords:            |
----------------------+---------------------------
 PostgreSQL version:[[br]]
 =====================[[br]]
 select version();[[br]]
  PostgreSQL 10.5, compiled by Visual C++ build 1800, 64-bit

 PostGIS version:[[br]]
 =====================[[br]]
 select PostGIS_full_version();[[br]]
  POSTGIS="2.4.3 r16312" PGSQL="100" GEOS="3.6.2-CAPI-1.10.2 4d2925d"
 PROJ="Rel. 4.9.3, 15 August 2016" GDAL="GDAL 2.2.3, released 2017/11/20
 GDAL_DATA not found" LIBXML="2.7.8" LIBJSON="0.12" LIBPROTOBUF="1.2.1"
 RASTER

 We have a PostgreSQL server with above PostGIS version details. In this
 server, in a given database, we have a column with type
 geometry(LineString, 4326). On this column, we try to create a GIST index
 like below:

 CREATE INDEX index_name ON public.table_name USING gist
 (geom_linestring_col);

 This results in PostgreSQL issuing an abort with a stack trace that looks
 like below:

 MSVCR120!abort+0x34 [f:\dd\vctools\crt\crtw32\misc\abort.c,88] [[br]]
 postgres!!ExceptionalCondition+0x4e [src\backend\utils\error\assert.c,54]
 [[br]]
 postgis_2_4!gserialized_gist_picksplit_2d+0xc87 [[br]]
 postgres!FunctionCall2Coll+0x5c [src\backend\utils\fmgr\fmgr.c,1062]
 [[br]]
 postgres!gistUserPicksplit+0x98 [src\backend\access\gist\gistsplit.c,438]
 [[br]]
 postgres!gistSplitByKey+0x337 [src\backend\access\gist\gistsplit.c,697]
 [[br]]
 postgres!gistSplit+0x109 [src\backend\access\gist\gist.c,1373] [[br]]
 postgres!gistplacetopage+0x1d0 [src\backend\access\gist\gist.c,298] [[br]]
 postgres!gistdoinsert+0x4bf [src\backend\access\gist\gist.c,834] [[br]]
 postgres!gistBuildCallback+0x92 [src\backend\access\gist\gistbuild.c,491]
 [[br]]
 postgres!!IndexBuildHeapRangeScan+0x6a5 [src\backend\catalog\index.c,2305]
 [[br]]
 postgres!!IndexBuildHeapScan+0x38 [src\backend\catalog\index.c,2190]
 [[br]]
 postgres!gistbuild+0x21a [src\backend\access\gist\gistbuild.c,212] [[br]]
 postgres!index_build+0xb0 [src\backend\catalog\index.c,2058] [[br]]
 postgres!index_create+0x818 [src\backend\catalog\index.c,1126] [[br]]
 postgres!!DefineIndex+0xa5b [src\backend\commands\indexcmds.c,680] [[br]]
 postgres!!ProcessUtilitySlow+0x7cc [src\backend\tcop\utility.c,1334]
 [[br]]
 postgres!standard_ProcessUtility+0x8e3 [src\backend\tcop\utility.c,934]
 [[br]]

 [------rest of the stack snipped-------]

 Upon debugging further into ExceptionalCondition code, we could see that
 the following assertion in postgis code was raised:

 0:106> dv [[br]]
  fmt = 0x0000000b`81048d70 "TRAP: %s("%s", File: "%s", Line: %d)." [[br]]
  errbuf = char [2048] "TRAP: FailedAssertion("!(lower >=
 context.rightLower)", File: "gserialized_gist_2d.c", Line: 2075)." [[br]]

 [[br]]
 We are able to consistently reproduce this with this table/column. Can we
 get help regarding if this is a known issue, or has been fixed in latest
 versions of PostGIS?

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