Re: strange git problems on turaco - Mailing list buildfarm-members

From Andrew Dunstan
Subject Re: strange git problems on turaco
Date
Msg-id 7762aec1-971d-4121-83df-57bb5836ef10@dunslane.net
Whole thread Raw
In response to Re: strange git problems on turaco  (Noah Misch <noah@leadboat.com>)
List buildfarm-members
On 2024-12-01 Su 10:46 PM, Noah Misch wrote:
> On Mon, Dec 02, 2024 at 02:20:35AM +0100, Tomas Vondra wrote:
>> turaco seems to be having some strange git issues - some of the
>> buildfarm runs fail like this:
>>
>>
>> turaco:REL_16_STABLE [22:41:11] OK
>> Sun Dec  1 22:41:27 2024: buildfarm run for turaco:REL_17_STABLE starting
>> turaco:REL_17_STABLE [22:41:27] checking out source ...
>> Missing checked out branch bf_REL_17_STABLE:
>> fatal: not a git repository (or any parent up to mount point /mnt)
>> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
>> turaco:REL_17_STABLE [22:41:32] failed at stage pgsql-Git
>> Sun Dec  1 22:41:33 2024: buildfarm run for turaco:HEAD starting
>> turaco:HEAD          [22:41:33] checking out source ...
>>
>>
>> I initially suspected this might be due to aging storage (SD card on
>> rpi), but I replaced that, and there's nothing strange in dmesg. Also,
>> other branches seem to be working fine ...
>>
>> Any ideas what could be causing this?
> I had this happen ~9 times on the host of my AIX buildfarm members.  Example:
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mandrill&dt=2024-07-10%2019%3A51%3A28
>
> I figured it was some system problem, so I didn't root-cause it.  I carry the
> following workaround in my fork of the buildfarm client code.  The unknown
> problem caused failure reports and work stoppage ~4 times before I installed
> this workaround, then logs show the workaround prevented damage 5 times.  The
> last "removed intruder .git" log message appeared on 2024-07-23.  There was no
> kernel reboot, and logs don't point to buildfarm client processes getting
> involuntary termination, either.
>
> diff --git a/PGBuild/SCM.pm b/PGBuild/SCM.pm
> index dcfd180..2cd610a 100644
> --- a/PGBuild/SCM.pm
> +++ b/PGBuild/SCM.pm
> @@ -1059,9 +1059,19 @@ sub _update_target
>       my @gitlog;
>   
>       # If a run crashed during copy_source(), repair.
> -    if (-d "./git-save" && !-d "$target/.git")
> +    if (-d "./git-save")
>       {
> +        # As of 2024-07-13, the following has happened about four times in the
> +        # last month, to different gcc111 animals.  Despite no known crash,
> +        # there's a git-save directory containing the proper git repo, and
> +        # there's a bogus .git missing most content.  Remove the bogus one.
> +        # This is deeply hacky, but it beats buildfarm report noise and manual
> +        # intervention.
> +        if (rmtree("$target/.git") > 0) {
> +            print "removed intruder .git\n" if $verbose;
> +        }
>           move "./git-save", "$target/.git";
> +        print "restored git-save\n" if $verbose;
>       }
>   
>       chdir $target;
>
>

[catching up a huge email backlog]

That's kinda weird. The .git directory doesn't get moved at all if you 
have vpath turned on or you're building with meson (which always does 
vpath). So that's one possible workaround.

I guess I should put something like this in the next release ... will go 
and do that.


cheers


andrew






--
Andrew Dunstan
EDB: https://www.enterprisedb.com




buildfarm-members by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: strange git problems on turaco
Next
From: Andrew Dunstan
Date:
Subject: Re: strange git problems on turaco