crash while decoding INSERT ON CONFLICT - Mailing list pgsql-bugs
From | Euler Taveira |
---|---|
Subject | crash while decoding INSERT ON CONFLICT |
Date | |
Msg-id | CAHE3wgjU3pogBJubTvTQfmL8D9S_hBu1vQ=iZ+XV9jgAkAkg5Q@mail.gmail.com Whole thread Raw |
Responses |
Re: crash while decoding INSERT ON CONFLICT
Re: crash while decoding INSERT ON CONFLICT Re: crash while decoding INSERT ON CONFLICT |
List | pgsql-bugs |
Hi, I got the following backtrace in a logical replication setup using 10.3. Program terminated with signal 11, Segmentation fault. #0 ReorderBufferCommit (rb=0xde2a08, xid=<value optimized out>, commit_lsn=6211559254952, end_lsn=<value optimized out>, commit_time=<value optimized out>, origin_id=<value optimized out>, origin_lsn=0) at reorderbuffer.c:1397 1397 change->action = REORDER_BUFFER_CHANGE_INSERT; Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.209.el6_9.2.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) bt #0 ReorderBufferCommit (rb=0xde2a08, xid=<value optimized out>, commit_lsn=6211559254952, end_lsn=<value optimized out>, commit_time=<value optimized out>, origin_id=<value optimized out>, origin_lsn=0) at reorderbuffer.c:1397 #1 0x00000000006bdd58 in DecodeCommit (ctx=0xdbe888, record=<value optimized out>) at decode.c:611 #2 DecodeXactOp (ctx=0xdbe888, record=<value optimized out>) at decode.c:241 #3 LogicalDecodingProcessRecord (ctx=0xdbe888, record=<value optimized out>) at decode.c:113 #4 0x00000000006d0754 in XLogSendLogical () at walsender.c:2781 #5 0x00000000006cf782 in WalSndLoop (send_data=0x6d0700 <XLogSendLogical>) at walsender.c:2149 #6 0x00000000006d1463 in StartLogicalReplication (cmd_string=<value optimized out>) at walsender.c:1102 #7 exec_replication_command (cmd_string=<value optimized out>) at walsender.c:1539 #8 0x00000000007182b9 in PostgresMain (argc=<value optimized out>, argv=<value optimized out>, dbname=0xd368a8 "foo", username=<value optimized out>) at postgres.c:4084 #9 0x00000000006ad27d in BackendRun (argc=<value optimized out>, argv=<value optimized out>) at postmaster.c:4405 #10 BackendStartup (argc=<value optimized out>, argv=<value optimized out>) at postmaster.c:4077 #11 ServerLoop (argc=<value optimized out>, argv=<value optimized out>) at postmaster.c:1755 #12 PostmasterMain (argc=<value optimized out>, argv=<value optimized out>) at postmaster.c:1363 #13 0x000000000062e5b0 in main (argc=3, argv=0xd04540) at main.c:228 (gdb) p change $1 = (ReorderBufferChange *) 0x0 (gdb) p specinsert $2 = (ReorderBufferChange *) 0x0 If my math is correct the lsn 6211559254952 is 5A6/3DC86BA8. The transaction is: rmgr: Btree len (rec/tot): 3795/ 11731, tx: 144441221, lsn: 5A6/3DC80B58, prev 5A6/3DC80B28, desc: SPLIT_R level 0, firstright 139, blkref #0: rel 1663/355309/54931968 blk 176078, blkref #1: rel 1663/355309/54931968 blk 223615, blkref #2: rel 1663/355309/54931968 blk 176079 FPW rmgr: Btree len (rec/tot): 61/ 4481, tx: 144441221, lsn: 5A6/3DC83948, prev 5A6/3DC80B58, desc: INSERT_UPPER off 39, blkref #0: rel 1663/355309/54931968 blk 176062 FPW, blkref #1: rel 1663/355309/54931968 blk 176078 rmgr: Btree len (rec/tot): 72/ 72, tx: 144441221, lsn: 5A6/3DC84AE8, prev 5A6/3DC83948, desc: INSERT_LEAF off 2, blkref #0: rel 1663/355309/57252673 blk 218754 rmgr: Btree len (rec/tot): 53/ 7613, tx: 144441221, lsn: 5A6/3DC84B30, prev 5A6/3DC84AE8, desc: INSERT_LEAF off 129, blkref #0: rel 1663/355309/57252674 blk 23008 FPW rmgr: Btree len (rec/tot): 64/ 64, tx: 144441221, lsn: 5A6/3DC86908, prev 5A6/3DC84B30, desc: INSERT_LEAF off 71, blkref #0: rel 1663/355309/57252998 blk 156099 rmgr: Btree len (rec/tot): 72/ 72, tx: 144441221, lsn: 5A6/3DC86948, prev 5A6/3DC86908, desc: INSERT_LEAF off 210, blkref #0: rel 1663/355309/57253000 blk 219630 rmgr: Heap len (rec/tot): 48/ 48, tx: 144441221, lsn: 5A6/3DC86990, prev 5A6/3DC86948, desc: HEAP_CONFIRM off 5, blkref #0: rel 1663/355309/382872 blk 5520503 rmgr: Heap len (rec/tot): 54/ 54, tx: 144441221, lsn: 5A6/3DC869C0, prev 5A6/3DC86990, desc: LOCK off 8: xid 144441221: flags 0 LOCK_ONLY KEYSHR_LOCK , blkref #0: rel 1663/355309/42286702 blk 0 rmgr: Heap len (rec/tot): 54/ 54, tx: 144441221, lsn: 5A6/3DC869F8, prev 5A6/3DC869C0, desc: LOCK off 1: xid 144441221: flags 0 LOCK_ONLY KEYSHR_LOCK , blkref #0: rel 1663/355309/42323652 blk 0 rmgr: Heap len (rec/tot): 54/ 54, tx: 144441221, lsn: 5A6/3DC86A30, prev 5A6/3DC869F8, desc: LOCK off 23: xid 144441221: flags 0 LOCK_ONLY EXCL_LOCK , blkref #0: rel 1663/355309/382874 blk 4688787 rmgr: Heap len (rec/tot): 211/ 211, tx: 144441221, lsn: 5A6/3DC86A68, prev 5A6/3DC86A30, desc: HOT_UPDATE off 23 xmax 144441221 ; new off 24 xmax 144441221, blkref #0: rel 1663/355309/382874 blk 4688787 rmgr: Heap len (rec/tot): 98/ 98, tx: 144441221, lsn: 5A6/3DC86B40, prev 5A6/3DC86A68, desc: HOT_UPDATE off 32 xmax 144441221 ; new off 34 xmax 0, blkref #0: rel 1663/355309/39370447 blk 6284 rmgr: Transaction len (rec/tot): 46/ 46, tx: 144441221, lsn: 5A6/3DC86BA8, prev 5A6/3DC86B40, desc: COMMIT 2018-05-21 10:26:05.830168 -03 which translates into something like: BEGIN INSERT INTO table_a ON CONFLICT UPDATE table_b UPDATE table_c COMMIT I don't have a test case yet. This is my next step after this report. However, it seems to be related to INSERT ON CONFLICT decoding. Ideas? -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
pgsql-bugs by date: