MinGW ccache snafu on CI - Mailing list pgsql-hackers

From Thomas Munro
Subject MinGW ccache snafu on CI
Date
Msg-id CA+hUKG+s7Yvt0PUnSQUEjCjysV-7-51n9B1h468Le3VJi0x4ZQ@mail.gmail.com
Whole thread
List pgsql-hackers
Hi,

As previously reported[1] (also discussed on Discord a few times), the
MinGW CI job is capable of getting confused like this:

Cache restored from key: ccache:windows-mingw:thread-work:28559723796:1

# check for "D:/a/postgres/postgres/build/tmp_install/usr/local/pgsql/bin/vacuumdb"
failed: incorrect version: found "vacuumdb (PostgreSQL) 19beta1",
expected "vacuumdb (PostgreSQL) 20devel"

Apparently ccache failed to recompile stuff that it should have, and
produced a stale .o from an earlier build in the same repo/branch.
While "19beta1" and "20devel" have the same length, I doubt that a
mere few hundred monkeys with typewriters have found multiple hash
collisions...

One observation is that the MinGW job is using precompiled headers
(-Db_pch=true).  I wonder if we might be using the wrong switches[2],
but I don't claim to understand that stuff...

So is the MSVC job, but I don't recall hearing of any problems there.

[1] https://www.postgresql.org/message-id/flat/E1vOJwR-001XFf-0r%40gemulon.postgresql.org
[2] https://ccache.dev/manual/4.1.html#_precompiled_headers



pgsql-hackers by date:

Previous
From: jian he
Date:
Subject: Re: Row pattern recognition
Next
From: Bharath Rupireddy
Date:
Subject: Re: Fix race condition in pg_get_publication_tables with concurrent DROP TABLE