Re: Invalid control file checksum with AVX-512 during initdb on a clang19 -O0 build
John Naylor <johncnaylorls@gmail.com>
From: John Naylor <johncnaylorls@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Soumyadeep Chakraborty <soumyadeep2007@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2025-06-12T06:57:01Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Workaround code generation bug in clang
- f83f14881c7a 18.0 landed
-
Don't reduce output request size on non-Unix-socket connections.
- 137935bd1167 18.0 cited
Attachments
- v1-crc-workaround-clang-18.patch (text/x-patch) patch v1
On Thu, Jun 12, 2025 at 4:42 AM Nathan Bossart <nathandbossart@gmail.com> wrote: > > (I've CC'd the committer of the feature.) > > On Wed, Jun 11, 2025 at 11:10:31AM -0700, Soumyadeep Chakraborty wrote: > > Note that this only reproduces with clang-19 -O0 and NOT -O3. I haven't > > tried with other versions of clang. > > > > OTOH, gcc-14 is cool with both -O0 and -O3, with AVX-512 getting picked > > for both cases, for CRC instructions. > > I'm wondering if there's anything else this could be besides a compiler > bug. It's interesting that -O0 is the broken case. Have you tried looking > for differences in the assembly code? Hmm, clang at -O0 is the same in versions 18, 19, and 20. The change from v17 is easy enough to workaround as in the attached, which produces identical output as master at -O2. Does this fix it for you? If that's not it, it may be more difficult, as the change at -O0 from v16 to v17 is large, so it's hard to see what's going on. -- John Naylor Amazon Web Services