[tz] Troubles with zone Asia/Gaza after tzdata2020b release

Tim Parenti tim at timtimeonline.com
Mon Mar 1 21:19:38 UTC 2021


Evgheni,

The first thing I noticed was the disparate file sizes that all of your
compiled Asia/Gaza.* files have.  It looks like all of the larger (~2.3 kB)
files are yielding the correct/expected results (EET and EEST), while the
smaller (~1.2 kB) files are not.

I suspect that, in the cases of the smaller files, there is likely no real
data in the v1 data block, which is to say that the first 51 bytes would
look something like this:
$ hexdump -n51 -C Asia/Gaza
00000000  54 5a 69 66 33 00 00 00  00 00 00 00 00 00 00 00
 |TZif3...........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
 |................|
00000020  00 00 00 00 00 00 00 01  00 00 00 01 00 00 00 00
 |................|
00000030  00 00 00                                          |...|
00000033

For such files, the useful data, so to speak, is in the version 2+ data
block which begins directly after these bytes.

(The format of these data blocks are described in detail in §3.2 of
RFC8536.)
https://www.rfc-editor.org/rfc/rfc8536.html#section-3.2

The next thing I recalled is that, beginning with version 2020b, our
packaged version of zic now defaults to using the "-b slim" option which
removes the v1 data block in this way, since it is dependent on 32-bit
timestamps that will rollover in early 2038 and is thus decreasing in
utility as that date nears.
https://github.com/eggert/tz/commit/6ba6f2117b95eab345a7ed9159cef939e30c4cd3
https://mm.icann.org/pipermail/tz/2020-June/029125.html

It seems that, for now, the Ubuntu maintainers have decided to still
compile with "-b fat" to maintain the v1 data block, which is why their
files seem to work for you.

So this brings us the logical follow-on question: Why is the system you're
testing only looking at the (legacy) 32-bit data in the v1 data block, and
not using the 64-bit data in the v2+ data block?  Please let us know more
about the system you're running so that we can get a better sense of which
platforms have successfully made the transition to properly using TZif
version 2+ data for 64-bit timestamps, and which haven't.

--
Tim Parenti


On Mon, 1 Mar 2021 at 14:19, Evgheni Antropov via tz <tz at iana.org> wrote:

> Dear tzdata maintainers,
>
>
>
> I have found that after tzdata2020b release something has gone wrong with
> Asia/Gaza timezone, which is related to Palestine.
>
> For checking I used this information
> https://www.timeanddate.com/worldclock/palestine/gaza and
>
> for DST at 2019:
> https://www.timeanddate.com/time/change/palestine/gaza?year=2019
>
>  for DST at 2020:
> https://www.timeanddate.com/time/change/palestine/gaza?year=2020
>
>  for DST at 2021:
> https://www.timeanddate.com/time/change/palestine/gaza?year=2021
>
>
>
> I compiled all last release of tzdata from 2019c to 2021a and was
> comparing them with Ubuntu packages for 2020b on groovy (20.10) and 2021a
> on bionic (18.04).
>
>
>
> If several changes in the date of DST for different years can be related
> with last applied laws of DST in Palestine (described here
> http://mm.icann.org/pipermail/tz/2020-October/029376.html), but broken
> timezone output in letters or numbers is speaking about any error in the
> this time zone code.
>
> Can you investigate this too ?
>
>
>
> On screenshot you can see all my investigation:
>
>
>
> Also I share all commands and listing for your execution itself:
>
>
>
> [root at Router8:~]# ls -la /etc/localtime
>
> lrwxrwxrwx 1 root root 35 Mar  4  2021 /etc/localtime ->
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> [root at Router8:~]# ls -la /usr/share/zoneinfo/posix/Asia/Gaza*
>
> lrwxrwxrwx 1 root root   41 Mar 27 01:00
> /usr/share/zoneinfo/posix/Asia/Gaza ->
> /usr/share/zoneinfo/posix/Asia/Gaza.2019c
>
> -rw-r--r-- 1 root root 2316 Oct 22 09:34
> /usr/share/zoneinfo/posix/Asia/Gaza.2019c
>
> -rw-r--r-- 1 root root 2316 Oct 30  2020
> /usr/share/zoneinfo/posix/Asia/Gaza.2020a
>
> -rw-r--r-- 1 root root 1166 Oct 30  2020
> /usr/share/zoneinfo/posix/Asia/Gaza.2020b
>
> -rw-r--r-- 1 root root 1166 Oct 30  2020
> /usr/share/zoneinfo/posix/Asia/Gaza.2020c
>
> -rw-r--r-- 1 root root 1195 Oct 30  2020
> /usr/share/zoneinfo/posix/Asia/Gaza.2020d
>
> -rw-r--r-- 1 root root 1213 Mar  1  2021
> /usr/share/zoneinfo/posix/Asia/Gaza.2021a
>
> -rw-r--r-- 1 root root 2316 Oct 19  2020
> /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2020b
>
> -rw-r--r-- 1 root root 2459 Jan 27  2021
> /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2021a
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20190328 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20190328 23:59:55
>
> Thu Mar 28 23:59:59 2019        +0200   EET
>
> Fri Mar 29 01:00:01 2019        +0300   EEST
>
> [root at Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2020a
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> '/usr/share/zoneinfo/posix/Asia/Gaza' ->
> '/usr/share/zoneinfo/posix/Asia/Gaza.2020a'
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20200326 23:59:55
>
> Thu Mar 26 23:59:59 2020        +0200   EET
>
> Fri Mar 27 01:00:01 2020        +0300   EEST
>
> [root at Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2020b
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> '/usr/share/zoneinfo/posix/Asia/Gaza' ->
> '/usr/share/zoneinfo/posix/Asia/Gaza.2020b'
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20200326 23:59:55
>
> Thu Mar 26 23:59:59 2020        +0000
>
> Fri Mar 27 00:00:01 2020        +0000
>
> [root at Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2020c
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> '/usr/share/zoneinfo/posix/Asia/Gaza' ->
> '/usr/share/zoneinfo/posix/Asia/Gaza.2020c'
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20200326 23:59:55
>
> Thu Mar 26 23:59:59 2020        +0000
>
> Fri Mar 27 00:00:01 2020        +0000
>
> [root at Router8:~]# ln -sfv
> /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2020b
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> '/usr/share/zoneinfo/posix/Asia/Gaza' ->
> '/usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2020b'
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20200326 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20200326 23:59:55
>
> Thu Mar 26 23:59:59 2020        +0200   EET
>
> Fri Mar 27 01:00:01 2020        +0300   EEST
>
> [root at Router8:~]# ln -sfv /usr/share/zoneinfo/posix/Asia/Gaza.2021a
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> '/usr/share/zoneinfo/posix/Asia/Gaza' ->
> '/usr/share/zoneinfo/posix/Asia/Gaza.2021a'
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20210326 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20210326 23:59:55
>
> Fri Mar 26 23:59:59 2021        +0000
>
> Sat Mar 27 00:00:01 2021        +0000
>
> [root at Router8:~]# ln -sfv
> /usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2021a
> /usr/share/zoneinfo/posix/Asia/Gaza
>
> '/usr/share/zoneinfo/posix/Asia/Gaza' ->
> '/usr/share/zoneinfo/posix/Asia/Gaza.ubuntu.2021a'
>
> [root at Router8:~]# date +"%Y%m%d %T" -s "20210326 23:59:55" ; sleep 4;
> date +%c%t%z%t%Z; sleep 2 ; date +%c%t%z%t%Z
>
> 20210326 23:59:55
>
> Fri Mar 26 23:59:59 2021        +0200   EET
>
> Sat Mar 27 01:00:01 2021        +0300   EEST
>
>
>
> Best regards,
>
>
>
> Evgheni Antropov
>
> Software R&D Engineer
>
> +373 22 404 665
>
> www.addgrup.com
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20210301/a05d3437/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 2877 bytes
Desc: not available
URL: <http://mm.icann.org/pipermail/tz/attachments/20210301/a05d3437/image001-0001.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 82945 bytes
Desc: not available
URL: <http://mm.icann.org/pipermail/tz/attachments/20210301/a05d3437/image002-0001.png>


More information about the tz mailing list