Thread: BUG #13781: "unrecognized node type" errors

BUG #13781: "unrecognized node type" errors

From
zsolt.sandor@gmail.com
Date:
The following bug has been logged on the website:

Bug reference:      13781
Logged by:          Zsolt Sandor
Email address:      zsolt.sandor@gmail.com
PostgreSQL version: 9.4.5
Operating system:   Linux x86_64
Description:

(I'm reporting this bug on behalf of Zsolt Sandor.  He has kindly provided
us a backtrace of the problem, but narrowing it down to a small,
reproducible test case would have been really difficult in this case.)

The problem didn't occur in 9.4.4, but does consistently on 9.4.5.  The "bt
full" output is as follows:

#0  errfinish (dummy=dummy@entry=0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/utils/error/elog.c:471
        edata = 0x7f28f79ac4e0 <errordata>
        elevel = 20
        save_ImmediateInterruptOK = 0 '\000'
        oldcontext = 0x7f28fa1a95b0
        econtext = 0x0
        __func__ = "errfinish"
#1  0x00007f28f755f0a7 in elog_finish (elevel=elevel@entry=20,
fmt=fmt@entry=0x7f28f765032a "unrecognized node type: %d")
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/utils/error/elog.c:1376
        edata = 0x7f28f79ac4e0 <errordata>
        oldcontext = 0x7f28fa1a95b0
        __func__ = "elog_finish"
#2  0x00007f28f73c145c in copyObject (from=0x7f28fa836ac8) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4637
        retval = <optimized out>
        __func__ = "copyObject"
#3  0x00007f28f73c50a9 in _copyRangeTblEntry (from=0x7f28f9420c30) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:1981
        newnode = 0x7f28fa877f68
#4  0x00007f28f73bf262 in copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4600
        retval = <optimized out>
        __func__ = "copyObject"
#5  0x00007f28f73c03ea in _copyList (from=<optimized out>, from=<optimized
out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:3855
        new = 0x7f28fa877700
        curr_old = 0x7f28f9421678
        prev_new = 0x7f28fa877c38
#6  copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4217
        retval = <optimized out>
        __func__ = "copyObject"
#7  0x00007f28f73c2cd5 in _copyQuery (from=0x7f28f941d510) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:2479
        newnode = 0x7f28fa8775f0
#8  0x00007f28f73c0362 in copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4233
        retval = <optimized out>
        __func__ = "copyObject"
#9  0x00007f28f73c1fc5 in _copySubLink (from=0x7f28f941d4c0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:1332
        newnode = 0x7f28fa8775a0
#10 0x00007f28f73c0789 in copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4090
        retval = <optimized out>
        __func__ = "copyObject"
#11 0x00007f28f73c03ea in _copyList (from=<optimized out>, from=<optimized
out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:3855
        new = 0x7f28fa8774e0
        curr_old = 0x7f28f9421ca8
        prev_new = 0x7f28fa877510
#12 copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4217
        retval = <optimized out>
        __func__ = "copyObject"
#13 0x00007f28f73c1f59 in _copyBoolExpr (from=0x7f28f941d3f0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:1315
        newnode = 0x7f28fa8774b0
#14 0x00007f28f73c0799 in copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4087
        retval = <optimized out>
        __func__ = "copyObject"
#15 0x00007f28f73bf1a3 in _copyAccessPriv (from=<optimized out>,
from=<optimized out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:2671
        newnode = <optimized out>
#16 copyObject (from=0x7f28f941d358) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4630
        retval = <optimized out>
        __func__ = "copyObject"
#17 0x00007f28f73c2ce3 in _copyQuery (from=0x7f28f8d211f0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:2480
        newnode = 0x7f28fa876138
#18 0x00007f28f73c0362 in copyObject (from=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/nodes/copyfuncs.c:4233
        retval = <optimized out>
        __func__ = "copyObject"
#19 0x00007f28f744a0d5 in ApplyRetrieveRule (rule=0x7f28f8d211c0,
rule=0x7f28f8d211c0, relation=0x7f28f8f8df78, forUpdatePushedDown=0 '\000',
activeRIRs=0x7f28fa876108,
    rt_index=6, parsetree=0x7f28fa83ef50) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/rewrite/rewriteHandler.c:1437
        rule_action = <optimized out>
        rte = <optimized out>
        subrte = <optimized out>
        rc = 0x0
