Re: TRAP: failed Assert("offsets[i] > offsets[i - 1]"), File: "tidstore.c"
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Andrei Lepikhov <lepihov@gmail.com>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2026-04-16T08:11:47Z
Lists: pgsql-bugs
On Thu, Apr 16, 2026 at 12:13 AM Andrei Lepikhov <lepihov@gmail.com> wrote: > > On 15/04/2026 22:50, Masahiko Sawada wrote: > > On Wed, Apr 15, 2026 at 5:48 AM Andrei Lepikhov <lepihov@gmail.com> wrote: > > Could you provide the reproducer of the assertion failure? IIRC there > > have not been such reports on the community so far and the test should > > be included in the patch anyway. > Sure! See in attachment. Thank you for updating the patch. IIUC the assertion failure could happen only where we do random TIDs test like below because it's not guaranteed that the offset numbers in the array after applying DISTICT are sorted. -- Random TIDs test. The offset numbers are randomized and must be -- unique and ordered. INSERT INTO hideblocks (blockno) SELECT do_set_block_offsets(blkno, array_agg(DISTINCT greatest((random() * :maxoffset)::int, 1))::int2[]) FROM generate_series(1, 100) num_offsets, generate_series(1000, 1100, 1) blkno GROUP BY blkno; While I agree that we need to sort the offset numbers, I think it would be better to make sure the offset numbers in the array to be sorted in a test_tidstore.sql file where required, instead of doing so for all cases. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
Commits
-
test_tidstore: Stabilize regression tests by sorting offsets.
- 0b3f72f8816b 17.10 landed
- cfbfdb963a42 18.4 landed
- a424e31b16ba 19 (unreleased) landed