[postgis-tickets] [PostGIS] #4731: Garden crash ST_WrapX

PostGIS trac at osgeo.org
Wed Jul 29 19:36:43 PDT 2020


#4731: Garden crash ST_WrapX
----------------------+---------------------------
  Reporter:  robe     |      Owner:  pramsey
      Type:  defect   |     Status:  new
  Priority:  blocker  |  Milestone:  PostGIS 3.1.0
 Component:  postgis  |    Version:  master
Resolution:           |   Keywords:
----------------------+---------------------------

Comment (by robe):

 gdb seems to go on forever

 {{{
 #26014 lwgeom_wrapx (lwgeom_in=0x8073798, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26015 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x80737f0,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26016 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x80735c0) at lwgeom_wrapx.c:107
 #26017 lwgeom_wrapx (lwgeom_in=0x80735c0, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26018 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x8073618,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26019 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x80733e8) at lwgeom_wrapx.c:107
 #26020 lwgeom_wrapx (lwgeom_in=0x80733e8, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26021 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x8073440,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26022 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x8073210) at lwgeom_wrapx.c:107
 #26023 lwgeom_wrapx (lwgeom_in=0x8073210, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26024 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x8073268,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26025 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bed478) at lwgeom_wrapx.c:107
 #26026 lwgeom_wrapx (lwgeom_in=0x5bed478, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26027 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bed4d0,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26028 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bed2a0) at lwgeom_wrapx.c:107
 #26029 lwgeom_wrapx (lwgeom_in=0x5bed2a0, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26030 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bed2f8,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26031 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bed0c8) at lwgeom_wrapx.c:107
 #26032 lwgeom_wrapx (lwgeom_in=0x5bed0c8, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26033 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bed120,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26034 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5becef0) at lwgeom_wrapx.c:107
 #26035 lwgeom_wrapx (lwgeom_in=0x5becef0, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26036 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5becf48,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26037 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5becd18) at lwgeom_wrapx.c:107
 #26038 lwgeom_wrapx (lwgeom_in=0x5becd18, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26039 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5becd70,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26040 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5becb40) at lwgeom_wrapx.c:107
 #26041 lwgeom_wrapx (lwgeom_in=0x5becb40, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26042 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5becb98,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26043 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bec968) at lwgeom_wrapx.c:107
 #26044 lwgeom_wrapx (lwgeom_in=0x5bec968, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26045 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bec9c0,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26046 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bec790) at lwgeom_wrapx.c:107
 #26047 lwgeom_wrapx (lwgeom_in=0x5bec790, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26048 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bec7e8,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26049 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bec5b8) at lwgeom_wrapx.c:107
 #26050 lwgeom_wrapx (lwgeom_in=0x5bec5b8, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26051 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bec610,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26052 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bec3e0) at lwgeom_wrapx.c:107
 #26053 lwgeom_wrapx (lwgeom_in=0x5bec3e0, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26054 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bec438,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26055 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bec208) at lwgeom_wrapx.c:107
 #26056 lwgeom_wrapx (lwgeom_in=0x5bec208, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26057 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bec260,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26058 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bec030) at lwgeom_wrapx.c:107
 #26059 lwgeom_wrapx (lwgeom_in=0x5bec030, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26060 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bec088,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26061 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bebe58) at lwgeom_wrapx.c:107
 #26062 lwgeom_wrapx (lwgeom_in=0x5bebe58, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26063 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bebeb0,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26064 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bebc80) at lwgeom_wrapx.c:107
 #26065 lwgeom_wrapx (lwgeom_in=0x5bebc80, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26066 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bebcd8,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26067 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5bebaa8) at lwgeom_wrapx.c:107
 #26068 lwgeom_wrapx (lwgeom_in=0x5bebaa8, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26069 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5bebb00,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26070 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5beb8d0) at lwgeom_wrapx.c:107
 #26071 lwgeom_wrapx (lwgeom_in=0x5beb8d0, cutx=20.100000000000001,
     amount=20.100000000000001) at lwgeom_wrapx.c:190
 #26072 0x000000006f06ae82 in lwcollection_wrapx (lwcoll_in=0x5beb928,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:138
 #26073 0x000000006f06aa38 in lwgeom_split_wrapx
 (amount=20.100000000000001,
     cutx=20.100000000000001, geom_in=0x5beb690) at lwgeom_wrapx.c:107
 #26074 lwgeom_wrapx (lwgeom_in=lwgeom_in at entry=0x5beb690,
     cutx=cutx at entry=20.100000000000001,
     amount=amount at entry=20.100000000000001) at lwgeom_wrapx.c:190
 #26075 0x000000006efcaba8 in ST_WrapX (fcinfo=0x80433a8)
     at lwgeom_functions_basic.c:1105
 #26076 0x00000000005ec5be in ExecInterpExpr (state=0x80432b8,
     econtext=0x8043538, isnull=<optimized out>) at execExprInterp.c:699
 #26077 0x00000000006bdc81 in ExecEvalExprSwitchContext (isNull=0x4d6ea1c,
     econtext=<optimized out>, state=0x80432b8)
     at ../../../../src/include/executor/executor.h:313
 #26078 evaluate_expr (expr=<optimized out>,
     result_type=result_type at entry=119675,
     result_typmod=result_typmod at entry=-1,
     result_collation=result_collation at entry=0) at clauses.c:4809
 #26079 0x00000000006bf528 in evaluate_function (context=0x4d6eec0,
     func_tuple=0x7fb7948, funcvariadic=false, args=0x8071910,
 input_collid=0,
     result_collid=0, result_typmod=-1, result_type=119675, funcid=119849)
     at clauses.c:4340
 #26080 simplify_function (funcid=119849, result_type=119675,
     result_typmod=-1, result_collid=result_collid at entry=0,
     input_collid=input_collid at entry=0, args_p=args_p at entry=0x4d6ec00,
     funcvariadic=funcvariadic at entry=false,
     process_args=process_args at entry=true,
     allow_non_const=allow_non_const at entry=true,
     context=context at entry=0x4d6eec0) at clauses.c:3970
 #26081 0x00000000006be092 in eval_const_expressions_mutator
 (node=0x80711e0,
     context=0x4d6eec0) at clauses.c:2475
 #26082 0x000000000065d574 in expression_tree_mutator (
     node=node at entry=0x8071238,
     mutator=mutator at entry=0x6bdd20 <eval_const_expressions_mutator>,
     context=context at entry=0x4d6eec0) at nodeFuncs.c:3131
 #26083 0x00000000006bdd72 in eval_const_expressions_mutator
 (node=0x8071238,
     context=0x4d6eec0) at clauses.c:3537
 #26084 0x000000000065df55 in expression_tree_mutator (
     node=node at entry=0x8071290,
     mutator=mutator at entry=0x6bdd20 <eval_const_expressions_mutator>,
     context=context at entry=0x4d6eec0) at nodeFuncs.c:3010
 #26085 0x00000000006bdd72 in eval_const_expressions_mutator
 (node=0x8071290,
     context=context at entry=0x4d6eec0) at clauses.c:3537
 #26086 0x00000000006bf394 in eval_const_expressions (
     root=root at entry=0x8071398, node=<optimized out>) at clauses.c:2267
 #26087 0x00000000006a2b18 in preprocess_expression (
     root=root at entry=0x8071398, expr=<optimized out>, kind=kind at entry=1)
     at planner.c:1094
 #26088 0x00000000006aa8f4 in subquery_planner (glob=glob at entry=0x5bbdf70,
     parse=<optimized out>, parse at entry=0x5bbe088,
     parent_root=parent_root at entry=0x0,
 hasRecursion=hasRecursion at entry=false,
     tuple_fraction=tuple_fraction at entry=0) at planner.c:771
 #26089 0x00000000006ac2cf in standard_planner (parse=0x5bbe088,
     query_string=<optimized out>, cursorOptions=256,
     boundParams=<optimized out>) at planner.c:405
 #26090 0x0000000000780eea in pg_plan_query (querytree=0x5bbe088,
     query_string=0x5bbcef0 "SELECT ST_WrapX('LINESTRING(-11.1111111 70,70
 -11.1111111)'::geometry, 20.1,20.1);", cursorOptions=256, boundParams=0x0)
     at postgres.c:875
 #26091 0x0000000000780ff1 in pg_plan_queries (querytrees=0x8071340,
     query_string=query_string at entry=0x5bbcef0 "SELECT
 ST_WrapX('LINESTRING(-11.1111111 70,70 -11.1111111)'::geometry,
 20.1,20.1);",
     cursorOptions=cursorOptions at entry=256,
 boundParams=boundParams at entry=0x0)
     at postgres.c:966
 #26092 0x0000000000781380 in exec_simple_query (
     query_string=0x5bbcef0 "SELECT ST_WrapX('LINESTRING(-11.1111111 70,70
 -11.1111111)'::geometry, 20.1,20.1);") at postgres.c:1158
 #26093 0x0000000000782db9 in PostgresMain (argc=<optimized out>,
     argv=argv at entry=0x5c66d50, dbname=<optimized out>,
     username=<optimized out>) at postgres.c:4315
 #26094 0x00000000006f86ae in BackendRun (port=0x4d6f7c0, port=0x4d6f7c0)
     at postmaster.c:4523
 #26095 SubPostmasterMain (argc=argc at entry=3, argv=argv at entry=0x5c66b10)
     at postmaster.c:5046
 #26096 0x0000000000910b5f in main (argc=3, argv=0x5c66b10) at main.c:187

 }}}

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