Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g35Kf-0006J2-8V for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Sep 2018 20:13:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g35Kd-0003zo-AW for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Sep 2018 20:13:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g35Kd-0003zY-0q for pgsql-hackers@lists.postgresql.org; Thu, 20 Sep 2018 20:13:47 +0000 Received: from feynman.df7cb.de ([195.49.152.168]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g35KZ-0005G8-K5 for pgsql-hackers@postgresql.org; Thu, 20 Sep 2018 20:13:46 +0000 Received: from msg.df7cb.de (unknown [IPv6:2a02:908:1470:e5c0:76e5:bff:fef3:7e00]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by feynman.df7cb.de (Postfix) with ESMTPSA id 42GSbn4Q4mz3Dww; Thu, 20 Sep 2018 22:13:41 +0200 (CEST) Date: Thu, 20 Sep 2018 22:13:41 +0200 From: Christoph Berg To: Andres Freund Cc: PostgreSQL Hackers Subject: Re: [patch] Support LLVM 7 Message-ID: <20180920201341.GA21756@msg.df7cb.de> Mail-Followup-To: Christoph Berg , Andres Freund , PostgreSQL Hackers References: <20180912124517.GD24584@msg.df7cb.de> <20180912210338.h3vsss5lkuu26ua2@alap3.anarazel.de> <20180912210734.GB5666@msg.df7cb.de> <20180916074833.GB4707@msg.df7cb.de> <20180919222600.myk5nec6unhrj45k@alap3.anarazel.de> <20180920081044.GA16897@msg.df7cb.de> <20180920131814.GC16897@msg.df7cb.de> <20180920173009.ywi5grbotl7um65p@alap3.anarazel.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="9jxsPFA5p3P2qPhR" Content-Disposition: inline In-Reply-To: <20180920173009.ywi5grbotl7um65p@alap3.anarazel.de> User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Re: Andres Freund 2018-09-20 <20180920173009.ywi5grbotl7um65p@alap3.anarazel.de> > Hm, this is pretty helpful. Sorry to ask, but could you a) turn on > jit_debugging_support (connection start) b) jit_dump_bitcode. > > Then reproduce again. After that, it'd be helpful to get: > 1) /proc/cpuinfo > 2) the "newest" *.bc file from the data directory > 3) a backtrace > 4) gdb disassemble at the point of the error. postgres=# show jit_debugging_support ; jit_debugging_support ----------------------- on (1 Zeile) postgres=# set jit = on; SET postgres=# set jit_dump_bitcode = on; SET postgres=# select pg_backend_pid(); pg_backend_pid ---------------- 14414 (1 Zeile) 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); (gdb) f 0 #0 0xf4a20c14 in evalexpr_0_15 () (gdb) disassemble Dump of assembler code for function evalexpr_0_15: 0xf4a20b58 <+0>: mflr r0 0xf4a20b5c <+4>: stw r0,4(r1) 0xf4a20b60 <+8>: stwu r1,-48(r1) 0xf4a20b64 <+12>: mr r6,r4 0xf4a20b68 <+16>: mr r7,r3 0xf4a20b6c <+20>: addi r8,r3,8 0xf4a20b70 <+24>: addi r9,r3,5 0xf4a20b74 <+28>: lwz r4,4(r4) 0xf4a20b78 <+32>: lwz r3,12(r3) 0xf4a20b7c <+36>: lwz r10,28(r3) 0xf4a20b80 <+40>: lwz r3,32(r3) 0xf4a20b84 <+44>: stw r4,44(r1) 0xf4a20b88 <+48>: stw r9,40(r1) 0xf4a20b8c <+52>: stw r5,36(r1) 0xf4a20b90 <+56>: stw r6,32(r1) 0xf4a20b94 <+60>: stw r7,28(r1) 0xf4a20b98 <+64>: stw r8,24(r1) 0xf4a20b9c <+68>: stw r10,20(r1) 0xf4a20ba0 <+72>: stw r3,16(r1) 0xf4a20ba4 <+76>: b 0xf4a20ba8 0xf4a20ba8 <+80>: lwz r3,44(r1) 0xf4a20bac <+84>: lwz r4,24(r3) 0xf4a20bb0 <+88>: cmplwi r4,0 0xf4a20bb4 <+92>: bne 0xf4a20bc8 0xf4a20bb8 <+96>: b 0xf4a20bbc 0xf4a20bbc <+100>: lwz r3,44(r1) 0xf4a20bc0 <+104>: bl 0xf4a20c50 0xf4a20bc4 <+108>: b 0xf4a20bc8 0xf4a20bc8 <+112>: lis r3,423 0xf4a20bcc <+116>: ori r4,r3,16744 0xf4a20bd0 <+120>: lwz r3,28(r1) 0xf4a20bd4 <+124>: lwz r5,32(r1) 0xf4a20bd8 <+128>: stfd f5,1(r16) 0xf4a20bdc <+132>: b 0xf4a20be0 0xf4a20be0 <+136>: lwz r3,24(r1) 0xf4a20be4 <+140>: lwz r3,0(r3) 0xf4a20be8 <+144>: lwz r4,40(r1) 0xf4a20bec <+148>: lbz r5,0(r4) 0xf4a20bf0 <+152>: lwz r6,20(r1) 0xf4a20bf4 <+156>: lwz r7,16(r1) 0xf4a20bf8 <+160>: stb r5,0(r7) 0xf4a20bfc <+164>: cmplwi r5,0 0xf4a20c00 <+168>: stw r3,12(r1) 0xf4a20c04 <+172>: stw r6,8(r1) 0xf4a20c08 <+176>: bne 0xf4a20c24 0xf4a20c0c <+180>: b 0xf4a20c10 0xf4a20c10 <+184>: lwz r3,12(r1) => 0xf4a20c14 <+188>: .long 0xae800001 0xf4a20c18 <+192>: lwz r4,8(r1) 0xf4a20c1c <+196>: stw r3,0(r4) 0xf4a20c20 <+200>: b 0xf4a20c24 0xf4a20c24 <+204>: lwz r3,24(r1) 0xf4a20c28 <+208>: lwz r3,0(r3) 0xf4a20c2c <+212>: lwz r4,40(r1) 0xf4a20c30 <+216>: lbz r5,0(r4) 0xf4a20c34 <+220>: clrlwi r5,r5,31 0xf4a20c38 <+224>: lwz r6,36(r1) 0xf4a20c3c <+228>: stb r5,0(r6) 0xf4a20c40 <+232>: lwz r0,52(r1) 0xf4a20c44 <+236>: addi r1,r1,48 0xf4a20c48 <+240>: mtlr r0 0xf4a20c4c <+244>: blr End of assembler dump. Program received signal SIGSEGV, Segmentation fault. 0xf4a20c14 in evalexpr_0_15 () (gdb) bt f #0 0xf4a20c14 in evalexpr_0_15 () No symbol table info available. #1 0xf4a41b90 in ExecRunCompiledExpr (state=0x1a740bc, econtext=0x1a72e60, isNull=0xffe17c2b) at ./build/../src/backend/jit/llvm/llvmjit_expr.c:2591 cstate = func = 0xf4a20b58 #2 0x00c2d39c in ExecEvalExprSwitchContext (isNull=0xffe17c2b, econtext=, state=0x1a740bc) at ./build/../src/include/executor/executor.h:303 retDatum = oldContext = 0x1a06cc0 retDatum = oldContext = #3 ExecProject (projInfo=0x1a740b8) at ./build/../src/include/executor/executor.h:337 econtext = state = 0x1a740bc slot = 0x1a74020 isnull = 252 econtext = state = slot = isnull = #4 ExecScan (node=, accessMtd=accessMtd@entry=0xc3ce50 , recheckMtd=recheckMtd@entry=0xc3cdf0 ) at ./build/../src/backend/executor/execScan.c:201 slot = econtext = qual = 0x0 projInfo = 0x1a740b8 #5 0x00c3ce3c in ExecFunctionScan (pstate=) at ./build/../src/backend/executor/nodeFunctionscan.c:270 node = #6 0x00c2b280 in ExecProcNodeFirst (node=0x1a72dd8) at ./build/../src/backend/executor/execProcnode.c:445 No locals. #7 0x00c23058 in ExecProcNode (node=0x1a72dd8) at ./build/../src/include/executor/executor.h:237 No locals. #8 ExecutePlan (execute_once=, dest=0x1a6a878, direction=, numberTuples=, sendTuples=, operation=CMD_SELECT, use_parallel_mode=, planstate=0x1a72dd8, estate=0x1a06d50) at ./build/../src/backend/executor/execMain.c:1721 slot = current_tuple_count = 0 slot = current_tuple_count = #9 standard_ExecutorRun (queryDesc=0x1960d50, direction=, count=, execute_once=) at ./build/../src/backend/executor/execMain.c:362 estate = 0x1a06d50 operation = CMD_SELECT dest = 0x1a6a878 sendTuples = oldcontext = 0x1960cc0 __func__ = "standard_ExecutorRun" #10 0x00c23284 in ExecutorRun (queryDesc=queryDesc@entry=0x1960d50, direction=direction@entry=ForwardScanDirection, count=, execute_once=) at ./build/../src/backend/executor/execMain.c:305 No locals. #11 0x00dcd3a0 in PortalRunSelect (portal=portal@entry=0x198d890, forward=forward@entry=true, count=0, count@entry=2147483647, dest=dest@entry=0x1a6a878) at ./build/../src/backend/tcop/pquery.c:932 queryDesc = 0x1960d50 direction = nprocessed = __func__ = "PortalRunSelect" #12 0x00dcee7c in PortalRun (portal=portal@entry=0x198d890, count=count@entry=2147483647, isTopLevel=isTopLevel@entry=true, run_once=run_once@entry=true, dest=dest@entry=0x1a6a878, altdest=altdest@entry=0x1a6a878, 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, 27249760, 27699320, 19171432, 19171820, 2147483647, -1998836, 26483320, -1998836, 26794128, 2, 19171840, 26476288, 26794128, 19144432, 19171844, 671228962, 0 , -1, 27691048, 0, 0, -1, 0 }, __mask_was_saved = 0, __saved_mask = {__val = {15993932, 19161904, 671228488, 4292968320, 26456480, 19162012, 26802336, 4292968336, 15993932, 4292968460, 671228488, 26476288, 26476144, 19164812, 26802336, 4292968368, 16146884, 19164812, 26483320, 4292968384, 16145016, 2, 0, 17767752, 26483304, 19087032, 2, 4292968400, 10863184, 19144432, 2, 4292968432}}}} result = nprocessed = saveTopTransactionResourceOwner = 0x1968c88 saveTopTransactionContext = 0x19fcc60 saveActivePortal = 0x0 saveResourceOwner = 0x1968c88 savePortalContext = 0x0 saveMemoryContext = 0x19fcc60 __func__ = "PortalRun" #13 0x00dca4ec in exec_simple_query ( query_string=0x193ff00 "SELECT\n", ' ' , "ARRAY(SELECT f.i FROM (\n", ' ' , "(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)\n", ' ' , "UNION ALL\n", ' ' , "(SELECT d + g.i FROM generate_series(0"...) at ./build/../src/backend/tcop/postgres.c:1122 parsetree = 0x1941a50 portal = 0x198d890 snapshot_set = commandTag = completionTag = ".\363W\223\307g0@\000\307sl\000\000\000\002\000\000\000\001\000\000\000\001\000\000\000\001\001$\211\374\001\226tP\377\341\201\060\001\223\377\000\001$fh\000\000\001>\377\341\200`\000\364\264$\001$\211", querytree_list = plantree_list = receiver = 0x1a6a878 format = 61 dest = DestRemote oldcontext = 0x19fcc60 parsetree_list = 0x1941a78 parsetree_item = 0x1941a68 save_log_statement_stats = was_logged = false use_implicit_block = msec_str = ".\363W\223\307g0@\000\307sl\000\000\000\002\000\000\000\001\000\000\000\001\000\000\000\001\001$\211", __func__ = "exec_simple_query" #14 0x00dcbfcc in PostgresMain (argc=, argv=argv@entry=0x1967450, dbname=, username=) at ./build/../src/backend/tcop/postgres.c:4153 query_string = 0x193ff00 "SELECT\n", ' ' , "ARRAY(SELECT f.i FROM (\n", ' ' , "(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)\n", ' ' , "UNION ALL\n", ' ' , "(SELECT d + g.i FROM generate_series(0"... firstchar = 81 input_message = { data = 0x193ff00 "SELECT\n", ' ' , "ARRAY(SELECT f.i FROM (\n", ' ' , "(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)\n", ' ' , "UNION ALL\n", ' ' , "(SELECT d + g.i FROM generate_series(0"..., len = 318, maxlen = 1024, cursor = 318} local_sigjmp_buf = {{__jmpbuf = {-32560447, 14233748, 20054449, 26612304, 19171644, 19545576, -1997596, 19545448, -1997608, 1537473521, 5, 1537473887, 0, 19171028, 1, 19171836, 26637392, 26637168, 19171840, 19143524, 19171836, 671097412, 0 , -1, 0 }, __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, 26628416, 4292969360, 13022924, 0, 4294967295, 0, 116, 4150968980, 26628416, 0, 13023288, 0, 0, 4292969424}}}} send_ready_for_query = false disable_idle_in_transaction_timeout = false __func__ = "PostgresMain" #15 0x00d35ebc in BackendRun (port=0x1965140) at ./build/../src/backend/postmaster/postmaster.c:4361 ac = 1 secs = 590789147 usecs = 972771 i = 1 av = 0x1967450 maxac = av = maxac = ac = secs = usecs = i = __func__ = "BackendRun" #16 BackendStartup (port=0x1965140) at ./build/../src/backend/postmaster/postmaster.c:4033 bn = 0x1961250 pid = bn = pid = __func__ = "BackendStartup" save_errno = #17 ServerLoop () at ./build/../src/backend/postmaster/postmaster.c:1706 port = 0x1965140 i = rmask = {fds_bits = {16, 0 }} selres = now = readmask = {fds_bits = {24, 0 }} nSockets = 5 last_lockfile_recheck_time = 1537473887 last_touch_time = 1537473521 __func__ = "ServerLoop" #18 0x00d36bdc in PostmasterMain (argc=, argv=) at ./build/../src/backend/postmaster/postmaster.c:1379 opt = status = userDoption = listen_addr_saved = i = output_config_variable = __func__ = "PostmasterMain" #19 0x00a4e050 in main (argc=5, argv=0x193b0e0) at ./build/../src/backend/main/main.c:228 No locals. $ cat /proc/cpuinfo processor : 0 cpu : POWER8 (architected), altivec supported clock : 3425.000000MHz revision : 2.1 (pvr 004b 0201) ... processor : 23 cpu : POWER8 (architected), altivec supported clock : 3425.000000MHz revision : 2.1 (pvr 004b 0201) timebase : 512000000 platform : pSeries model : IBM,8284-22A machine : CHRP IBM,8284-22A MMU : Hash I'll leave the session open for a while if you have more questions. Christoph --9jxsPFA5p3P2qPhR Content-Type: application/gzip Content-Disposition: attachment; filename="14414.0.bc.gz" Content-Transfer-Encoding: base64 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 --9jxsPFA5p3P2qPhR Content-Type: application/gzip Content-Disposition: attachment; filename="14414.0.optimized.bc.gz" Content-Transfer-Encoding: base64 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 --9jxsPFA5p3P2qPhR--