Opened 5 years ago

Closed 5 years ago

#4434 closed defect (fixed)

ST_Intersects planning time crash on PG12

Reported by: komzpa Owned by: pramsey
Priority: medium Milestone: PostGIS 3.0.0
Component: postgis Version: master
Keywords: Cc:

Description (last modified by komzpa)

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000000000 in ?? ()
(gdb) ие
Undefined command: "".  Try "help".
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000564420046a99 in CatalogCacheComputeHashValue (cache=cache@entry=0x564421ca4b80, nkeys=nkeys@entry=3, v1=v1@entry=96399022, v2=v2@entry=2, v3=v3@entry=1, v4=v4@entry=0) at ./build/../src/backend/utils/cache/catcache.c:289
#2  0x0000564420048669 in SearchCatCacheInternal (v4=0, v3=1, v2=2, v1=96399022, nkeys=3, cache=0x564421ca4b80) at ./build/../src/backend/utils/cache/catcache.c:1236
#3  SearchCatCache3 (cache=0x564421ca4b80, v1=v1@entry=96399022, v2=v2@entry=2, v3=v3@entry=1) at ./build/../src/backend/utils/cache/catcache.c:1183
#4  0x0000564420059bc3 in SearchSysCache3 (cacheId=cacheId@entry=57, key1=key1@entry=96399022, key2=key2@entry=2, key3=key3@entry=1) at ./build/../src/backend/utils/cache/syscache.c:1153
#5  0x00007fc0ebcea6bd in pg_get_nd_stats (table_oid=table_oid@entry=96399022, att_num=2, mode=mode@entry=2, only_parent=only_parent@entry=false) at gserialized_estimate.c:959
#6  0x00007fc0ebcedbd3 in gserialized_joinsel_internal (root=<optimized out>, args=<optimized out>, jointype=<optimized out>, mode=mode@entry=2) at gserialized_estimate.c:1292
#7  0x00007fc0ebce77b7 in postgis_index_supportfn (fcinfo=<optimized out>) at gserialized_supportfn.c:211
#8  0x000056442006733d in FunctionCall1Coll (flinfo=0x7ffd623f2c00, collation=<optimized out>, arg1=<optimized out>) at ./build/../src/backend/utils/fmgr/fmgr.c:1140
#9  0x0000564420067b45 in OidFunctionCall1Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=140726251760768) at ./build/../src/backend/utils/fmgr/fmgr.c:1418
#10 0x000056441fe97c69 in function_selectivity (root=root@entry=0x564421ce0ab0, funcid=<optimized out>, args=0x564421d0b338, inputcollid=0, is_join=<optimized out>, varRelid=varRelid@entry=0, jointype=JOIN_INNER, sjinfo=0x7ffd623f2ff0) at ./build/../src/backend/optimizer/util/plancat.c:1884
#11 0x000056441fe5551a in clause_selectivity (root=0x564421ce0ab0, clause=0x564421d0b278, varRelid=0, jointype=JOIN_INNER, sjinfo=<optimized out>) at ./build/../src/backend/optimizer/path/clausesel.c:555
#12 0x000056441fe55ab5 in clauselist_selectivity_simple (root=0x564421ce0ab0, clauses=0x564421d56300, varRelid=0, jointype=JOIN_INNER, sjinfo=0x7ffd623f2ff0, estimatedclauses=0x0) at ./build/../src/include/nodes/pg_list.h:79
#13 0x000056441fe55c35 in clauselist_selectivity (root=root@entry=0x564421ce0ab0, clauses=clauses@entry=0x564421d56300, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x7ffd623f2ff0) at ./build/../src/backend/optimizer/path/clausesel.c:103
#14 0x000056441fe56b10 in calc_joinrel_size_estimate (root=root@entry=0x564421ce0ab0, outer_rows=503, inner_rows=1, sjinfo=sjinfo@entry=0x7ffd623f2ff0, restrictlist_in=restrictlist_in@entry=0x564421d56300, inner_rel=<optimized out>, outer_rel=<optimized out>, joinrel=<optimized out>)
    at ./build/../src/backend/optimizer/path/costsize.c:4635
