Re: BUG #17821: Assertion failed in heap_update() due to heap pruning

Поиск
Список
Период
Сортировка
От Melanie Plageman
Тема Re: BUG #17821: Assertion failed in heap_update() due to heap pruning
Дата
Msg-id CAAKRu_bWz0KhTKW3SzetvhZL3gpsnyekB2WFCn-MO4aCx=37=g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #17821: Assertion failed in heap_update() due to heap pruning  (Alexander Lakhin <exclusion@gmail.com>)
Ответы Re: BUG #17821: Assertion failed in heap_update() due to heap pruning  (Alexander Lakhin <exclusion@gmail.com>)
Список pgsql-bugs
On Tue, Apr 9, 2024 at 8:00 AM Alexander Lakhin <exclusion@gmail.com> wrote:
>
> Hello,
>
> 07.10.2023 11:00, Alexander Lakhin wrote:
> >
> > I've encountered another case of that assertion failure (this time with pg_statistic):
>
> That second case is not reproduced anymore, after ad98fb142, but the first
> is still actual.
>
> I also discovered another one, with pg_subscription:
> echo "
> CREATE ROLE su SUPERUSER;
> CREATE SUBSCRIPTION sub CONNECTION 'dbname=nonexisting'
>    PUBLICATION pub WITH (connect = false);
> " | psql
>
> for ((i=1;i<=20;i++)); do
>    echo "iteration $i"
>
>    for ((k=1;k<=100;k++)); do
>      for ((j=1;j<=200;j++)); do echo "
> ALTER SUBSCRIPTION sub SET (synchronous_commit = false);
>      "; done | psql >/dev/null 2>&1 &
>
>      for ((j=1;j<=200;j++)); do echo "
> ALTER SUBSCRIPTION sub OWNER TO su;
> ALTER SUBSCRIPTION sub SET (slot_name = NONE);
>      "; done | psql >/dev/null 2>&1 &
>      wait
>    done
>
>    grep 'TRAP:' server.log && break;
> done
>
> This script fails for me as below:
> ...
> iteration 5
> TRAP: failed Assert("ItemIdIsNormal(lp)"), File: "heapam.c", Line: 3296, PID: 388093
>
> (sed 's/minfree = Max(minfree, BLCKSZ \/ 10)/minfree = Max(minfree, BLCKSZ \/1)/'
> -i src/backend/access/heap/pruneheap.c
> is highly recommended for reproducing)
>
> Melanie and Heikki, as you have been working on pruning over the recent
> months, perhaps this defect could be of interest to you...

Hi Alexander,

Just to confirm, the original bug was filed against 15, but I see
ad98fb142 was committed on master as well as backpatched. You are able
to reproduce  your pg_subscription example on master? I tried your
repro (including the modification to minfree) and wasn't able to
reproduce on master on my machine. This could totally be my fault, but
I just wanted to confirm you were able to repro on master.

- Melanie



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

Предыдущее
От: Alexander Lakhin
Дата:
Сообщение: Re: BUG #17821: Assertion failed in heap_update() due to heap pruning
Следующее
От: Robert Haas
Дата:
Сообщение: Re: BUG #17257: (auto)vacuum hangs within lazy_scan_prune()