Skip to content

Segmentation dynamic fault in the postgres 9.6.9 and higher #184

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
NikitinNikolay opened this issue Nov 14, 2018 · 4 comments
Closed

Segmentation dynamic fault in the postgres 9.6.9 and higher #184

NikitinNikolay opened this issue Nov 14, 2018 · 4 comments

Comments

@NikitinNikolay
Copy link

NikitinNikolay commented Nov 14, 2018

Здравствуйте!

Конфигурация Red Hat Enterprise Linux Server release 6.10 (Santiago) + PostgreSQL 9.6.9 + pg_pathman 1.5.2

Сразу после установки нашей схемы на бд возникает ошибка:
В логе постгреса
< 2018-11-13 22:20:24.258 MSK > LOG: server process (PID 3065) was terminated by signal 11: Segmentation fault

В ходе установки схемы мы делаем 24 табличных пространства с 24 партициями таблиц внутри.
Каждое тп коммитится отдельно.
Сразу после создания тп к схеме разрешаются коннекты и туда ломится несколько сервисов, в одном из них и возникает ошибка.

Проблема проявляется в версии 9.6.9 и 6.9.10, в версиях 9.6.8 и ниже её нет.
Ошибка возникает в функции постгреса, но её вызов осуществляется из Вашего хука.
Может там в хуке надо что-то надо дополнительное проверять, либо вызывать другую функцию постгрес?

Стек вызовов:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  extract_actual_join_clauses (restrictinfo_list=0x1cea990, joinrelids=0x7fff7fdb6358, joinquals=0x7fff7fdb6350, otherquals=0x2) at restrictinfo.c:428
428     restrictinfo.c: No such file or directory.
(gdb) thread apply all bt full

Thread 1 (Thread 0x7f9bdcd2a7c0 (LWP 61311)):
#0  extract_actual_join_clauses (restrictinfo_list=0x1cea990, joinrelids=0x7fff7fdb6358, joinquals=0x7fff7fdb6350, otherquals=0x2) at restrictinfo.c:428
        l = <optimized out>
#1  0x00007f9bd1db5592 in pathman_join_pathlist_hook (root=0x1732b10, joinrel=0x1cea6a8, outerrel=0x1788ee0, innerrel=0x17899d0, jointype=JOIN_ANTI, extra=0x7fff7fdb64b0) at src/hooks.c:171
        workspace = {
          startup_cost = 1.4982137552568795e-316,
          total_cost = 6.9532495894957877e-310,
          run_cost = 6.9532495894957877e-310,
          inner_run_cost = 6.9532495895175266e-310,
          inner_rescan_run_cost = 1.2018087547210821e-316,
          outer_rows = 1.0624959851286028e-313,
          inner_rows = 246.30999999999992,
          outer_skip_rows = 7772.8099999999995,
          inner_skip_rows = 7526.5,
          numbuckets = 30320296,
          numbatches = 0
        }
        saved_jointype = JOIN_ANTI
        inner_rte = <optimized out>
        inner_prel = 0x16a8278
        joinclauses = <optimized out>
        otherclauses = <optimized out>
        context = {
          prel_expr = 0x1789538,
          prel = 0x7fc9ac <palloc+44>,
          econtext = 0x17899d0
        }
        paramsel = <optimized out>
        part_expr = <optimized out>
        lc = <optimized out>
        __func__ = "pathman_join_pathlist_hook"
#2  0x0000000000640c44 in add_paths_to_joinrel (root=<optimized out>, joinrel=<optimized out>, outerrel=<optimized out>, innerrel=<optimized out>, jointype=JOIN_ANTI, sjinfo=0x178ec60, restrictlist=0x1cea990) at joinpath.c:229
        extra = {
          restrictlist = 0x1cea990,
          mergeclause_list = 0x1ceaad0,
          sjinfo = 0x178e378,
          semifactors = {
            outer_match_frac = 0.5,
            match_count = 1
          },
          param_source_rels = 0x0
        }
        mergejoin_allowed = <optimized out>
        lc = <optimized out>
