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
Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005 Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005 Re: BUG #15448: server process (PID 22656) was terminated byexception 0xC0000005 |
Список | 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 по дате отправления: