Re: [patch] Support LLVM 7 - Mailing list pgsql-hackers

From Christoph Berg
Subject Re: [patch] Support LLVM 7
Date
Msg-id 20180920131814.GC16897@msg.df7cb.de
Whole thread Raw
In response to Re: [patch] Support LLVM 7  (Christoph Berg <myon@debian.org>)
Responses Re: [patch] Support LLVM 7
List pgsql-hackers
Re: To Andres Freund 2018-09-20 <20180920081044.GA16897@msg.df7cb.de>
> > > 2018-09-15 10:49:25.052 UTC [26458] DETAIL:  Failed process was running: SELECT '' AS tf_12, BOOLTBL1.*,
BOOLTBL2.*
> > >        FROM BOOLTBL1, BOOLTBL2
> > >        WHERE BOOLTBL2.f1 <> BOOLTBL1.f1;
> > > 2018-09-15 10:49:25.052 UTC [26458] LOG:  terminating any other active server processes
> >
> > Hm. Is there any chance to get a backtrace for this one?  This could,
> > although I think less likely so, also be a postgres issue
> > (e.g. generating code for the wrong microarch).
>
> I'll see if I can find a porterbox to get a backtrace.

32-bit powerpc, 11~beta3-2:

postgres=# set jit = off;
SET
postgres=# SELECT
postgres-#             ARRAY(SELECT f.i FROM (
postgres(#                 (SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)
postgres(#                 UNION ALL
postgres(#                 (SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1)
postgres(#             ) f(i)
postgres(#             ORDER BY f.i LIMIT 10)
postgres-#         FROM generate_series(1, 3) g(i);
            array
------------------------------
 {1,5,6,8,11,11,14,16,17,20}
 {2,6,7,9,12,12,15,17,18,21}
 {3,7,8,10,13,13,16,18,19,22}
(3 Zeilen)

postgres=# set jit = on;
SET
postgres=# SELECT
                             ARRAY(SELECT f.i FROM (
                                                  (SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)
                                                                   UNION ALL
                                                                                    (SELECT d + g.i FROM
generate_series(0,30, 5) d ORDER BY 1)                                                                          ) f(i)

        ORDER BY f.i LIMIT 10)
                     FROM generate_series(1, 3) g(i); 


Program received signal SIGSEGV, Segmentation fault.
0xf4a20c18 in ?? ()
(gdb) bt f
#0  0xf4a20c18 in ?? ()
No symbol table info available.
#1  0xf4a20bc8 in ?? ()
No symbol table info available.
#2  0xf4a41b90 in ExecRunCompiledExpr (state=0x1a7515c, econtext=0x1a73dd0, isNull=0xffe17c2b)
    at ./build/../src/backend/jit/llvm/llvmjit_expr.c:2591
        cstate = <optimized out>
        func = 0xf4a20b5c
#3  0x00c2d39c in ExecEvalExprSwitchContext (isNull=0xffe17c2b, econtext=<optimized out>, state=0x1a7515c)
    at ./build/../src/include/executor/executor.h:303
        retDatum = <optimized out>
        oldContext = 0x19fe830
        retDatum = <optimized out>
        oldContext = <optimized out>
#4  ExecProject (projInfo=0x1a75158) at ./build/../src/include/executor/executor.h:337
        econtext = <optimized out>
        state = 0x1a7515c
        slot = 0x1a750c0
        isnull = 252
        econtext = <optimized out>
        state = <optimized out>
        slot = <optimized out>
        isnull = <optimized out>
#5  ExecScan (node=<optimized out>, accessMtd=accessMtd@entry=0xc3ce50 <FunctionNext>,
    recheckMtd=recheckMtd@entry=0xc3cdf0 <FunctionRecheck>) at ./build/../src/backend/executor/execScan.c:201
        slot = <optimized out>
        econtext = <optimized out>
        qual = 0x0
        projInfo = 0x1a75158
#6  0x00c3ce3c in ExecFunctionScan (pstate=<optimized out>) at ./build/../src/backend/executor/nodeFunctionscan.c:270
        node = <optimized out>
#7  0x00c2b280 in ExecProcNodeFirst (node=0x1a73d48) at ./build/../src/backend/executor/execProcnode.c:445
No locals.
#8  0x00c23058 in ExecProcNode (node=0x1a73d48) at ./build/../src/include/executor/executor.h:237
No locals.
#9  ExecutePlan (execute_once=<optimized out>, dest=0x1a1c218, direction=<optimized out>, numberTuples=<optimized out>,
    sendTuples=<optimized out>, operation=CMD_SELECT, use_parallel_mode=<optimized out>, planstate=0x1a73d48,
estate=0x19fe8c0)
    at ./build/../src/backend/executor/execMain.c:1721
        slot = <optimized out>
        current_tuple_count = 0
        slot = <optimized out>
        current_tuple_count = <optimized out>
#10 standard_ExecutorRun (queryDesc=0x1962250, direction=<optimized out>, count=<optimized out>,
execute_once=<optimizedout>) 
    at ./build/../src/backend/executor/execMain.c:362
        estate = 0x19fe8c0
        operation = CMD_SELECT
        dest = 0x1a1c218
        sendTuples = <optimized out>
        oldcontext = 0x19621c0
        __func__ = "standard_ExecutorRun"
#11 0x00c23284 in ExecutorRun (queryDesc=queryDesc@entry=0x1962250, direction=direction@entry=ForwardScanDirection,
    count=<optimized out>, execute_once=<optimized out>) at ./build/../src/backend/executor/execMain.c:305
No locals.
#12 0x00dcd3a0 in PortalRunSelect (portal=portal@entry=0x198d290, forward=forward@entry=true, count=0,
count@entry=2147483647,
    dest=dest@entry=0x1a1c218) at ./build/../src/backend/tcop/pquery.c:932
        queryDesc = 0x1962250
        direction = <optimized out>
        nprocessed = <optimized out>
        __func__ = "PortalRunSelect"
#13 0x00dcee7c in PortalRun (portal=portal@entry=0x198d290, count=count@entry=2147483647,
isTopLevel=isTopLevel@entry=true,
    run_once=run_once@entry=true, dest=dest@entry=0x1a1c218, altdest=altdest@entry=0x1a1c218,
    completionTag=completionTag@entry=0xffe1800c ".\363W\223\307g0@") at ./build/../src/backend/tcop/pquery.c:773
        save_exception_stack = 0xffe18160
        save_context_stack = 0x0
        local_sigjmp_buf = {{__jmpbuf = {-32516271, -1998838, 20072133, 0, 0, -1998838, 26945520, 27378200, 19171432,
19171820,
              2147483647, -1998836, 26483320, -1998836, 26792592, 2, 19171840, 26476288, 26792592, 19144432, 19171844,
671228962,
              0 <repeats 36 times>, -1, 27369928, 0, 0, -1, 0 <repeats 49 times>}, __mask_was_saved = 0, __saved_mask =
{__val= { 
                15993932, 19161904, 671228488, 4292968320, 26456480, 19162012, 26800800, 4292968336, 15993932,
4292968460,671228488, 
                26476288, 26476144, 19164812, 26800800, 4292968368, 16146884, 19164812, 26483320, 4292968384, 16145016,
2,0, 17767752, 
                26483304, 19087032, 2, 4292968400, 10863184, 19144432, 2, 4292968432}}}}
        result = <optimized out>
        nprocessed = <optimized out>
        saveTopTransactionResourceOwner = 0x1968a40
        saveTopTransactionContext = 0x19b27f0
        saveActivePortal = 0x0
        saveResourceOwner = 0x1968a40
        savePortalContext = 0x0
        saveMemoryContext = 0x19b27f0
        __func__ = "PortalRun"
#14 0x00dca4ec in exec_simple_query (
    query_string=0x193ff00 "SELECT\n", ' ' <repeats 12 times>, "ARRAY(SELECT f.i FROM (\n", ' ' <repeats 16 times>,
"(SELECTd + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)\n", ' ' <repeats 16 times>, "UNION ALL\n", ' ' <repeats 16
times>,"(SELECT d + g.i FROM generate_series(0"...) at ./build/../src/backend/tcop/postgres.c:1122 
        parsetree = 0x1941a50
        portal = 0x198d290
        snapshot_set = <optimized out>
        commandTag = <optimized out>
        completionTag =
".\363W\223\307g0@\000\307sl\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\001\001$\211\374\001\226n8\377\341\201\060\001\223\377\000\001$fh\000\000\001>\377\341\200`\000\364\264$\001$\211",
<incompletesequence \374> 
        querytree_list = <optimized out>
        plantree_list = <optimized out>
        receiver = 0x1a1c218
        format = 61
        dest = DestRemote
        oldcontext = 0x19b27f0
        parsetree_list = 0x1941a78
        parsetree_item = 0x1941a68
        save_log_statement_stats = <optimized out>
        was_logged = false
        use_implicit_block = <optimized out>
        msec_str =