#3  0x0000000000642fb4 in make_join_rel (root=0x1732b10, rel1=0x1788ee0, rel2=0x17899d0) at joinrels.c:863
        joinrelids = 0x1cea690
        sjinfo = 0x178e378
        reversed = 0 '\000'
        sjinfo_data = {
          type = 23757432,
          min_lefthand = 0x0,
          min_righthand = 0x0,
          syn_lefthand = 0x16a83e0,
          syn_righthand = 0x17899d0,
          jointype = JOIN_INNER,
          lhs_strict = 0 '\000',
          delay_upper_joins = 0 '\000',
          semi_can_btree = 0 '\000',
          semi_can_hash = 0 '\000',
          semi_operators = 0x1792930,
          semi_rhs_exprs = 0x16a8278
--Type <RET> for more, q to quit, c to continue without paging--
        }
        joinrel = 0x1cea6a8
        restrictlist = 0x1cea990
        __func__ = "make_join_rel"
#4  0x0000000000643188 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at joinrels.c:275
        other_rel = 0x17899d0
        l = 0x1cea640
        l = <optimized out>
        other_rel = <optimized out>
#5  join_search_one_level (root=0x1732b10, level=2) at joinrels.c:97
        other_rels = <optimized out>
        old_rel = 0x1788ee0
        joinrels = 0x1cea660
        r = 0x1cea5f0
        k = <optimized out>
        __func__ = "join_search_one_level"
#6  0x0000000000631d83 in standard_join_search (root=0x1732b10, levels_needed=2, initial_rels=<optimized out>) at allpaths.c:2186
        lc = <optimized out>
        lev = <optimized out>
        rel = <optimized out>
        __func__ = "standard_join_search"
#7  0x0000000000633eeb in make_one_rel (root=0x1732b10, joinlist=0x178e258) at allpaths.c:176
        rel = <optimized out>
        rti = <optimized out>
#8  0x000000000064eba9 in query_planner (root=0x1732b10, tlist=<optimized out>, qp_callback=0x64f810 <standard_qp_callback>, qp_extra=0x7fff7fdb67f0) at planmain.c:255
        parse = 0x16a4878
        joinlist = 0x178e258
        final_rel = <optimized out>
        rti = <optimized out>
        total_pages = <optimized out>
        __func__ = "query_planner"
#9  0x0000000000651b65 in grouping_planner (root=<optimized out>, inheritance_update=0 '\000', tuple_fraction=<optimized out>) at planner.c:1695
        scanjoin_target = <optimized out>
        have_grouping = <optimized out>
        agg_costs = {
          numAggs = 0,
          numOrderedAggs = 0,
          hasNonPartial = 0 '\000',
          hasNonSerial = 0 '\000',
          transCost = {
            startup = 0,
            per_tuple = 0
          },
          finalCost = 0,
          transitionSpace = 0
        }
        activeWindows = 0x0
        rollup_lists = 0x0
        rollup_groupclauses = 0x0
        qp_extra = {
          tlist = 0x17332a0,
          activeWindows = 0x0,
          groupClause = 0x0
        }
        sort_input_target = <optimized out>
        grouping_target = <optimized out>
        wflists = 0x0
        parse = <optimized out>
        tlist = 0x17332a0
        offset_est = 0
        count_est = 20
        limit_tuples = 20
--Type <RET> for more, q to quit, c to continue without paging--
        have_postponed_srfs = 0 '\000'
        tlist_rows = <optimized out>
        final_target = <optimized out>
        current_rel = <optimized out>
        final_rel = <optimized out>
        lc = <optimized out>
        __func__ = "grouping_planner"
#10 0x0000000000653579 in subquery_planner (glob=<optimized out>, parse=<optimized out>, parent_root=<optimized out>, hasRecursion=<optimized out>, tuple_fraction=0) at planner.c:759
        root = 0x1732b10
        newWithCheckOptions = <optimized out>
        newHaving = <optimized out>
        hasOuterJoins = <optimized out>
        final_rel = <optimized out>
        l = <optimized out>
#11 0x00000000006581ba in SS_process_ctes (root=0x172cc98) at subselect.c:1181
        subquery = <optimized out>
        cte = 0x165fc88
        cmdType = <optimized out>
        subroot = <optimized out>
        final_rel = <optimized out>
        best_path = <optimized out>
        plan = <optimized out>
        splan = <optimized out>
        paramid = <optimized out>
        lc = 0x165fc68
        __func__ = "SS_process_ctes"
