From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Subject: | Re: pltcl tests fail with FreeBSD 13.2 |
Date: | 2023-07-31 23:07:41 |
Message-ID: | 20230731230741.iy3zvc4wgpz5zxkj@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2023-07-31 18:33:37 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > I saw that CI image builds for freebsd were failing, because 13.1, used until
> > now, is EOL. Update to 13.2, no problem, I thought. Ran a CI run against 13.2
> > - unfortunately that failed. In pltcl of all places.
>
> I tried to replicate this in a freshly-installed 13.2 VM, and could
> not, which is unsurprising because the FreeBSD installation process
> does not let you skip selecting a timezone --- which creates
> /etc/localtime AFAICT. So I'm unconvinced that we ought to worry
> about the case where that's not there. How is it that the CI image
> lacks that file?
I don't know why it lacks the file - the CI image is based on the google cloud
image freebsd maintains / publishes ([1][2]). Which doesn't have /etc/localtime.
I've now added a "tzsetup UTC" to the image generation, which fixes the test
failure.
> (And could it be that we had one in the predecessor 13.1 image?)
No, I checked, and it's not in there either... It looks like the difference is
that 13.1 reads the UTC zoneinfo in that case, whereas 13.2 doesn't.
Upstream 13.1 image:
truss date 2>&1|grep -E 'open|stat'
...
open("/etc/localtime",O_RDONLY,0101401200) ERR#2 'No such file or directory'
open("/usr/share/zoneinfo/UTC",O_RDONLY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=351417,size=118,blksize=32768 }) = 0 (0x0)
open("/usr/share/zoneinfo/posixrules",O_RDONLY,014330460400) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=356621,size=3535,blksize=32768 }) = 0 (0x0)
fstat(1,{ mode=p--------- ,inode=696,size=0,blksize=4096 }) = 0 (0x0)
Upstream 13.2 image:
open("/etc/localtime",O_RDONLY,01745) ERR#2 'No such file or directory'
fstat(1,{ mode=p--------- ,inode=658,size=0,blksize=4096 }) = 0 (0x0)
Why not reading the UTC zone leads to timestamps being out of range, I do not
know...
Greetings,
Andres Freund
[1] https://wiki.freebsd.org/GoogleCloudPlatform
[2] https://cloud.google.com/compute/docs/images#freebsd
From | Date | Subject | |
---|---|---|---|
Next Message | Ranier Vilela | 2023-07-31 23:10:55 | Re: Avoid possible memory leak (src/common/rmtree.c) |
Previous Message | Tom Lane | 2023-07-31 22:33:37 | Re: pltcl tests fail with FreeBSD 13.2 |