#20 fireRIRrules (parsetree=0x7f28fa83ef50, activeRIRs=0x7f28fa876108,
activeRIRs@entry=0x0, forUpdatePushedDown=forUpdatePushedDown@entry=0
'\000')
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/rewrite/rewriteHandler.c:1706
        l = 0x7f28fa875168
        rte = <optimized out>
        rel = 0x7f28f8f8df78
        rules = <optimized out>
        rule = 0x7f28f8d211c0
        i = <optimized out>
        locks = <optimized out>
        origResultRelation = 0
        rt_index = 6
        lc = <optimized out>
        __func__ = "fireRIRrules"
#21 0x00007f28f744c874 in QueryRewrite
(parsetree=parsetree@entry=0x7f28fa83ef50)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/rewrite/rewriteHandler.c:3313
        query = <optimized out>
        input_query_id = 0
        querylist = <optimized out>
        results = 0x0
        l = 0x7f28fa8750c8
        origCmdType = <optimized out>
        foundOriginalQuery = <optimized out>
        lastInstead = <optimized out>
#22 0x00007f28f747736a in pg_rewrite_query (query=0x7f28fa83ef50) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/tcop/postgres.c:727
        querytree_list = <optimized out>
#23 0x00007f28f7477460 in pg_analyze_and_rewrite
(parsetree=parsetree@entry=0x7f28fa83ece0,
    query_string=query_string@entry=0x7f28fa8365f0 " SELECT cs.tid AS
subject, w.tid As windfarm, ct.tid AS certtype, ct.displayname AS ctDispName
\n", ' ' <repeats 23 times>, "FROM certsubjects AS cs\n", ' ' <repeats 23
times>, "JOIN certtypes as ct ON ct.certsub"..., paramTypes=<optimized out>,
numParams=<optimized out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/tcop/postgres.c:645
        query = <optimized out>
#24 0x00007f28f73a56aa in _SPI_prepare_plan (
    src=src@entry=0x7f28fa8365f0 " SELECT cs.tid AS subject, w.tid As
windfarm, ct.tid AS certtype, ct.displayname AS ctDispName \n", ' ' <repeats
23 times>, "FROM certsubjects AS cs\n", ' ' <repeats 23 times>, "JOIN
certtypes as ct ON ct.certsub"..., plan=plan@entry=0x7fff5f39ff60)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/spi.c:1857
        parsetree = 0x7f28fa83ece0
        stmt_list = <optimized out>
        plansource = 0x7f28fa840130
        raw_parsetree_list = <optimized out>
        plancache_list = 0x0
        list_item = 0x7f28fa83edf0
        spierrcontext = {previous = 0x7fff5f3a02d0, callback =
0x7f28f73a5b00 <_SPI_error_callback>, arg = 0x7f28fa8365f0}
#25 0x00007f28f73a8635 in SPI_cursor_open_with_args (name=name@entry=0x0,
    src=src@entry=0x7f28fa8365f0 " SELECT cs.tid AS subject, w.tid As
windfarm, ct.tid AS certtype, ct.displayname AS ctDispName \n", ' ' <repeats
23 times>, "FROM certsubjects AS cs\n", ' ' <repeats 23 times>, "JOIN
certtypes as ct ON ct.certsub"..., nargs=nargs@entry=0,
argtypes=argtypes@entry=0x0, Values=Values@entry=0x0,
    Nulls=Nulls@entry=0x0, read_only=0 '\000',
cursorOptions=cursorOptions@entry=0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/spi.c:1148
        result = <optimized out>
        plan = {magic = 569278163, saved = 0 '\000', oneshot = 0 '\000',
plancache_list = 0x0, plancxt = 0x0, cursor_options = 0, nargs = 0, argtypes
= 0x0,
          parserSetup = 0x0, parserSetupArg = 0x0}
        paramLI = 0x0
        __func__ = "SPI_cursor_open_with_args"
#26 0x00007f28e8245c89 in exec_dynquery_with_params
(estate=estate@entry=0x7fff5f3a02f0, dynquery=<optimized out>, params=0x0,
portalname=portalname@entry=0x0,
    cursorOptions=cursorOptions@entry=0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:6504
        portal = <optimized out>
        query = <optimized out>
        isnull = 0 '\000'
        restype = 705
        querystr = 0x7f28fa8365f0 " SELECT cs.tid AS subject, w.tid As
windfarm, ct.tid AS certtype, ct.displayname AS ctDispName \n", ' ' <repeats
23 times>, "FROM certs
ubjects AS cs\n", ' ' <repeats 23 times>, "JOIN certtypes as ct ON
ct.certsub"...
        __func__ = "exec_dynquery_with_params"
#27 0x00007f28e8247fe4 in exec_stmt_dynfors (stmt=0x7f28f9701840,
estate=0x7fff5f3a02f0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:3682
        portal = <optimized out>
        rc = <optimized out>
#28 exec_stmt (stmt=0x7f28f9701840, estate=0x7fff5f3a02f0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1471
        save_estmt = 0x7f28f97049e0
        rc = -1
#29 exec_stmts (estate=0x7fff5f3a02f0, stmts=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1362
        stmt = 0x7f28f9701840
        rc = 1597637008
        s = 0x7f28f9704990
#30 0x00007f28e8249dcd in exec_stmt_block
(estate=estate@entry=0x7fff5f3a02f0, block=0x7f28f97049e0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1300
        rc = -1
        i = <optimized out>
        n = <optimized out>
        __func__ = "exec_stmt_block"
#31 0x00007f28e824a003 in plpgsql_exec_function
(func=func@entry=0x7f28f888cea0, fcinfo=fcinfo@entry=0x7f28fa830540,
simple_eval_estate=simple_eval_estate@entry=0x0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:344
        estate = {func = 0x7f28f888cea0, retval = 0, retisnull = 1 '\001',
rettype = 0, fn_rettype = 2278, retistuple = 0 '\000', retisset = 0 '\000',
          readonly_func = 0 '\000', rettupdesc = 0x0, exitlabel = 0x0,
cur_error = 0x0, tuple_store = 0x0, tuple_store_cxt = 0x0, tuple_store_owner
= 0x0, rsi = 0x0,
          found_varno = 0, ndatums = 19, datums = 0x7f28fa8360f0,
simple_eval_estate = 0x7f28f8813660, eval_tuptable = 0x0, eval_processed =
0, eval_lastoid = 0,
          eval_econtext = 0x7f28f8813850, cur_expr = 0x0, err_stmt =
0x7f28f9701840, err_text = 0x0, plugin_info = 0x0}
        plerrcontext = {previous = 0x7fff5f3a0760, callback = 0x7f28e82433e0
<plpgsql_exec_error_callback>, arg = 0x7fff5f3a02f0}
        i = <optimized out>
        rc = <optimized out>
        __func__ = "plpgsql_exec_function"
#32 0x00007f28e823f443 in plpgsql_call_handler (fcinfo=0x7f28fa830540) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_handler.c:243
        save_exception_stack = 0x7fff5f3a0c60
        save_context_stack = 0x7fff5f3a0760
        local_sigjmp_buf = {{__jmpbuf = {140734791025936,
-2882117546266818963, 139813978309952, 139813978309344, 139813978309840,
139813978312256,
              -2882117546432493971, -2760768765055302035}, __mask_was_saved
= 0, __saved_mask = {__val = {0, 139813971472720, 0, 140734791025872,
139813922355675,
                139813952535212, 139813978325216, 0, 0, 0, 139813978309840,
72897, 139813978309840, 72897, 139813971469728, 140734791025904}}}}
        func = 0x7f28f888cea0
        save_cur_estate = 0x0
        retval = <optimized out>
        rc = <optimized out>
        __func__ = "plpgsql_call_handler"
#33 0x00007f28f7385c43 in ExecMakeFunctionResultNoSets
(fcache=0x7f28fa8304d0, econtext=0x7f28fa8302e0, isNull=0x7f28fa830e58
"t1\037vesse\240\245\032\372(\177",
    isDone=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execQual.c:2026
        arg = <optimized out>
        result = <optimized out>
        fcinfo = 0x7f28fa830540
        fcusage = {fs = 0x0, save_f_total_time = {tv_sec = 139813978309840,
tv_usec = 139813978308288}, save_total = {tv_sec = 139813978309344,
            tv_usec = 139813978312280}, f_start = {tv_sec = 139813978312560,
tv_usec = 140734791026048}}
        i = <optimized out>
#34 0x00007f28f738b85c in ExecTargetList (isDone=0x7fff5f3a061c,
itemIsDone=0x7f28fa830f70, isnull=<optimized out>, values=0x7f28fa830e40,
econtext=0x7f28fa8302e0,
    targetlist=0x7f28fa830f40) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execQual.c:5307
        gstate = <optimized out>
        tle = <optimized out>
        resind = <optimized out>
        tl = 0x7f28fa830f20
        haveDoneSets = 0 '\000'
#35 ExecProject (projInfo=<optimized out>,
isDone=isDone@entry=0x7fff5f3a061c)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execQual.c:5522
        slot = 0x7f28fa8303c0
        econtext = 0x7f28fa8302e0
        numSimpleVars = <optimized out>
#36 0x00007f28f739d9e0 in ExecResult (node=node@entry=0x7f28fa8301d0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/nodeResult.c:155
        outerTupleSlot = <optimized out>
        resultSlot = <optimized out>
        outerPlan = <optimized out>
        econtext = 0x7f28fa8302e0
        isDone = ExprSingleResult
#37 0x00007f28f7384b18 in ExecProcNode (node=node@entry=0x7f28fa8301d0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execProcnode.c:373
        result = <optimized out>
        __func__ = "ExecProcNode"
#38 0x00007f28f7381d12 in ExecutePlan (dest=0x7f28f795bf80 <spi_printtupDR>,
direction=<optimized out>, numberTuples=0, sendTuples=1 '\001',
operation=CMD_SELECT,
    planstate=0x7f28fa8301d0, estate=0x7f28fa8300c0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execMain.c:1490
        slot = <optimized out>
        current_tuple_count = 0
#39 standard_ExecutorRun (queryDesc=0x7f28f88277a0, direction=<optimized
out>, count=0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execMain.c:319
        estate = 0x7f28fa8300c0
        operation = CMD_SELECT
        dest = 0x7f28f795bf80 <spi_printtupDR>
        sendTuples = <optimized out>
#40 0x00007f28f73a7966 in _SPI_pquery (tcount=0, fire_triggers=1 '\001',
queryDesc=<optimized out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/spi.c:2373
        eflags = 0
        res = 5
#41 _SPI_execute_plan (plan=plan@entry=0x7f28fa82f8a0,
paramLI=paramLI@entry=0x0, snapshot=snapshot@entry=0x0,
crosscheck_snapshot=crosscheck_snapshot@entry=0x0,
    read_only=read_only@entry=0 '\000', fire_triggers=fire_triggers@entry=1
'\001', tcount=tcount@entry=0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/spi.c:2161
        qdesc = 0x7f28f88277a0
        snap = <optimized out>
        stmt = <optimized out>
        canSetTag = 1 '\001'
        dest = <optimized out>
        plansource = 0x7f28fa8c1200
        stmt_list = 0x7f28fa82fcb0
        lc2 = 0x7f28fa82fce0
        my_res = 0
        my_processed = 0
        my_lastoid = 0
        my_tuptable = 0x0
        res = <optimized out>
        pushed_active_snap = 1 '\001'
        spierrcontext = {previous = 0x7fff5f3a0b20, callback =
0x7f28f73a5b00 <_SPI_error_callback>, arg = 0x7f28fa8c1640}
        cplan = 0x7f28fa82ffb0
        lc1 = 0x7f28fa82f8f0
        __func__ = "_SPI_execute_plan"
#42 0x00007f28f73a7c7d in SPI_execute_plan_with_paramlist
(plan=0x7f28fa82f8a0, params=params@entry=0x0, read_only=<optimized out>,
tcount=tcount@entry=0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/spi.c:449
        res = <optimized out>
#43 0x00007f28e8243c64 in exec_run_select
(estate=estate@entry=0x7fff5f3a0b40, expr=0x7f28f897a470,
maxtuples=maxtuples@entry=0, portalP=portalP@entry=0x0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:4886
        paramLI = 0x0
        rc = <optimized out>
        __func__ = "exec_run_select"
#44 0x00007f28e8247bb3 in exec_stmt_perform (stmt=<optimized out>,
estate=0x7fff5f3a0b40)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1527
        expr = <optimized out>
#45 exec_stmt (stmt=0x7f28f897a550, estate=0x7fff5f3a0b40) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1403
        save_estmt = 0x7f28f8a14b40
        rc = -1
#46 exec_stmts (estate=0x7fff5f3a0b40, stmts=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1362
        stmt = 0x7f28f897a550
        rc = 0
        s = 0x7f28f897a570
#47 0x00007f28e8249dcd in exec_stmt_block
(estate=estate@entry=0x7fff5f3a0b40, block=0x7f28f8a14b40)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:1300
        rc = -1
        i = <optimized out>
        n = <optimized out>
        __func__ = "exec_stmt_block"
#48 0x00007f28e824a003 in plpgsql_exec_function
(func=func@entry=0x7f28f8840b90, fcinfo=fcinfo@entry=0x7f28f8953120,
simple_eval_estate=simple_eval_estate@entry=0x0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_exec.c:344
        estate = {func = 0x7f28f8840b90, retval = 0, retisnull = 1 '\001',
rettype = 0, fn_rettype = 2278, retistuple = 0 '\000', retisset = 0 '\000',
          readonly_func = 0 '\000', rettupdesc = 0x0, exitlabel = 0x0,
cur_error = 0x0, tuple_store = 0x0, tuple_store_cxt = 0x0, tuple_store_owner
= 0x0, rsi = 0x0,
          found_varno = 0, ndatums = 1, datums = 0x7f28f8888a50,
simple_eval_estate = 0x7f28f8813660, eval_tuptable = 0x0, eval_processed =
1, eval_lastoid = 0,
          eval_econtext = 0x7f28f8813770, cur_expr = 0x0, err_stmt =
0x7f28f897a550, err_text = 0x0, plugin_info = 0x0}
        plerrcontext = {previous = 0x0, callback = 0x7f28e82433e0
<plpgsql_exec_error_callback>, arg = 0x7fff5f3a0b40}
        i = <optimized out>
        rc = <optimized out>
        __func__ = "plpgsql_exec_function"
#49 0x00007f28e823f443 in plpgsql_call_handler (fcinfo=0x7f28f8953120) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/pl/plpgsql/src/pl_handler.c:243
        save_exception_stack = 0x7fff5f3a0fd0
        save_context_stack = 0x0
        local_sigjmp_buf = {{__jmpbuf = {140734791028064,
-2882117546520574355, 139813945946400, 139813945945792, 139813945946288,
139813945948704,
              -2882117546560420243, -2760768765055302035}, __mask_was_saved
= 0, __saved_mask = {__val = {0, 139813957028352, 0, 140734791028000,
139813922355675, 0,
                139813945006032, 139813943435920, 72057594037927936, 2278,
139813945946288, 75255, 139813945946288, 75255, 139813951549168,
140734791028032}}}}
        func = 0x7f28f8840b90
        save_cur_estate = 0x0
        retval = <optimized out>
        rc = <optimized out>
        __func__ = "plpgsql_call_handler"
#50 0x00007f28f7385c43 in ExecMakeFunctionResultNoSets
(fcache=0x7f28f89530b0, econtext=0x7f28f8952ec0, isNull=0x7f28f8953a38
<incomplete sequence \302>,
    isDone=<optimized out>) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execQual.c:2026
        arg = <optimized out>
        result = <optimized out>
        fcinfo = 0x7f28f8953120
        fcusage = {fs = 0x0, save_f_total_time = {tv_sec = 139813945946288,
tv_usec = 139813956951392}, save_total = {tv_sec = 139813945945792,
            tv_usec = 139813945948728}, f_start = {tv_sec = 139813945949008,
tv_usec = 140734791028176}}
        i = <optimized out>
#51 0x00007f28f738b85c in ExecTargetList (isDone=0x7fff5f3a0e6c,
itemIsDone=0x7f28f8953b50, isnull=<optimized out>, values=0x7f28f8953a20,
econtext=0x7f28f8952ec0,
    targetlist=0x7f28f8953b20) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execQual.c:5307
        gstate = <optimized out>
        tle = <optimized out>
        resind = <optimized out>
        tl = 0x7f28f8953b00
        haveDoneSets = 0 '\000'
#52 ExecProject (projInfo=<optimized out>,
isDone=isDone@entry=0x7fff5f3a0e6c)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execQual.c:5522
        slot = 0x7f28f8952fa0
        econtext = 0x7f28f8952ec0
        numSimpleVars = <optimized out>
#53 0x00007f28f739d9e0 in ExecResult (node=node@entry=0x7f28f8952db0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/nodeResult.c:155
        outerTupleSlot = <optimized out>
        resultSlot = <optimized out>
        outerPlan = <optimized out>
        econtext = 0x7f28f8952ec0
        isDone = ExprSingleResult
#54 0x00007f28f7384b18 in ExecProcNode (node=node@entry=0x7f28f8952db0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execProcnode.c:373
        result = <optimized out>
        __func__ = "ExecProcNode"
#55 0x00007f28f7381d12 in ExecutePlan (dest=0x7f28f89ec980,
direction=<optimized out>, numberTuples=0, sendTuples=1 '\001',
operation=CMD_SELECT,
    planstate=0x7f28f8952db0, estate=0x7f28f8952ca0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execMain.c:1490
        slot = <optimized out>
        current_tuple_count = 0
#56 standard_ExecutorRun (queryDesc=0x7f28f872ef10, direction=<optimized
out>, count=0)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/executor/execMain.c:319
        estate = 0x7f28f8952ca0
        operation = CMD_SELECT
        dest = 0x7f28f89ec980
        sendTuples = <optimized out>
#57 0x00007f28f747a7ff in PortalRunSelect
(portal=portal@entry=0x7f28f87be020, forward=forward@entry=1 '\001',
count=0, count@entry=9223372036854775807,
    dest=dest@entry=0x7f28f89ec980) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/tcop/pquery.c:942
        queryDesc = 0x7f28f872ef10
        direction = <optimized out>
        nprocessed = <optimized out>
        __func__ = "PortalRunSelect"
#58 0x00007f28f747bdca in PortalRun (portal=portal@entry=0x7f28f87be020,
count=count@entry=9223372036854775807, isTopLevel=isTopLevel@entry=1
'\001',
    dest=dest@entry=0x7f28f89ec980, altdest=altdest@entry=0x7f28f89ec980,
completionTag=completionTag@entry=0x7fff5f3a1360 "")
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/tcop/pquery.c:786
        save_exception_stack = 0x7fff5f3a1270
        save_context_stack = 0x0
        local_sigjmp_buf = {{__jmpbuf = {139813943537816,
-2882117545872554387, 139813944287264, 139813946575232, 139813943538088, 2,
-2882117546583488915,
              -2760713547078269331}, __mask_was_saved = 0, __saved_mask =
{__val = {140734791028879, 5892608064, 139813925052048, 139813926434718, 64,
140734791028848,
                88, 139813944287264, 139813926164044, 139813943538088, 2,
140734791028880, 139813925143050, 2, 139813944287264, 140734791028912}}}}
        result = <optimized out>
        nprocessed = <optimized out>
        saveTopTransactionResourceOwner = 0x7f28f87abe28
        saveTopTransactionContext = 0x7f28f86ec4d0
        saveActivePortal = 0x0
        saveResourceOwner = 0x7f28f87abe28
        savePortalContext = 0x0
        saveMemoryContext = 0x7f28f86ec4d0
        __func__ = "PortalRun"
#59 0x00007f28f7479785 in exec_simple_query (query_string=0x7f28f8706500
"SELECT testVesselCertificateNotifGeneration();")
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/tcop/postgres.c:1072
        parsetree = 0x7f28f8707098
        portal = 0x7f28f87be020
        snapshot_set = <optimized out>
        commandTag = <optimized out>
        completionTag = "\000ELECT