#12 0x0000000000652eac in subquery_planner (glob=0x16a3c08, parse=0x165fb28, parent_root=0x0, hasRecursion=0 '\000', tuple_fraction=0) at planner.c:480
        root = 0x172cc98
        newWithCheckOptions = <optimized out>
        newHaving = <optimized out>
        hasOuterJoins = <optimized out>
        final_rel = <optimized out>
        l = <optimized out>
#13 0x0000000000654301 in standard_planner (parse=0x165fb28, cursorOptions=0, boundParams=0x1639078) at planner.c:292
        result = <optimized out>
        glob = 0x16a3c08
        tuple_fraction = <optimized out>
        root = <optimized out>
        final_rel = <optimized out>
        best_path = <optimized out>
        top_plan = <optimized out>
        lp = <optimized out>
        lr = <optimized out>
#14 0x00007f9bd1db4b96 in pathman_planner_hook (parse=0x165fb28, cursorOptions=0, boundParams=0x1639078) at src/hooks.c:671
        save_exception_stack = 0x7fff7fdb72a0
        save_context_stack = 0x7fff7fdb6df0
        local_sigjmp_buf = {{
            __jmpbuf = {23460616, -2712429457635269071, 0, 23302264, 23302264, 0, 2712711176773969457, 2696565946972644913},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {10, 23738392, 8375803, 24372616, 23738552, 22750104, 8376033, 24394184, 23738472, 22750104, 6365325, 24394104, 23738440, 22750104, 6379995, 22750104}
            }
          }}
        result = <optimized out>
        query_id = 2776362967
        pathman_ready = 1 '\001'
#15 0x00000000006e0fba in pg_plan_query (querytree=<optimized out>, cursorOptions=<optimized out>, boundParams=<optimized out>) at postgres.c:790
        plan = <optimized out>
#16 0x00000000006e10a4 in pg_plan_queries (querytrees=<optimized out>, cursorOptions=0, boundParams=0x1639078) at postgres.c:849
        query = <optimized out>
        stmt = <optimized out>
        stmt_list = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        query_list = 0x165fb08
#17 0x00000000007c8ed6 in BuildCachedPlan (plansource=0x169de18, qlist=0x165fad8, boundParams=0x1639078) at plancache.c:942
        plan = <optimized out>
        plist = <optimized out>
        snapshot_set = 0 '\000'
        spi_pushed = 0 '\000'
        is_transient = <optimized out>
        plan_context = <optimized out>
        oldcxt = 0x15b2398
        lc = <optimized out>
#18 0x00000000007c9256 in GetCachedPlan (plansource=0x169de18, boundParams=0x1639078, useResOwner=1 '\001') at plancache.c:1219
        plan = <optimized out>
        qlist = <optimized out>
        customplan = 1 '\001'
        __func__ = "GetCachedPlan"
#19 0x00000000005f671b in _SPI_execute_plan (plan=0x17446e8, paramLI=0x1639078, snapshot=<optimized out>, crosscheck_snapshot=0x0, read_only=0 '\000', fire_triggers=1 '\001', tcount=1) at spi.c:2105
        plansource = 0x169de18
        stmt_list = <optimized out>
        lc2 = <optimized out>
        my_res = <optimized out>
        my_processed = <optimized out>
        my_lastoid = <optimized out>
        my_tuptable = <optimized out>
        res = <optimized out>
        pushed_active_snap = 0 '\000'
        spierrcontext = {
          previous = 0x7fff7fdb7210,
          callback = 0x5f4970 <_SPI_error_callback>,
          arg = 0x1685780
        }
        cplan = 0x0
        lc1 = 0x1744738
        __func__ = "_SPI_execute_plan"
#20 0x00000000005f6f5c in SPI_execute_plan_with_paramlist (plan=0x17446e8, params=<optimized out>, read_only=0 '\000', tcount=<optimized out>) at spi.c:452
        res = 0