".\363W\223\307g0@\000\307sl\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\001\001$\211",<incomplete
sequence\374> 
        __func__ = "exec_simple_query"
#15 0x00dcbfcc in PostgresMain (argc=<optimized out>, argv=argv@entry=0x1966e38, dbname=<optimized out>,
username=<optimizedout>) 
    at ./build/../src/backend/tcop/postgres.c:4153
        query_string = 0x193ff00 "SELECT\n", ' ' <repeats 12 times>, "ARRAY(SELECT f.i FROM (\n", ' ' <repeats 16
times>,"(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)\n", ' ' <repeats 16 times>, "UNION ALL\n", ' '
<repeats16 times>, "(SELECT d + g.i FROM generate_series(0"... 
        firstchar = 81
        input_message = {
          data = 0x193ff00 "SELECT\n", ' ' <repeats 12 times>, "ARRAY(SELECT f.i FROM (\n", ' ' <repeats 16 times>,
"(SELECTd + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)\n", ' ' <repeats 16 times>, "UNION ALL\n", ' ' <repeats 16
times>,"(SELECT d + g.i FROM generate_series(0"..., len = 318, maxlen = 1024, cursor = 318} 
        local_sigjmp_buf = {{__jmpbuf = {-32560447, 14233748, 20054449, 26609600, 19171644, 19545576, -1997596,
19545448,-1997608, 
              1537449090, 5, 1537449152, 0, 19171028, 1, 19171836, 26635832, 26635632, 19171840, 19143524, 19171836,
671097412,
              0 <repeats 40 times>, -1, 0 <repeats 49 times>}, __mask_was_saved = 1, __saved_mask = {__val = {0, 0, 4,
4292971016,15, 
                0, 4292971016, 4292969328, 0, 0, 4294967295, 0, 0, 19171648, 4294967295, 19171644, 224, 19143524,
26626880,4292969360, 
                13022924, 0, 4294967295, 0, 80, 4150968980, 26626880, 0, 13023288, 0, 0, 4292969424}}}}
        send_ready_for_query = false
        disable_idle_in_transaction_timeout = false
        __func__ = "PostgresMain"
#16 0x00d35ebc in BackendRun (port=0x1964b40) at ./build/../src/backend/postmaster/postmaster.c:4361
        ac = 1
        secs = 590764407
        usecs = 199338
        i = 1
        av = 0x1966e38
        maxac = <optimized out>
        av = <optimized out>
        maxac = <optimized out>
        ac = <optimized out>
        secs = <optimized out>
        usecs = <optimized out>
        i = <optimized out>
        __func__ = "BackendRun"
#17 BackendStartup (port=0x1964b40) at ./build/../src/backend/postmaster/postmaster.c:4033
        bn = 0x19607c0
        pid = <optimized out>
        bn = <optimized out>
        pid = <optimized out>
        __func__ = "BackendStartup"
        save_errno = <optimized out>
#18 ServerLoop () at ./build/../src/backend/postmaster/postmaster.c:1706
        port = 0x1964b40
        i = <optimized out>
        rmask = {fds_bits = {16, 0 <repeats 31 times>}}
        selres = <optimized out>
        now = <optimized out>
        readmask = {fds_bits = {24, 0 <repeats 31 times>}}
        nSockets = 5
        last_lockfile_recheck_time = 1537449152
        last_touch_time = 1537449090
        __func__ = "ServerLoop"
#19 0x00d36bdc in PostmasterMain (argc=<optimized out>, argv=<optimized out>) at
./build/../src/backend/postmaster/postmaster.c:1379
        opt = <optimized out>
        status = <optimized out>
        userDoption = <optimized out>
        listen_addr_saved = <optimized out>
        i = <optimized out>
        output_config_variable = <optimized out>
        __func__ = "PostmasterMain"
#20 0x00a4e050 in main (argc=5, argv=0x193b0e0) at ./build/../src/backend/main/main.c:228
No locals.


Christoph


pgsql-hackers by date:

Previous
From: "Jonathan S. Katz"
Date:
Subject: Re: PostgreSQL 11 {Beta 4, RC1} Release: 2018-09-20
Next
From: Dave Cramer
Date:
Subject: v11 transaction semantics inside procedures