Re: [WIP]Vertical Clustered Index (columnar store extension) - take2

Peter Smith <smithpb2250@gmail.com>

From: Peter Smith <smithpb2250@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Timur Magomedov <t.magomedov@postgrespro.ru>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, Tomas Vondra <tomas@vondra.me>, "Aya Iwata (Fujitsu)" <iwata.aya@fujitsu.com>, Japin Li <japinli@hotmail.com>, shveta malik <shveta.malik@gmail.com>
Date: 2025-12-18T01:15:07Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Mark ItemPointer arguments as const throughout

  2. Reorganize GUC structs

  3. Eliminate XLOG_HEAP2_VISIBLE from vacuum phase III

  4. Update various forward declarations to use typedef

  5. Pathify RHS unique-ification for semijoin planning

  6. Revert "Don't lock partitions pruned by initial pruning"

  7. For inplace update, send nontransactional invalidations.

  8. Remove nearly-unused SizeOfIptrData macro.

On Thu, Dec 18, 2025 at 11:25 AM Andres Freund <andres@anarazel.de> wrote:
>
> Hi,
>
> On 2025-12-17 12:40:13 +1100, Peter Smith wrote:
> > Here is the latest set of VCI patches.
>
> This fails the tests under the undefined behaviour sanitizer.
>
> Se e.g.
> https://cirrus-ci.com/task/6313371143766016
>
> There are a lot of crashes due to ubsan failures. One of them is:
>
> [21:22:15.116] stderr:
> [21:22:15.116] #   Failed test 'newline in dbname: stderr matches'
> [21:22:15.116] #   at /tmp/cirrus-ci-build/src/bin/pg_dump/t/003_pg_dump_with_server.pl line 29.
> [21:22:15.116] #                   '==58220==Using libbacktrace symbolizer.
> [21:22:15.116] # ../src/bin/pg_dump/pg_dump.c:20198:13: runtime error: load of value 116, which is not a valid value for type '_Bool'
> [21:22:15.116] #     #0 0x55ae2a204568 in addBoundaryDependencies ../src/bin/pg_dump/pg_dump.c:20198
> [21:22:15.116] #     #1 0x55ae2a23d768 in main ../src/bin/pg_dump/pg_dump.c:1209
> [21:22:15.116] #     #2 0x7f5add233ca7  (/lib/x86_64-linux-gnu/libc.so.6+0x29ca7) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
> [21:22:15.116] #     #3 0x7f5add233d64 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29d64) (BuildId: def5460e3cee00bfee25b429c97bcc4853e5b3a8)
> [21:22:15.116] #     #4 0x55ae2a1fbda0 in _start (/tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin/pg_dump+0x55da0) (BuildId: 19f1772fd2938fdb30967788098e73d390996698)
> [21:22:15.116] #
>
> I.e. pg_dump is triggering the undefined behaviour sanitizer because of a
> bogus value in a field that's supposed to be a boolean.
>
> Greetings,
>

Thanks for reporting.  There has been some kind of error that has been
happening only on this platform ever since the first post of this
patch. Discovering the reason for this is on my TODO list.

Previously, the error for this platform used to manifest differently
-- reporting about a bad structure member alignment -- so I am
guessing it is the same issue, but in this case, the bad alignment
caused some bool to contain garbage.

======
Kind Regards,
Peter Smith.
Fujitsu Australia