#21 0x00007f9b85868477 in exec_stmt_execsql (estate=0x7fff7fdb7140, stmt=0x162a1d0) at pl_exec.c:3515
        paramLI = <optimized out>
        tcount = <optimized out>
        rc = <optimized out>
        expr = 0x162a140
        __func__ = "exec_stmt_execsql"
#22 0x00007f9b85869e8b in exec_stmt (stmt=0x162a1d0, estate=0x7fff7fdb7140) at pl_exec.c:1503
        save_estmt = 0x16538d0
        rc = -1
        save_estmt = <optimized out>
        rc = <optimized out>
#23 exec_stmts (estate=0x7fff7fdb7140, stmts=<optimized out>) at pl_exec.c:1398
        stmt = 0x162a1d0
        rc = 3
        s = 0x162a220
#24 0x00007f9b8586b228 in exec_stmt_block (estate=0x7fff7fdb7140, block=0x16538d0) at pl_exec.c:1336
        rc = -1
        i = <optimized out>
        n = <optimized out>
        __func__ = "exec_stmt_block"
#25 0x00007f9b8586bdfc in plpgsql_exec_function (func=0x15b4908, fcinfo=0x7fff7fdb75e0, simple_eval_estate=<optimized out>) at pl_exec.c:434
        estate = {
          func = 0x15b4908,
          retval = 0,
          retisnull = 1 '\001',
          rettype = 0,
          fn_rettype = 2249,
--Type <RET> for more, q to quit, c to continue without paging--
          retistuple = 1 '\001',
          retisset = 1 '\001',
          readonly_func = 0 '\000',
          rettupdesc = 0x0,
          exitlabel = 0x0,
          cur_error = 0x0,
          tuple_store = 0x0,
          tuple_store_cxt = 0x15b1108,
          tuple_store_owner = 0x15b03e8,
          rsi = 0x7fff7fdb7540,
          found_varno = 10,
          ndatums = 17,
          datums = 0x1621b60,
          paramLI = 0x1639078,
          params_dirty = 0 '\000',
          simple_eval_estate = 0x1656aa8,
          cast_hash = 0x161e2a8,
          cast_hash_context = 0x15b1a88,
          eval_tuptable = 0x0,
          eval_processed = 1,
          eval_lastoid = 0,
          eval_econtext = 0x1656bb8,
          err_stmt = 0x162a1d0,
          err_text = 0x0,
          plugin_info = 0x0
        }
        plerrcontext = {
          previous = 0x0,
          callback = 0x7f9b85869130 <plpgsql_exec_error_callback>,
          arg = 0x7fff7fdb7140
        }
        i = <optimized out>
        rc = <optimized out>
        __func__ = "plpgsql_exec_function"
#26 0x00007f9b8585f93a in plpgsql_call_handler (fcinfo=0x7fff7fdb75e0) at pl_handler.c:255
        save_exception_stack = 0x7fff7fdb73b0
        save_context_stack = 0x0
        local_sigjmp_buf = {{
            __jmpbuf = {140307400623080, -2712432509875378639, 0, 0, 1, 1, 2712711177073862193, 2696680688567461425},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0, 0, 0, 0, 0, 0, 0, 0, 140307400623080, 0, 140307400623080, 22741992, 8381997, 23309432, 140307400623080, 140307400623024}
            }
          }}
        func = 0x15b4908
        save_cur_estate = 0x0
        retval = <optimized out>
        rc = <optimized out>
        __func__ = "plpgsql_call_handler"
#27 0x00000000007e24d9 in fmgr_security_definer (fcinfo=0x7fff7fdb75e0) at fmgr.c:972
        save_exception_stack = 0x7fff7fdb7b40
        save_context_stack = 0x0
        local_sigjmp_buf = {{
            __jmpbuf = {140307400623080, -2712432509875378639, 0, 0, 1, 1, 2712711177019336241, -2712430057738197455},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {140307400623080, 140307400623024, 8146824, 23317784, 128, 323235, 5255350, 140307400659738, 140307400659738, 1043, 1043, 140735338477248, 23309432, 326404, 23309432, 326404}
            }
          }}
        result = <optimized out>
        fcache = 0x163cd68
        save_flinfo = 0x163ac98
--Type <RET> for more, q to quit, c to continue without paging--
        save_userid = <optimized out>
        save_sec_context = 0
        save_nestlevel = 0
        fcusage = {
          fs = 0x0,
          save_f_total_time = {
            tv_sec = 23309464,
            tv_usec = 0
          },
          save_total = {
            tv_sec = 6092529,
            tv_usec = 0
          },
          f_start = {
            tv_sec = 0,
            tv_usec = 0
          }
        }
        __func__ = "fmgr_security_definer"
#28 0x00000000005d4f91 in ExecMakeTableFunctionResult (funcexpr=0x163ac78, econtext=0x163a688, argContext=<optimized out>, expectedDesc=0x163bc88, randomAccess=0 '\000') at execQual.c:2211
        result = 0
        tupstore = 0x0
        tupdesc = 0x0
        funcrettype = 2249
        returnsTuple = 1 '\001'
        returnsSet = 1 '\001'
        fcinfo = {
          flinfo = 0x163cd68,
          context = 0x0,
          resultinfo = 0x7fff7fdb7540,
          fncollation = 0,
          isnull = 0 '\000',
          nargs = 3,
          arg = {23162720, 23162856, 23162992, 6340466, 23295080, 140735338477248, 22678320, 0, 0, 6509113, 0, 0, 0, 0, 0, 140307400661096, 0, 140307400661096, 22206200, 8381997, 140735338477328, 24, 656, 23297152, 23295192, 8374700,
            4598175219545276416, 23297152, 23296128, 6348719, 0, 23297152, 0, 6349402, 0, 22678320, 0, 6719099, 23294976, 23297152, 23295192, 23295192, 0, 24, 0, 23297152, 0, 24, 656, 23296160, 22676760, 2210768819039041340, 22536584,
            8144710, 22536584, 140307400661096, 140307400661040, 22536584, 140735338477600, 8152441, 23296128, 140735338477600, 1, 24, 23298304, 13705588649857441711, 140307400661096, 12908199040, 1125891316908032, 0, 7733248,
            281483566645432, 2, 0, 22201848, 0, 1043, 8257194, 0, 0, 0, 421112953438208, 1043, 8254819, 140735338478768, 0, 0, 702587930148864, 1043, 1043, 0, 13705588649851092992, 140307400661096, 12893180660, 1125891316908032, 0,
            7743440, 281483566645432, 2, 0},
          argnull = "\000\000\000\001", '\000' <repeats 12 times>, "\023\004", '\000' <repeats 81 times>
        }
        fcusage = {
          fs = 0x0,
          save_f_total_time = {
            tv_sec = 140735338477248,
            tv_usec = 22680048
          },
          save_total = {
            tv_sec = 140735338477248,
            tv_usec = 140735338477248
          },
          f_start = {
            tv_sec = 6509113,
            tv_usec = 1043
          }
        }
        rsinfo = {
          type = T_ReturnSetInfo,
          econtext = 0x163a688,
          expectedDesc = 0x163bc88,
          allowedModes = 11,
          returnMode = SFRM_ValuePerCall,
          isDone = ExprSingleResult,
--Type <RET> for more, q to quit, c to continue without paging--
          setResult = 0x0,
          setDesc = 0x0
        }
        tmptup = {
          t_len = 0,
          t_self = {
            ip_blkid = {
              bi_hi = 0,
              bi_lo = 0
            },
            ip_posid = 0
          },
          t_tableOid = 0,
          t_data = 0x0
        }
        callerContext = 0x15b1108
        oldcontext = <optimized out>
        direct_function_call = 1 '\001'
        first_time = 1 '\001'
        __func__ = "ExecMakeTableFunctionResult"
#29 0x00000000005ea0f2 in FunctionNext (node=0x163a578) at nodeFunctionscan.c:95
        tstore = 0x0
        estate = <optimized out>
        direction = ForwardScanDirection
        scanslot = 0x163a848
        alldone = <optimized out>
        oldpos = <optimized out>
        funcno = <optimized out>
        att = <optimized out>
#30 0x00000000005d5c45 in ExecScanFetch (recheckMtd=0x5e9770 <FunctionRecheck>, accessMtd=0x5e9e40 <FunctionNext>, node=0x163a578) at execScan.c:95
        estate = <optimized out>
        estate = <optimized out>
        scanrelid = <optimized out>
        slot = <optimized out>
        slot = <optimized out>
