Re: BUG #16036: Segmentation fault while doing an update

Поиск
Список
Период
Сортировка
Искать
От
Tom Lane
Тема
Re: BUG #16036: Segmentation fault while doing an update
Дата
Msg-id
11540.1570159561@sss.pgh.pa.us
Ответ на
Список
Дерево обсуждения
BUG #16036: Segmentation fault while doing an update PG Bug reporting form <noreply@postgresql.org>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Tom Lane <tgl@sss.pgh.pa.us>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Tom Lane <tgl@sss.pgh.pa.us>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Tom Lane <tgl@sss.pgh.pa.us>
Re: BUG #16036: Segmentation fault while doing an update Andres Freund <andres@anarazel.de>
Re: BUG #16036: Segmentation fault while doing an update Peter Geoghegan <pg@bowt.ie>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Re: BUG #16036: Segmentation fault while doing an update Антон Власов <druidvav@gmail.com>
Andres Freund  writes:
> So I think what we need to do is:
> 1) only call ExecCopySlot() if slot != newslot - this fixes the crash
> 2) Add an assert to ExecCopySlot() ensuring source and target slot are
>    distinct
> 3) Figure out why our tests didn't catch this, this afaict should be a
>    tested scenario
> 4) Fix confusing variable naming around newSlot/newslot in ExecBRUpdateTriggers

Maybe instead of 1+2, change ExecCopySlot like this:

-	dstslot->tts_ops->copyslot(dstslot, srcslot);
+	if (dstslot != srcslot)
+	    dstslot->tts_ops->copyslot(dstslot, srcslot);

That would fix other similar instances, not just this one caller.

			regards, tom lane


В списке pgsql-bugs по дате отправления
От: Andres Freund
Дата:
От: Andres Freund
Дата:
FAQ