-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
Describe the bug, including details regarding any error messages, version, and platform.
I released tzdb 0.4.0 last week and got this report:
r-lib/tzdb#33
I also see this on arrow's CRAN windows builds:
https://cran.r-project.org/web/checks/check_results_arrow.html
I was able to reproduce this:
- With CRAN arrow
- With tzdb 0.4.0
- On Windows
> library(arrow)
#STDOFF 2:05:08.9
#STDOFF 8:05:43.2
#STDOFF 7:36:41.7
#STDOFF -0:25:21.1
#STDOFF 1:39:49.2
#STDOFF -0:36:44.68
#STDOFF -4:56:01.6
#STDOFF -3:58:29.2
#STDOFF -4:19:18.3
#STDOFF -5:36:13.3
#STDOFF -4:56:16.4
#STDOFF 2:05:08.9
#STDOFF 8:05:43.2
#STDOFF 7:36:41.7
#STDOFF -0:25:21.1
#STDOFF 1:39:49.2
#STDOFF -0:36:44.68
#STDOFF -4:56:01.6
#STDOFF -3:58:29.2
#STDOFF -4:19:18.3
#STDOFF -5:36:13.3
#STDOFF -4:56:16.4The issue is that the time zone database (https://github.com/eggert/tz) that gets updated regularly had an update that was incompatible with the <date> library's tz.cpp file. Howard patched it quickly here (HowardHinnant/date@22ceabf) but it means that if you use the text tzdata at or newer than 2022b then you'll see these messages until you update tz.cpp.
tzdb 0.4.0 included two things:
- An update of the tzdata to 2023c
- An update of the date files, i.e.
tz.cpp
Because both were updated at once, I didn't see any incompatibility issues and anyone who links to tzdb won't either (like clock and readr and vroom).
However, it seems like arrow uses:
- tzdb's text tzdata
- arrow's copy of
tz.cpphttps://github.com/apache/arrow/blob/2d76d9a526f9827283bb7dfac60715b6ad4aec34/cpp/src/arrow/vendored/datetime/tz.cpp
Because tz.cpp isn't updated, when people update to tzdb 0.4.0 they start seeing these messages.
I think the solution is to just update your vendored copy of the date library files, but I'm not completely sure. If you can reproduce on your own Windows machines, then maybe try updating your vendored copy of date and see if the messages go away?
Component(s)
R