#15 0x000056441fe5bf2a in set_joinrel_size_estimates (root=root@entry=0x564421ce0ab0, rel=rel@entry=0x564421d0fa78, outer_rel=outer_rel@entry=0x564421d0c8b0, inner_rel=inner_rel@entry=0x564421d0d320, sjinfo=sjinfo@entry=0x7ffd623f2ff0, restrictlist=restrictlist@entry=0x564421d56300)
    at ./build/../src/backend/optimizer/path/costsize.c:4490
#16 0x000056441fe9b518 in build_join_rel (root=root@entry=0x564421ce0ab0, joinrelids=joinrelids@entry=0x564421d54048, outer_rel=outer_rel@entry=0x564421d0c8b0, inner_rel=inner_rel@entry=0x564421d0d320, sjinfo=0x7ffd623f2ff0, restrictlist_ptr=restrictlist_ptr@entry=0x7ffd623f2fe8)
    at ./build/../src/backend/optimizer/util/relnode.c:710
#17 0x000056441fe67525 in make_join_rel (root=root@entry=0x564421ce0ab0, rel1=rel1@entry=0x564421d0c8b0, rel2=rel2@entry=0x564421d0d320) at ./build/../src/backend/optimizer/path/joinrels.c:724
#18 0x000056441fe67797 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at ./build/../src/backend/optimizer/path/joinrels.c:289
#19 join_search_one_level (root=root@entry=0x564421ce0ab0, level=level@entry=2) at ./build/../src/backend/optimizer/path/joinrels.c:111
#20 0x000056441fe54a2b in standard_join_search (root=0x564421ce0ab0, levels_needed=4, initial_rels=<optimized out>) at ./build/../src/backend/optimizer/path/allpaths.c:2881
#21 0x000056441fe54e87 in make_one_rel (root=root@entry=0x564421ce0ab0, joinlist=joinlist@entry=0x564421d0b998) at ./build/../src/backend/optimizer/path/allpaths.c:227
#22 0x000056441fe74dac in query_planner (root=root@entry=0x564421ce0ab0, qp_callback=qp_callback@entry=0x56441fe762f0 <standard_qp_callback>, qp_extra=qp_extra@entry=0x7ffd623f32d0) at ./build/../src/backend/optimizer/plan/planmain.c:271
#23 0x000056441fe791fa in grouping_planner (root=<optimized out>, inheritance_update=false, tuple_fraction=<optimized out>) at ./build/../src/backend/optimizer/plan/planner.c:2048
#24 0x000056441fe7bba8 in subquery_planner (glob=glob@entry=0x564421ce0350, parse=parse@entry=0x564421cdfe18, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=false, tuple_fraction=tuple_fraction@entry=0) at ./build/../src/backend/optimizer/plan/planner.c:1012
#25 0x000056441fe7ccd5 in standard_planner (parse=0x564421cdfe18, cursorOptions=256, boundParams=<optimized out>) at ./build/../src/backend/optimizer/plan/planner.c:406
#26 0x000056441ff32982 in pg_plan_query (querytree=querytree@entry=0x564421cdfe18, cursorOptions=cursorOptions@entry=256, boundParams=boundParams@entry=0x0) at ./build/../src/backend/tcop/postgres.c:878
#27 0x000056441ff32a56 in pg_plan_queries (querytrees=<optimized out>, cursorOptions=cursorOptions@entry=256, boundParams=boundParams@entry=0x0) at ./build/../src/backend/tcop/postgres.c:968
#28 0x000056441ff32f1f in exec_simple_query (query_string=0x564421bf0bb0 "select distinct on (ST_FORCE2D(t.geom)) ST_Segmentize(t.geom :: geography, 50) :: geometry geom, up.point_index\n", ' ' <repeats 70 times>, "from spanning_tree"...) at ./build/../src/backend/tcop/postgres.c:1143
#29 0x000056441ff3464e in PostgresMain (argc=<optimized out>, argv=argv@entry=0x564421c4a5c0, dbname=<optimized out>, username=<optimized out>) at ./build/../src/backend/tcop/postgres.c:4249
#30 0x000056441feba609 in BackendRun (port=0x564421c40ba0, port=0x564421c40ba0) at ./build/../src/backend/postmaster/postmaster.c:4431
#31 BackendStartup (port=0x564421c40ba0) at ./build/../src/backend/postmaster/postmaster.c:4122
#32 ServerLoop () at ./build/../src/backend/postmaster/postmaster.c:1704
#33 0x000056441febb52f in PostmasterMain (argc=5, argv=0x564421be7c00) at ./build/../src/backend/postmaster/postmaster.c:1377
#34 0x000056441fc23efd in main (argc=5, argv=0x564421be7c00) at ./build/../src/backend/main/main.c:228
(gdb) bt full
#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x0000564420046a99 in CatalogCacheComputeHashValue (cache=cache@entry=0x564421ca4b80, nkeys=nkeys@entry=3, v1=v1@entry=96399022, v2=v2@entry=2, v3=v3@entry=1, v4=v4@entry=0) at ./build/../src/backend/utils/cache/catcache.c:289
        hashValue = 0
        oneHash = <optimized out>
        cc_hashfunc = 0x564421ca4b98
        __func__ = "CatalogCacheComputeHashValue"