#31 ExecScan (node=0x163a578, accessMtd=0x5e9e40 <FunctionNext>, recheckMtd=0x5e9770 <FunctionRecheck>) at execScan.c:145
        econtext = 0x163a688
        qual = 0x0
        projInfo = 0x0
        isDone = <optimized out>
        resultSlot = <optimized out>
#32 0x00000000005ce6f8 in ExecProcNode (node=0x163a578) at execProcnode.c:449
        result = <optimized out>
        __func__ = "ExecProcNode"
#33 0x00000000005cc2ea in ExecutePlan (dest=0x159f898, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001', operation=CMD_SELECT, use_parallel_mode=<optimized out>, planstate=0x163a578, estate=0x163a468) at execMain.c:1566
        slot = <optimized out>
        current_tuple_count = 0
        slot = <optimized out>
        current_tuple_count = <optimized out>
#34 standard_ExecutorRun (queryDesc=0x1616438, direction=<optimized out>, count=0) at execMain.c:338
        estate = 0x163a468
        operation = CMD_SELECT
        dest = 0x159f898
        sendTuples = <optimized out>
        oldcontext = 0x15b0ee8
#35 0x00007f9bd21d04fb in pgss_ExecutorRun (queryDesc=0x1616438, direction=ForwardScanDirection, count=0) at pg_stat_statements.c:877
        save_exception_stack = 0x7fff7fdb7cd0
        save_context_stack = 0x0
        local_sigjmp_buf = {{
            __jmpbuf = {22058344, -2712429457635269071, 1, 0, 23159864, 0, 2712711177304548913, 2696574246789064241},
            __mask_was_saved = 0,
            __saved_mask = {
--Type <RET> for more, q to quit, c to continue without paging--
              __val = {0, 23159864, 23307368, 23159864, 6080560, 22741760, 24, 0, 1, 0, 8375803, 0, 8374417, 22853896, 8442337, 2147483647}
            }
          }}
#36 0x00000000006e36b7 in PortalRunSelect (portal=0x1509568, forward=<optimized out>, count=0, dest=<optimized out>) at pquery.c:948
        queryDesc = 0x1616438
        direction = <optimized out>
        nprocessed = <optimized out>
        __func__ = "PortalRunSelect"
#37 0x00000000006e4888 in PortalRun (portal=0x1509568, count=9223372036854775807, isTopLevel=1 '\001', dest=0x159f898, altdest=0x159f898, completionTag=0x7fff7fdb7e00 "") at pquery.c:789
        save_exception_stack = 0x7fff7fdb7ee0
        save_context_stack = 0x0
        local_sigjmp_buf = {{
            __jmpbuf = {22058344, -2712429457634875855, 9223372036854775807, 22673560, 23159544, 0, 2712711177407309361, -2712430198356826575},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0, 140307122268160, 2, 595513786054746, 58, 23159464, 140307372296170, 140307122268160, 88, 3, 0, 0, 8374417, 22058344, 3, 3}
            }
          }}
        result = <optimized out>
        nprocessed = <optimized out>
        saveTopTransactionResourceOwner = 0x152d6f8
        saveTopTransactionContext = 0x14eb408
        saveActivePortal = 0x0
        saveResourceOwner = 0x152d6f8
        savePortalContext = 0x0
        saveMemoryContext = 0x14ea088
        __func__ = "PortalRun"
#38 0x00000000006e0bc3 in exec_execute_message (portal_name=0x159f488 "", max_rows=9223372036854775807) at postgres.c:1969
        dest = DestRemoteExecute
        receiver = 0x159f898
        portal = 0x1509568
        completed = <optimized out>
        completionTag = "\000\000\000\000\000\000\000\000hw`\000\000\000\000\267P~\333\177\377\177\000\000\061t`", '\000' <repeats 13 times>, "\364QG\000\000\000\000\000\211\364Y\001\000\000\000\000\020ma\001\000\000\000"
        sourceText = 0x16162a8 "select * from pkg_deliver_get_objects_for_sent($1, $2, $3)"
        prepStmtName = 0x16162f8 "GetObjectsRequest"
        portalParams = 0x1616328
        save_log_statement_stats = 0 '\000'
        is_xact_command = <optimized out>
        execute_is_fetch = 0 '\000'
        was_logged = 0 '\000'
        msec_str = "\320\177\333\177\377\177\000\000\000\000\000\000\000\000\000\000E\000\000\000\000\000\000\000Q\000\000\000\000\000\000"
        __func__ = "exec_execute_message"
