Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005
Дата
Msg-id ad2162e6-38ef-76cb-0638-c90f8b00a0d6@2ndQuadrant.com
обсуждение исходный текст
Ответ на Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Ответы Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005  (Amit Langote <amitlangote09@gmail.com>)
Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005  (Amit Langote <amitlangote09@gmail.com>)
Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005  (Michael Banck <michael.banck@credativ.de>)
Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005  (Michael Banck <michael.banck@credativ.de>)
Список pgsql-bugs

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().

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

cheers

andrew

-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Вложения

В списке pgsql-bugs по дате отправления:

Предыдущее
От: PG Bug reporting form
Дата:
Сообщение: BUG #15453: Installer registers with major version only
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15449: file_fdw using program cause exit code error when using LIMIT