Upgrade Debian CI image from Bookworm to Trixie
Hi,
Debian Trixie CI images are generated now [1]https://github.com/anarazel/pg-vm-images/commit/35a144793f, so the attached patch
uses them with the following changes:
(copying from commit message)
- detect_stack_use_after_return=0 option is added to the ASAN_OPTIONS
because ASAN uses a "shadow stack" to track stack variable lifetimes
and this confuses Postgres' stack depth check [2]/messages/by-id/20240130212304.q66rquj5es4375ab@awork3.anarazel.de.
- Perl is updated to the newer version (perl5.40-i386-linux-gnu).
- LLVM-14 is no longer default installation, no need to force using
LLVM-16.
- Switch MinGW CC/CXX to x86_64-w64-mingw32ucrt-* to fix build failure
from missing _iswctype_l in mingw-w64 v12 headers.
Please note that this patch can be applied to the master only, other
branches have conflicts. I can work on back-patches when the patch is
ready to commit.
Any feedback would be appreciated.
[1]: https://github.com/anarazel/pg-vm-images/commit/35a144793f
[2]: /messages/by-id/20240130212304.q66rquj5es4375ab@awork3.anarazel.de
--
Regards,
Nazir Bilal Yavuz
Microsoft
Attachments:
v1-0001-ci-debian-Switch-to-Debian-Trixie-release.patchtext/x-patch; charset=US-ASCII; name=v1-0001-ci-debian-Switch-to-Debian-Trixie-release.patchDownload+17-27
Hi,
On 2025-10-13 15:49:01 +0300, Nazir Bilal Yavuz wrote:
Debian Trixie CI images are generated now [1], so the attached patch
uses them with the following changes:(copying from commit message)
- detect_stack_use_after_return=0 option is added to the ASAN_OPTIONS
because ASAN uses a "shadow stack" to track stack variable lifetimes
and this confuses Postgres' stack depth check [2].- Perl is updated to the newer version (perl5.40-i386-linux-gnu).
- LLVM-14 is no longer default installation, no need to force using
LLVM-16.- Switch MinGW CC/CXX to x86_64-w64-mingw32ucrt-* to fix build failure
from missing _iswctype_l in mingw-w64 v12 headers.Please note that this patch can be applied to the master only, other
branches have conflicts. I can work on back-patches when the patch is
ready to commit.Any feedback would be appreciated.
[1] https://github.com/anarazel/pg-vm-images/commit/35a144793f
[2] /messages/by-id/20240130212304.q66rquj5es4375ab@awork3.anarazel.de
As noted in [1]/messages/by-id/o5yadhhmyjo53svzwvaocww6zkrp63i4f32cw3treuh46pxtza@hyqio5b2tkt6 applying this to the backbranches required backpatching
7bc9a8bdd2d, or the CompilerWarnings task would fail with:
[21:08:42.818] In file included from ../../../src/include/c.h:60,
[21:08:42.818] from ../../../src/include/postgres.h:45,
[21:08:42.818] from postmaster.c:66:
[21:08:42.818] postmaster.c: In function ‘PostmasterMain’:
[21:08:42.818] postmaster.c:862:31: error: ‘__p__environ’ redeclared without dllimport attribute: previous dllimport ignored [-Werror=attributes]
[21:08:42.818] 862 | extern char **environ;
[21:08:42.818] | ^~~~~~~
[21:08:42.818] cc1: all warnings being treated as errors
I now pushed the backpatch and the upgrade to trixie. Let's hope that neither
buildfarm nor CI finds issues...
Greetings,
Andres Freund
[1]: /messages/by-id/o5yadhhmyjo53svzwvaocww6zkrp63i4f32cw3treuh46pxtza@hyqio5b2tkt6
[2]: https://cirrus-ci.com/task/6526575971139584