#2  0x0000564420048669 in SearchCatCacheInternal (v4=0, v3=1, v2=2, v1=96399022, nkeys=3, cache=0x564421ca4b80) at ./build/../src/backend/utils/cache/catcache.c:1236
        hashValue = <optimized out>
        iter = <optimized out>
        bucket = <optimized out>
        arguments = {96399022, 2, 1, 0}
        hashIndex = <optimized out>
        ct = <optimized out>
        arguments = <optimized out>
        hashValue = <optimized out>
        hashIndex = <optimized out>
        iter = <optimized out>
        bucket = <optimized out>
        ct = <optimized out>
#3  SearchCatCache3 (cache=0x564421ca4b80, v1=v1@entry=96399022, v2=v2@entry=2, v3=v3@entry=1) at ./build/../src/backend/utils/cache/catcache.c:1183
No locals.
#4  0x0000564420059bc3 in SearchSysCache3 (cacheId=cacheId@entry=57, key1=key1@entry=96399022, key2=key2@entry=2, key3=key3@entry=1) at ./build/../src/backend/utils/cache/syscache.c:1153
No locals.
#5  0x00007fc0ebcea6bd in pg_get_nd_stats (table_oid=table_oid@entry=96399022, att_num=2, mode=mode@entry=2, only_parent=only_parent@entry=false) at gserialized_estimate.c:959
        stats_tuple = 0x0
        nd_stats = <optimized out>
#6  0x00007fc0ebcedbd3 in gserialized_joinsel_internal (root=<optimized out>, args=<optimized out>, jointype=<optimized out>, mode=mode@entry=2) at gserialized_estimate.c:1292
        selectivity = <optimized out>
        relid1 = 96399022
        relid2 = 96399051
        stats1 = <optimized out>
        stats2 = <optimized out>
        arg1 = 0x564421d0b2c8
        arg2 = 0x564421d0b368
        var1 = 0x564421d0b2c8
        var2 = 0x564421d0b368
        __func__ = "gserialized_joinsel_internal"
#7  0x00007fc0ebce77b7 in postgis_index_supportfn (fcinfo=<optimized out>) at gserialized_supportfn.c:211
        req = 0x7ffd623f2c80
        rawreq = 0x7ffd623f2c80
        ret = 0x0
        __func__ = "postgis_index_supportfn"
#8  0x000056442006733d in FunctionCall1Coll (flinfo=0x7ffd623f2c00, collation=<optimized out>, arg1=<optimized out>) at ./build/../src/backend/utils/fmgr/fmgr.c:1140
        fcinfodata = {fcinfo = {flinfo = 0x7ffd623f2c00, context = 0x0, resultinfo = 0x0, fncollation = 0, isnull = false, nargs = 1, args = 0x7ffd623f2bc0}, fcinfo_data = "\000,?b\375\177", '\000' <repeats 23 times>, "\253\001\000\200,?b\375\177\000\000\000,?b\375\177\000"}
        fcinfo = 0x7ffd623f2ba0
        result = <optimized out>
        __func__ = "FunctionCall1Coll"
        __errno_location = <optimized out>
#9  0x0000564420067b45 in OidFunctionCall1Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=140726251760768) at ./build/../src/backend/utils/fmgr/fmgr.c:1418
        flinfo = {fn_addr = 0x7fc0ebce7480 <postgis_index_supportfn>, fn_oid = 164073987, fn_nargs = 1, fn_strict = false, fn_retset = false, fn_stats = 1 '\001', fn_extra = 0x0, fn_mcxt = 0x564421bf0aa0, fn_expr = 0x0}
#10 0x000056441fe97c69 in function_selectivity (root=root@entry=0x564421ce0ab0, funcid=<optimized out>, args=0x564421d0b338, inputcollid=0, is_join=<optimized out>, varRelid=varRelid@entry=0, jointype=JOIN_INNER, sjinfo=0x7ffd623f2ff0) at ./build/../src/backend/optimizer/util/plancat.c:1884
        prosupport = <optimized out>
        req = {type = T_SupportRequestSelectivity, root = 0x564421ce0ab0, funcid = 17676, args = 0x564421d0b338, inputcollid = 0, is_join = true, varRelid = 0, jointype = JOIN_INNER, sjinfo = 0x7ffd623f2ff0, selectivity = -1}
        sresult = <optimized out>
        __func__ = "function_selectivity"
#11 0x000056441fe5551a in clause_selectivity (root=0x564421ce0ab0, clause=0x564421d0b278, varRelid=0, jointype=JOIN_INNER, sjinfo=<optimized out>) at ./build/../src/backend/optimizer/path/clausesel.c:555
        funcclause = 0x564421d0b278
        s1 = 0.5
        rinfo = <optimized out>
        cacheable = true
#12 0x000056441fe55ab5 in clauselist_selectivity_simple (root=0x564421ce0ab0, clauses=0x564421d56300, varRelid=0, jointype=JOIN_INNER, sjinfo=0x7ffd623f2ff0, estimatedclauses=0x0) at ./build/../src/include/nodes/pg_list.h:79
        s1 = 1
        rqlist = 0x0
        l = <optimized out>
        listidx = <optimized out>
#13 0x000056441fe55c35 in clauselist_selectivity (root=root@entry=0x564421ce0ab0, clauses=clauses@entry=0x564421d56300, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x7ffd623f2ff0) at ./build/../src/backend/optimizer/path/clausesel.c:103
        s1 = 1
        rel = <optimized out>
        estimatedclauses = 0x0
#14 0x000056441fe56b10 in calc_joinrel_size_estimate (root=root@entry=0x564421ce0ab0, outer_rows=503, inner_rows=1, sjinfo=sjinfo@entry=0x7ffd623f2ff0, restrictlist_in=restrictlist_in@entry=0x564421d56300, inner_rel=<optimized out>, outer_rel=<optimized out>, joinrel=<optimized out>)
    at ./build/../src/backend/optimizer/path/costsize.c:4635
        restrictlist = 0x564421d56300
        jointype = JOIN_INNER
        fkselec = 1
        jselec = <optimized out>
        pselec = <optimized out>
        nrows = <optimized out>
        __func__ = "calc_joinrel_size_estimate"
#15 0x000056441fe5bf2a in set_joinrel_size_estimates (root=root@entry=0x564421ce0ab0, rel=rel@entry=0x564421d0fa78, outer_rel=outer_rel@entry=0x564421d0c8b0, inner_rel=inner_rel@entry=0x564421d0d320, sjinfo=sjinfo@entry=0x7ffd623f2ff0, restrictlist=restrictlist@entry=0x564421d56300)
    at ./build/../src/backend/optimizer/path/costsize.c:4490
No locals.
#16 0x000056441fe9b518 in build_join_rel (root=root@entry=0x564421ce0ab0, joinrelids=joinrelids@entry=0x564421d54048, outer_rel=outer_rel@entry=0x564421d0c8b0, inner_rel=inner_rel@entry=0x564421d0d320, sjinfo=0x7ffd623f2ff0, restrictlist_ptr=restrictlist_ptr@entry=0x7ffd623f2fe8)
    at ./build/../src/backend/optimizer/util/relnode.c:710
        joinrel = 0x564421d0fa78
--Type <RET> for more, q to quit, c to continue without paging--
        restrictlist = 0x564421d56300
