Re: windows cfbot failing: my_perl - Mailing list pgsql-hackers

From Andres Freund
Subject Re: windows cfbot failing: my_perl
Date
Msg-id 20220826134047.vr3bppkwqhy5ppn3@awork3.anarazel.de
Whole thread Raw
In response to Re: windows cfbot failing: my_perl  (Andres Freund <andres@anarazel.de>)
Responses Re: windows cfbot failing: my_perl
List pgsql-hackers
Hi,

On 2022-08-26 06:21:51 -0700, Andres Freund wrote:
> On 2022-08-26 06:55:46 -0500, Justin Pryzby wrote:
> > The last 20 some consecutive builds failed:
> > https://cirrus-ci.com/github/postgresql-cfbot/postgresql
> > 
> > like this:
> > [09:29:27.711] C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\malloc.h(159,17): error C2065:
'my_perl':undeclared identifier (compiling source file src/pl/plperl/SPI.c) [c:\cirrus\plperl.vcxproj]
 
> > [09:29:27.711] C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\malloc.h(159,17): error C2065:
'my_perl':undeclared identifier (compiling source file src/pl/plperl/Util.c) [c:\cirrus\plperl.vcxproj]
 
> > [09:29:27.711] C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\malloc.h(159,17): error C2223: left
of'->IMem' must point to struct/union (compiling source file src/pl/plperl/SPI.c) [c:\cirrus\plperl.vcxproj]
 
> > [09:29:27.711] C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\malloc.h(159,17): error C2223: left
of'->IMem' must point to struct/union (compiling source file src/pl/plperl/Util.c) [c:\cirrus\plperl.vcxproj]
 
> > 
> > I imagine it may be due to an error hit while rebuilding the ci's docker image.
> 
> I don't think it's CI specific, see
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=hamerkop&dt=2022-08-26%2011%3A00%3A11
> 
> Looks like the failures might have started with
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=121d2d3d70ecdb2113b340c5f3b99a61341291af
> based on
> https://cirrus-ci.com/github/postgres/postgres/
> 
> Not immediately obvious why that would be.

Reproduces in a VM, it starts to fail with that commit. Looks like somehow
different macros are trampling on each other. Something in perl is interfering
with msvc's malloc.h, turning

            if (_Marker == _ALLOCA_S_HEAP_MARKER)
            {
                free(_Memory);
            }
into

            if (_Marker == 0xDDDD)
            {
                (*(my_perl->IMem)->pFree)((my_perl->IMem), (_Memory));
            }

after preprocessing. No idea how.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: standby promotion can create unreadable WAL
Next
From: Andrew Dunstan
Date:
Subject: Re: Strip -mmacosx-version-min options from plperl build