[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