On Tue, Nov 28, 2017 at 6:16 PM, Michael Paquier <michael.paqu...@gmail.com> wrote: > On Sun, Nov 12, 2017 at 8:40 PM, Andrey Borodin <x4...@yandex-team.ru> wrote: >> Postgres crashes: >> TRAP: FailedAssertion("!(((const void*)(&isNull) != ((void*)0)) && >> (scankey->sk_attno) > 0)", File: "nbtsearch.c", Line: 466) >> >> May be I'm doing something wrong or amcheck support will go with different >> patch? > > Usually amcheck complaining is a sign of other symptoms. I am marking > this patch as returned with feedback for now as no updates have been > provided after two weeks.
It looks like amcheck needs to be patched -- a simple oversight. amcheck is probably calling _bt_compare() without realizing that internal pages don't have the extra attributes (just leaf pages, although they should also not participate in comparisons in respect of included/extra columns). There were changes to amcheck at one point in the past. That must have slipped through again. I don't think it's that complicated. BTW, it would probably be a good idea to use the new Github version's "heapallindexed" verification [1] for testing this patch. Anastasia will need to patch the externally maintained amcheck to do this, but it's probably no extra work, because this is already needed for contrib/amcheck, and because the heapallindexed check doesn't actually care about index structure at all. [1] https://github.com/petergeoghegan/amcheck#optional-heapallindexed-verification -- Peter Geoghegan