#39 0x00000000006e261a in PostgresMain (argc=<optimized out>, argv=<optimized out>, dbname=0x15234c8 "postgres", username=<optimized out>) at postgres.c:4135
        portal_name = 0x159f488 ""
        max_rows = 0
        firstchar = <optimized out>
        input_message = {
          data = 0x159f488 "",
          len = 5,
          maxlen = 1024,
          cursor = 5
        }
        local_sigjmp_buf = {{
            __jmpbuf = {140735338479536, -2712429457635137999, 1, 1542198583, -9187201950435737471, 0, 2712711177451349553, -2712430195305470415},
            __mask_was_saved = 1,
            __saved_mask = {
              __val = {0, 0, 4294967295, 12671992, 1, 12671336, 0, 9259542123273814145, 0, 0, 1024, 22164904, 12736896, 1542198583, 8374700, 22141968}
            }
          }}
        send_ready_for_query = 0 '\000'
        disable_idle_in_transaction_timeout = 0 '\000'
        __func__ = "PostgresMain"
--Type <RET> for more, q to quit, c to continue without paging--
#40 0x0000000000682b15 in BackendRun (port=0x151dc10) at postmaster.c:4342
        ac = 1
        secs = <optimized out>
        usecs = 973897
        i = 1
        av = 0x15235a8
        maxac = <optimized out>
        av = <optimized out>
        maxac = <optimized out>
        ac = <optimized out>
        secs = <optimized out>
        usecs = <optimized out>
        i = <optimized out>
#41 BackendStartup (port=0x151dc10) at postmaster.c:4016
        bn = <optimized out>
        pid = 0
        bn = <optimized out>
        pid = <optimized out>
        save_errno = <optimized out>
#42 ServerLoop () at postmaster.c:1721
        port = <optimized out>
        i = <optimized out>
        rmask = {
          fds_bits = {16, 0 <repeats 15 times>}
        }
        selres = <optimized out>
        now = <optimized out>
        readmask = {
          fds_bits = {120, 0 <repeats 15 times>}
        }
        nSockets = 7
        last_lockfile_recheck_time = 1542198583
        last_touch_time = 1542195806
        readmask = <optimized out>
        nSockets = <optimized out>
        last_lockfile_recheck_time = <optimized out>
        last_touch_time = <optimized out>
        rmask = <optimized out>
        selres = <optimized out>
        now = <optimized out>
        timeout = <optimized out>
        i = <optimized out>
        port = <optimized out>
#43 PostmasterMain (argc=<optimized out>, argv=<optimized out>) at postmaster.c:1329
        opt = <optimized out>
        status = <optimized out>
        userDoption = <optimized out>
        listen_addr_saved = <optimized out>
        i = <optimized out>
        output_config_variable = <optimized out>
        __func__ = "PostmasterMain"
#44 0x000000000060a438 in main (argc=3, argv=0x14e9db0) at main.c:228
@NikitinNikolay
Copy link
Author

При выключении pg_pathman.enable = off, ошибка пропадает, хотя партиции также создаются.
При включенном pathman ошибка вылезает всегда.

@ildus
Copy link
Collaborator

ildus commented Nov 15, 2018

Очень странная ошибка, там берется адрес переменной и отправляется в функцию, но уходит 0x2. Вы пробовали перекомпилировать pg_pathman? Просто в 9.6.9 поменялась эта функция, а в 9.6.8 еще было три аргумента, что в принципе объясняет баг. Перед компиляцией главное не забыть сделать make clean

@NikitinNikolay
Copy link
Author

Спасибо, попробуем.

@NikitinNikolay
Copy link
Author

Перекомпилировали - всё заработало. Спасибо за подсказку.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants