Re: BUG #16122: segfault pg_detoast_datum (datum=0x0) at fmgr.c:1833numrange query
От | Michael Paquier |
---|---|
Тема | Re: BUG #16122: segfault pg_detoast_datum (datum=0x0) at fmgr.c:1833numrange query |
Дата | |
Msg-id | 20191119114056.GA516103@paquier.xyz обсуждение исходный текст |
Ответ на | Re: BUG #16122: segfault pg_detoast_datum (datum=0x0) at fmgr.c:1833numrange query (Tomas Vondra <tomas.vondra@2ndquadrant.com>) |
Ответы |
Re: BUG #16122: segfault pg_detoast_datum (datum=0x0) at fmgr.c:1833numrange query
|
Список | pgsql-bugs |
On Tue, Nov 19, 2019 at 11:38:13AM +0100, Tomas Vondra wrote: > FWIW I've managed to reproduce this on 10, but I had to build without > --enable-cassert. So this does trigger the issue: > > Haven't investigated further yet. If you add an ANALYZE on the table natica_hdu_test after restoring, I am rather sure that you would reproduce the crash more quickly because the handling around the stats of the column are busted here. Anyway, taking my example of upthread, I have been also able to reproduce the problem on REL_10_STABLE even with assertions enabled: the trick is that you need to leave once the session after the analyze on the table. Then a SELECT within a new session is enough to crash the server. The change with stdbool.h actually makes the crash easier to reproduce as there is no need to leave the session. I am not sure how it mattered.. [ ... And one bisect later ... ] This looks more correct as culprit than the precedent because it touches the area of the crash: commit: 9aab83fc5039d83e84144b7bed3fb1d62a74ae78 author: Tom Lane <tgl@sss.pgh.pa.us> date: Sat, 13 May 2017 15:14:39 -0400 Redesign get_attstatsslot()/free_attstatsslot() for more safety and speed. It seems to me that that we are simply free'ing an area which still needs to be accessed for the stat estimations. -- Michael
Вложения
В списке pgsql-bugs по дате отправления: