[postgis-tickets] [PostGIS] #5240: ST_DumpPoints and ST_DumpSegments crash with multipolygon that includes an empty polygon

PostGIS trac at osgeo.org
Tue Sep 27 16:19:39 PDT 2022


#5240: ST_DumpPoints and ST_DumpSegments crash with multipolygon that includes an
empty polygon
----------------------+---------------------------
  Reporter:  robe     |      Owner:  robe
      Type:  defect   |     Status:  new
  Priority:  blocker  |  Milestone:  PostGIS 3.0.8
 Component:  postgis  |    Version:  3.2.x
Resolution:           |   Keywords:
----------------------+---------------------------
Changes (by robe):

 * owner:  pramsey => robe

Comment:

 Stack trace:


 {{{
 0x00000000711a19a0 in LWGEOM_dumppoints (fcinfo=0x74c1f48)
     at lwgeom_dumppoints.c:190
 warning: Source file is more recent than executable.
 190                                             if (state->pt ==
 poly->rings[state->ring]->npoints) {
 (gdb) bt
 #0  0x00000000711a19a0 in LWGEOM_dumppoints (fcinfo=0x74c1f48)
     at lwgeom_dumppoints.c:190
 #1  0x00000000005e574a in ExecMakeFunctionResultSet (fcache=0x74c1800,
     econtext=econtext at entry=0x74c0d38, argContext=0x7e05250,
     isNull=0x74c1750, isDone=isDone at entry=0x74c17e0) at execSRF.c:606
 #2  0x0000000000607180 in ExecProjectSRF (node=node at entry=0x74c0c20,
     continuing=continuing at entry=true) at nodeProjectSet.c:175
 #3  0x00000000006072ad in ExecProjectSet (pstate=0x74c0c20)
     at nodeProjectSet.c:69
 #4  0x00000000005db31a in ExecProcNode (node=0x74c0c20)
     at ../../../src/include/executor/executor.h:239
 #5  ExecutePlan (execute_once=<optimized out>, dest=0x88cb468,
     direction=<optimized out>, numberTuples=0, sendTuples=<optimized out>,
     operation=CMD_SELECT, use_parallel_mode=<optimized out>,
     planstate=0x74c0c20, estate=0x74c09b8) at execMain.c:1646
 #6  standard_ExecutorRun (queryDesc=0x89300e8, direction=<optimized out>,
     count=0, execute_once=<optimized out>) at execMain.c:364
 #7  0x000000000075658b in PortalRunSelect (portal=0x745c4a8,
     portal at entry=0x0, forward=forward at entry=true, count=0,
     count at entry=143438952, dest=dest at entry=0x4b0ef68) at pquery.c:929
 #8  0x0000000000757d4f in PortalRun (portal=0x0, portal at entry=0x745c4a8,
     count=143438952, count at entry=2147483647,
     isTopLevel=isTopLevel at entry=true, run_once=run_once at entry=true,
     dest=<optimized out>, dest at entry=0x88cb468,
     altdest=altdest at entry=0x88cb468,
     completionTag=completionTag at entry=0x4b0ef20 "") at pquery.c:770
 #9  0x0000000000753530 in exec_simple_query (
     query_string=0x74940f8 "SELECT ST_DumpPoints(foo1.the_geom)  As
 result\n\tFROM (\n\t\t\tSELECT ST_GeomFromText('MULTIPOLYGON (((9 9, 9 1,
 1 1, 2 4, 7 7, 9 9)), EMPTY)', 4326) As the_geom ) As foo1;") at
 postgres.c:1215
 #10 0x0000000000754eb1 in PostgresMain (argc=<optimized out>,
     argv=argv at entry=0x7424848, dbname=<optimized out>,
     username=<optimized out>) at postgres.c:4247
 #11 0x00000000006d02f4 in BackendRun (port=0x4b0f3b0, port=0x4b0f3b0)
     at postmaster.c:4437
 #12 SubPostmasterMain (argc=argc at entry=3, argv=argv at entry=0x1e6c10)
     at postmaster.c:4959
 #13 0x00000000008dd3aa in main (argc=3, argv=0x1e6c10) at main.c:205

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