#17 0x000056441fe67525 in make_join_rel (root=root@entry=0x564421ce0ab0, rel1=rel1@entry=0x564421d0c8b0, rel2=rel2@entry=0x564421d0d320) at ./build/../src/backend/optimizer/path/joinrels.c:724
        joinrelids = 0x564421d54048
        sjinfo = 0x7ffd623f2ff0
        reversed = false
        sjinfo_data = {type = T_SpecialJoinInfo, min_lefthand = 0x564421d0cac0, min_righthand = 0x564421d0cf90, syn_lefthand = 0x564421d0cac0, syn_righthand = 0x564421d0cf90, jointype = JOIN_INNER, lhs_strict = false, delay_upper_joins = false, semi_can_btree = false, semi_can_hash = false, semi_operators = 0x0,
          semi_rhs_exprs = 0x0}
        joinrel = <optimized out>
        restrictlist = 0x564421d56300
        trel = <optimized out>
#18 0x000056441fe67797 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at ./build/../src/backend/optimizer/path/joinrels.c:289
        other_rel = 0x564421d0d320
        l = 0x564421d53fd8
        l = <optimized out>
        other_rel = <optimized out>
#19 join_search_one_level (root=root@entry=0x564421ce0ab0, level=level@entry=2) at ./build/../src/backend/optimizer/path/joinrels.c:111
        other_rels = <optimized out>
        old_rel = 0x564421d0c8b0
        joinrels = 0x564421d53ff8
        r = 0x564421d53fb8
        k = <optimized out>
        __func__ = "join_search_one_level"
#20 0x000056441fe54a2b in standard_join_search (root=0x564421ce0ab0, levels_needed=4, initial_rels=<optimized out>) at ./build/../src/backend/optimizer/path/allpaths.c:2881
        lc = <optimized out>
        lev = 2
        rel = <optimized out>
        __func__ = "standard_join_search"
#21 0x000056441fe54e87 in make_one_rel (root=root@entry=0x564421ce0ab0, joinlist=joinlist@entry=0x564421d0b998) at ./build/../src/backend/optimizer/path/allpaths.c:227
        rel = <optimized out>
        rti = <optimized out>
        total_pages = <optimized out>
#22 0x000056441fe74dac in query_planner (root=root@entry=0x564421ce0ab0, qp_callback=qp_callback@entry=0x56441fe762f0 <standard_qp_callback>, qp_extra=qp_extra@entry=0x7ffd623f32d0) at ./build/../src/backend/optimizer/plan/planmain.c:271
        parse = 0x564421cdfe18
        joinlist = 0x564421d0b998
        final_rel = <optimized out>
        __func__ = "query_planner"
#23 0x000056441fe791fa in grouping_planner (root=<optimized out>, inheritance_update=false, tuple_fraction=<optimized out>) at ./build/../src/backend/optimizer/plan/planner.c:2048
        sort_input_targets = 0x0
        sort_input_target_parallel_safe = <optimized out>
        grouping_target = <optimized out>
        scanjoin_target = <optimized out>
        activeWindows = <optimized out>
        qp_extra = {activeWindows = 0x0, groupClause = 0x0}
        sort_input_targets_contain_srfs = 0x7ffd623f3330
        have_grouping = <optimized out>
        wflists = <optimized out>
        gset_data = 0x0
        sort_input_target = <optimized out>
        grouping_targets = 0x56441fe8be91 <eval_const_expressions_mutator+721>
        grouping_target_parallel_safe = <optimized out>
        scanjoin_targets = 0x564421d0af18
        scanjoin_target_parallel_safe = <optimized out>
        grouping_targets_contain_srfs = 0x564421d0b048
        scanjoin_targets_contain_srfs = 0x564421ce0ab0
        scanjoin_target_same_exprs = <optimized out>
        agg_costs = {numAggs = 0, numOrderedAggs = 0, hasNonPartial = false, hasNonSerial = false, transCost = {startup = 0, per_tuple = 0}, finalCost = {startup = 0, per_tuple = 0}, transitionSpace = 0}
        parse = 0x564421cdfe18
        offset_est = 0
        count_est = 0
        limit_tuples = -1
        have_postponed_srfs = false
        final_target = <optimized out>
        final_targets = 0x56441fe80d14 <process_sublinks_mutator+116>
        final_targets_contain_srfs = 0x7ffd623f3340
        final_target_parallel_safe = <optimized out>
        current_rel = <optimized out>
        final_rel = <optimized out>
        extra = {limit_needed = 104, limit_tuples = 2.2727019708697341e-322, count_est = 140726251762512, offset_est = 94850595203962}
        lc = <optimized out>
        __func__ = "grouping_planner"