1\000NCTION\000\340\023:_\377\177\000\000$\022B\367(\177\000\000\000\000\000\000\000\000\000\000\340\016s\370(\177\000\000\340\023:_\377\177\000\000&\240W\367(\177\000"
        querytree_list = <optimized out>
        plantree_list = 0x7f28f93d1fd0
        receiver = 0x7f28f89ec980
        format = 0
        dest = DestRemote
        parsetree_list = 0x7f28f87071c8
        save_log_statement_stats = 0 '\000'
        was_logged = 0 '\000'
        msec_str = "\000ELECT
1\000NCTION\000\340\023:_\377\177\000\000$\022B\367(\177\000"
        parsetree_item = 0x7f28f87071a8
        isTopLevel = 1 '\001'
#60 PostgresMain (argc=<optimized out>, argv=argv@entry=0x7f28f86ee060,
dbname=0x7f28f86edf90 "pvts", username=<optimized out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/tcop/postgres.c:4079
        query_string = 0x7f28f8706500 "SELECT
testVesselCertificateNotifGeneration();"
        firstchar = -126099424
        input_message = {data = 0x7f28f8706500 "SELECT
testVesselCertificateNotifGeneration();", len = 47, maxlen = 1024, cursor =
47}
        local_sigjmp_buf = {{__jmpbuf = {140734791029360,
-2882117545895623059, 139813943435120, 1, 0, 139813943709408,
-2882117545866262931, -2760713553476811155},
            __mask_was_saved = 1, __saved_mask = {__val = {0,
140734791030112, 0, 139813943709408, 139813891592600, 140734791029504,
206158430256, 140734791029712,
                140734791029504, 140734791029616, 139813923722336, 0,
139813929538976, 139813943428304, 139813943435120, 139813926125856}}}}
        send_ready_for_query = 0 '\000'
        __func__ = "PostgresMain"
#61 0x00007f28f724a133 in BackendRun (port=0x7f28f8730ee0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/postmaster/postmaster.c:4252
        ac = 1
        secs = 501599535
        usecs = 812905
        i = 1
        av = 0x7f28f86ee060
        maxac = <optimized out>
#62 BackendStartup (port=0x7f28f8730ee0) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/postmaster/postmaster.c:3917
        bn = <optimized out>
        pid = <optimized out>
#63 ServerLoop () at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/postmaster/postmaster.c:1678
        rmask = {fds_bits = {8, 0 <repeats 15 times>}}
        selres = <optimized out>
        readmask = {fds_bits = {72, 0 <repeats 15 times>}}
        now = <optimized out>
        last_touch_time = 1448281724
        __func__ = "ServerLoop"
#64 0x00007f28f742475b in PostmasterMain (argc=5, argv=<optimized out>)
    at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/postmaster/postmaster.c:1287
        opt = <optimized out>
        status = <optimized out>
        userDoption = <optimized out>
        listen_addr_saved = 1 '\001'
        i = <optimized out>
        output_config_variable = <optimized out>
        __func__ = "PostmasterMain"
#65 0x00007f28f724ae5d in main (argc=5, argv=0x7f28f86ec190) at
/build/postgresql-9.4-cOfbf1/postgresql-9.4-9.4.5/build/../src/backend/main/main.c:228

Re: BUG #13781: "unrecognized node type" errors

From
Tom Lane
Date:
zsolt.sandor@gmail.com writes:
> The problem didn't occur in 9.4.4, but does consistently on 9.4.5.  The "bt
> full" output is as follows:

This stack trace is pretty wacko; in particular, frames 13-17 imply that
you've got a Query whose jointree field is pointing directly at an
AccessPriv node, and then the AccessPriv node's cols field is pointing
directly at a BoolExpr.  None of that makes any sense at all.  The most
likely explanation is that the debugger is not telling the truth (perhaps
you've pointed it to the wrong executable?), in which case there's exactly
zero trustworthy information here.

A different line of theorization is that the querytree read back from the
system catalogs for the view that's evidently getting expanded is corrupt
somehow.  You might look at whether psql's \d+ on the view produces a
sane-looking query.

Please see if you can extract a reproducible test case.  It's not very
likely that anybody will be able to help on the strength of the
information you have provided.

            regards, tom lane