Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005 - Mailing list pgsql-bugs

From Amit Langote
Subject Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005
Date
Msg-id CA+HiwqFBUcjjqbnyVaAbUkPBV0+FigrqfL1h7D+3kB4VZxPe-Q@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
List pgsql-bugs
Hi,

On Tue, Oct 23, 2018 at 8:46 PM Andrew Dunstan
<andrew.dunstan@2ndquadrant.com> wrote:
> On 10/22/2018 10:00 PM, Amit Langote wrote:
> > After observing the test case in the provided log, I managed to reproduce
> > it with the following:
> >
> > create table foo (a int primary key, b int);
> > create table bar (a int references foo on delete cascade, b int);
> > insert into foo values (1, 1);
> > insert into foo values (2, 2);
> > alter table foo add c int;
> > alter table foo drop c;
> > delete from foo;
> > server closed the connection unexpectedly
> >       This probably means the server terminated abnormally
> >       before or while processing the request.
> > The connection to the server was lost. Attempting reset: Failed.
> >
> > Analyzing this crash, I located the bug down to GetTupleForTrigger(), but
> > perhaps it's really in heap_expand_tuple() / expand_tuple(), where the
> > value of trigger tuple's t_self is being switched from a valid one to an
> > invalid value.
> >
> > In heaptuple.c: expand_tuple()
> >
> >
> >          ItemPointerSetInvalid(&((*targetHeapTuple)->t_self));
> >
> >
> > FWIW, attached patch fixes this for me.  Adding Andrew whose recent commit
> > 7636e5c60f [1] seems to have introduced the heap_expan_tuple call in
> > GetTupleForTrigger.  Maybe, he can better judge a fix for this.
>
> Thanks. I think the line in expand_tuple is a thinko and we should
> change it, rather than change GetTupleForTrigger().

Agreed.

> Here is a patch that does that and also adds your test case to the
> regression tests.

Looks good.

Thanks,
Amit


pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #15449: file_fdw using program cause exit code error when using LIMIT
Next
From: PG Bug reporting form
Date:
Subject: BUG #15454: Endless lseek