Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Sandeep Thakkar <sandeep(dot)thakkar(at)enterprisedb(dot)com>
Cc: Noah Misch <noah(at)leadboat(dot)com>, CM Team <cm(at)enterprisedb(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Geoghegan <pg(at)bowt(dot)ie>, Andres Freund <andres(at)anarazel(dot)de>, Semab Tariq <semab(dot)tariq(at)enterprisedb(dot)com>
Subject: Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data
Date: 2021-10-31 19:01:08
Message-ID: 70405D84-B779-4F41-851B-643027DA2EB4@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

> 31 окт. 2021 г., в 12:31, Sandeep Thakkar <sandeep(dot)thakkar(at)enterprisedb(dot)com> написал(а):
>
> Here is the stack trace:
Thanks Sandeep!

So far I didn't come up with a clear understanding how this might happen.

The only idea I have:
1. It seems equalTupleDescs() got two valid pointers, probably with broken data.
2. Maybe relation->rd_rel (alloceted just before relation->rd_att) was used incorrectly?
3. This could happen if CLASS_TUPLE_SIZE is calculated wrong. Don't we need to MAXALIGN everything due to added sizeof(relminmxid)?
#define CLASS_TUPLE_SIZE \
(offsetof(FormData_pg_class,relminmxid) + sizeof(TransactionId))

The idea doesn't seem very strong but that's only 2 cents I have. Noah, what do you think?

Best regards, Andrey Borodin.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2021-10-31 19:18:01 Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data
Previous Message Tom Lane 2021-10-31 17:07:42 Re: BUG #17254: Crash with 0xC0000409 in pg_stat_statements when pg_stat_tmp\pgss_query_texts.stat exceeded 2GB.