#24 0x000056441fe7bba8 in subquery_planner (glob=glob@entry=0x564421ce0350, parse=parse@entry=0x564421cdfe18, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=false, tuple_fraction=tuple_fraction@entry=0) at ./build/../src/backend/optimizer/plan/planner.c:1012
        root = <optimized out>
        newWithCheckOptions = <optimized out>
        newHaving = <optimized out>
        hasOuterJoins = <optimized out>
        hasResultRTEs = <optimized out>
        final_rel = <optimized out>
        l = <optimized out>
#25 0x000056441fe7ccd5 in standard_planner (parse=0x564421cdfe18, cursorOptions=256, boundParams=<optimized out>) at ./build/../src/backend/optimizer/plan/planner.c:406
        result = <optimized out>
        glob = 0x564421ce0350
        tuple_fraction = 0
        root = <optimized out>
        final_rel = <optimized out>
        best_path = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        top_plan = <optimized out>
        lp = <optimized out>
        lr = <optimized out>
#26 0x000056441ff32982 in pg_plan_query (querytree=querytree@entry=0x564421cdfe18, cursorOptions=cursorOptions@entry=256, boundParams=boundParams@entry=0x0) at ./build/../src/backend/tcop/postgres.c:878
        plan = <optimized out>
#27 0x000056441ff32a56 in pg_plan_queries (querytrees=<optimized out>, cursorOptions=cursorOptions@entry=256, boundParams=boundParams@entry=0x0) at ./build/../src/backend/tcop/postgres.c:968
        query = 0x564421cdfe18
        stmt = <optimized out>
        stmt_list = 0x0
        query_list = 0x564421cf5e68
#28 0x000056441ff32f1f in exec_simple_query (query_string=0x564421bf0bb0 "select distinct on (ST_FORCE2D(t.geom)) ST_Segmentize(t.geom :: geography, 50) :: geometry geom, up.point_index\n", ' ' <repeats 70 times>, "from spanning_tree"...) at ./build/../src/backend/tcop/postgres.c:1143
        parsetree = 0x564421cdfc88
        portal = <optimized out>
        snapshot_set = true
        commandTag = 0x564420199aa4 "SELECT"
        completionTag = "\000\000\000\000\002\000\000\000p6?b\375\177\000\000\000\000\000\000\000\000\000\000\250\244\304!DV\000\000`6?b\375\177\000\000\340\067?b\375\177\000\000\260\v\277!DV\000\000\250\244\304!DV\000"
        querytree_list = <optimized out>
        plantree_list = <optimized out>
        receiver = <optimized out>
        format = 0
        dest = DestRemote
        oldcontext = 0x564421cc0800
        parsetree_list = 0x564421cdfcd8
        parsetree_item = 0x564421cdfcb8
        save_log_statement_stats = false
        was_logged = false
        use_implicit_block = false
        msec_str = "\000\000\000\000\002\000\000\000p6?b\375\177\000\000\000\000\000\000\000\000\000\000\250\244\304!DV\000"
        __func__ = "exec_simple_query"
#29 0x000056441ff3464e in PostgresMain (argc=<optimized out>, argv=argv@entry=0x564421c4a5c0, dbname=<optimized out>, username=<optimized out>) at ./build/../src/backend/tcop/postgres.c:4249
        query_string = 0x564421bf0bb0 "select distinct on (ST_FORCE2D(t.geom)) ST_Segmentize(t.geom :: geography, 50) :: geometry geom, up.point_index\n", ' ' <repeats 70 times>, "from spanning_tree"...
        firstchar = <optimized out>
        input_message = {data = 0x564421bf0bb0 "select distinct on (ST_FORCE2D(t.geom)) ST_Segmentize(t.geom :: geography, 50) :: geometry geom, up.point_index\n", ' ' <repeats 70 times>, "from spanning_tree"..., len = 1012, maxlen = 1024, cursor = 1012}
        local_sigjmp_buf = {{__jmpbuf = {140726251763712, -123453365073212831, 1, 94850624300200, 140726251764576, 94850624261024, -123453364964160927, -5964001441627370911}, __mask_was_saved = 1, __saved_mask = {__val = {0, 140726251769533, 140726251769498, 140726251769810, 0, 139637976727552, 94850624261024,
                140726251763984, 17413074780819009280, 140726251764144, 94850595312895, 206158430256, 140726251764168, 140726251763968, 17413074780819009280, 94850623896800}}}}
        send_ready_for_query = false
        disable_idle_in_transaction_timeout = false
        __func__ = "PostgresMain"
#30 0x000056441feba609 in BackendRun (port=0x564421c40ba0, port=0x564421c40ba0) at ./build/../src/backend/postmaster/postmaster.c:4431
        av = 0x564421c4a5c0
        maxac = <optimized out>
        ac = 1
        i = 1
        av = <optimized out>
        maxac = <optimized out>
        ac = <optimized out>
        i = <optimized out>
        __func__ = "BackendRun"
        __errno_location = <optimized out>
        __errno_location = <optimized out>
        __errno_location = <optimized out>
#31 BackendStartup (port=0x564421c40ba0) at ./build/../src/backend/postmaster/postmaster.c:4122
        bn = <optimized out>
        pid = <optimized out>
        bn = <optimized out>
        pid = <optimized out>
        __func__ = "BackendStartup"
        __errno_location = <optimized out>
        __errno_location = <optimized out>
        save_errno = <optimized out>
        __errno_location = <optimized out>
        __errno_location = <optimized out>
#32 ServerLoop () at ./build/../src/backend/postmaster/postmaster.c:1704
        port = 0x564421c40ba0
        i = <optimized out>
        rmask = {fds_bits = {64, 0 <repeats 15 times>}}
        selres = <optimized out>
        now = <optimized out>
        readmask = {fds_bits = {104, 0 <repeats 15 times>}}
        nSockets = 7
        last_lockfile_recheck_time = 1561369481
        last_touch_time = 1561367346
        __func__ = "ServerLoop"
#33 0x000056441febb52f in PostmasterMain (argc=5, argv=0x564421be7c00) at ./build/../src/backend/postmaster/postmaster.c:1377
        opt = <optimized out>
        status = <optimized out>
        userDoption = <optimized out>
        listen_addr_saved = <optimized out>
        i = <optimized out>
        output_config_variable = <optimized out>
        __func__ = "PostmasterMain"
#34 0x000056441fc23efd in main (argc=5, argv=0x564421be7c00) at ./build/../src/backend/main/main.c:228
No locals.

Offending query:

select distinct on (ST_FORCE2D(t.geom)) ST_Segmentize(t.geom :: geography, 50) :: geometry geom, up.point_index
                                                                      from spanning_tree t,
                                                                           user_points up
                                                                      where t.point_id = up.id
                                                                        and t.point_id in
                                                                            (select u.id
                                                                             from user_points u,
                                                                                  isochrones i
                                                                             where i.id = 'd88492bf-71a3-43c7-a721-af36ab8a6eb0'::uuid
                                                                               and st_intersects(u.geom, i.points));

Change History (4)

comment:1 by komzpa, 5 years ago

Description: modified (diff)

comment:2 by komzpa, 5 years ago

POSTGIS="3.0.0alpha2 r17458" [EXTENSION] PGSQL="120" GEOS="3.7.1-CAPI-1.11.1 27a5e771" SFCGAL="1.3.6" PROJ="Rel. 5.2.0, September 15th, 2018" GDAL="GDAL 2.4.0, released 2018/12/14" LIBXML="2.9.4" LIBJSON="0.12.1" LIBPROTOBUF="1.3.1" WAGYU="0.4.3 (Internal)" RASTER

comment:3 by pramsey, 5 years ago

A clean build against the latest should fix this. postgis built against pg12-beta1 won't work against pg12-beta2, it needs to be rebuilt, as changes in the syscache.h enumeration list have rendered the old value of STATRELATTINH out-of-date.

comment:4 by myon, 5 years ago

Resolution: fixed
Status: newclosed

I rebuilt the apt.postgresql.org packages against 12beta2 and the crash is gone.

Note: See TracTickets for help on using tickets.