<div dir="ltr">I have started a ticket, and have a fix in hand.<div><br></div><div><a href="https://trac.osgeo.org/postgis/ticket/6028">https://trac.osgeo.org/postgis/ticket/6028</a><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Dec 13, 2025 at 6:28 PM Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca">pramsey@cleverelephant.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="line-break:after-white-space">First, thank you for a perfect minimal reproducer right up front. Very helpful and I have confirmed a crash here too. I haven’t put it into the debugger yet. Your empty polygon is pretty cool (as polygons tend to be) since it is not a classic “polygon with no rings” empty polygon, it is a “polygon with one ring that has no points” empty polygon.<div><br></div><div><div>  01 // LITTLE ENDIAN. </div><div>  03000020 // POLYGON, WITH SRID</div><div>  97130000 // SRID 5015</div><div>  01000000 // ONE RING</div><div>  00000000 // ZERO POINTS</div><div><br></div><div>Why that causes a crash in the index code (or perhaps the bounding box extraction code) is yet to be determined. </div><div>Anyways, very exciting to have a crasher, quite a rare defect these days.</div><div>ATB,</div><div>P.</div><div><br></div><div><br><blockquote type="cite"><div>On Dec 12, 2025, at 5:19 PM, Jorge Gustavo Rocha <<a href="mailto:jgr@di.uminho.pt" target="_blank">jgr@di.uminho.pt</a>> wrote:</div><br><div><span style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">TL;DR</span><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">A GIST index on a EMPTY POLYGON (encoded by GDAL) crashes postgresql with segmentation fault.</span><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">drop table if exists fault;</span><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">create table fault (fid integer, geom geometry(Polygon,5015));</span><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">INSERT INTO fault (fid, geom) VALUES (1, '0103000020971300000100000000000000'::GEOMETRY);</span><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">CREATE INDEX fault_geom_index ON fault USING GIST (geom);</span><br style="font-family:HelveticaNeue;font-size:13px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"></div></blockquote></div><br></div></div></blockquote></div>