Re: Segmentation Fault in logical decoding get/peek API - Mailing list pgsql-bugs

From jfinzel
Subject Re: Segmentation Fault in logical decoding get/peek API
Date
Msg-id 1550176423593-0.post@n3.nabble.com
Whole thread Raw
In response to Re: Segmentation Fault in logical decoding get/peek API  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: Segmentation Fault in logical decoding get/peek API  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
We ran into a segmentation fault using peek_changes that appears identical
with what is described in this unfinished thread.  We are running pg 10.3,
and the segfault was fixed by us upgrading to 10.6.  However, we could not
find any clearly related fixes in any of the release notes for 10.4-6
relating to this bug fix.  I did find this commit that I believe fixes the
issue:
https://github.com/postgres/postgres/commit/bba8c612117416907f332fce8b9e80b748e0b798

If this indeed fixes a critical issue as we think it does, could someone
please add it in the right place to the release notes?

Would it be useful to anyone for us to provide any more diagnostics for how
we encountered this bug?  I have a core dump and stack trace.  We
encountered it during a peek_changes being run and fetched via a cursor. 
The same peek_changes from the same LSN actually succeeds after recovery. 
specinsert is null here:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000084a914 in ReorderBufferCommit (rb=0x1e236c0, xid=316524727,
commit_lsn=9825880784664, end_lsn=9825880787976,
commit_time=603381553004372, origin_id=0, origin_lsn=0) at
reorderbuffer.c:1395
1395                        Assert(specinsert->data.tp.oldtuple == NULL);

Some interesting notes are that we are doing INSERT ON CONFLICT UPDATE (we
are not using DO NOTHING), and the table of interest has a btree gist index. 
I am certain that the decoding of this SQL process is somehow related to
this segfault.

Another note of interest is that we have been decoding using pglogical from
this system for some time with no issues, so this is definitely unique to
the use of the peek_changes function.

Please advise, thanks!



--
Sent from: http://www.postgresql-archive.org/PostgreSQL-bugs-f2117394.html


pgsql-bugs by date:

Previous
From: Arthur Zakirov
Date:
Subject: Re: BUG #15572: Misleading message reported by "Drop functionoperation" on DB with functions having same name
Next
From: PG Bug reporting form
Date:
Subject: BUG #15636: PostgreSQL 11.1 pg_basebackup backup to a CIFS destination throws fsync error at end of backup