New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid time zone (+08). Falling back to displacement [CORE6520] #6749
Comments
Commented by: Basil A. Sidorov (basid) CentOS 7 is fully updated (yum update and reboot before install FB). |
Modified by: @asfernandesassignee: Adriano dos Santos Fernandes [ asfernandes ] |
Commented by: @asfernandes Does firebird.conf have any custom DefaultTimeZone config? |
Commented by: Basil A. Sidorov (basid) Firebird only installed without any configuration, but ... System info: tzdata.noarch 2021a-1.el7 @updates Firebird info: |
Commented by: @asfernandes Tzdata version from RC1 should be 2021a. Why your is 2018e? Did you queries with select rdb$time_zone_util.database_version() from rdb$database ? |
Commented by: Basil A. Sidorov (basid) Yes, "Firebird info" - is result of select from firebird system table. |
Commented by: @asfernandes Do you have ICU_TIMEZONE_FILES_DIR environment variable set? |
Commented by: Basil A. Sidorov (basid) Yes: |
Commented by: @asfernandes Please show exactly file sizes in bytes of files present in /opt/firebird/tzdata/ Also, what is the result if you remove that env. var. (and reboot)? |
Commented by: Basil A. Sidorov (basid) ls -l /opt/firebird/tzdata/ ICU_TIMEZONE_FILES_DIR is automatically set by firebird, not in unit: [Service] [Install] |
Commented by: @asfernandes Does the problem happens both with localhost protocol and embedded? |
Commented by: Basil A. Sidorov (basid) Local protocol - not applicable: process firebird started already and message already written. Embedded - yes, but only on very first open of any database. connect 'employee' user sysdba; commit; select rdb$time_zone_util.database_version() from rdb$database; -- output on my system (some empty line insterted and removed for better formatting) top - 17:30:13 up 36 min, 1 user, load average: 0.05, 0.03, 0.05 Thu Mar 25 17:30:13 +08 2021 ICU_TIMEZONE_FILES_DIR=/opt/firebird/tzdata Server version: vm-centos-7.local Thu Mar 25 17:30:13 2021 DATABASE_VERSION 2018e RDB$TIME_ZONE_ID 65260 RDB$START_TIMESTAMP 2014-10-25 17:00:00.0000 GMT |
Commented by: Basil A. Sidorov (basid) If change time zone on Europe/Moscow - message "Invalid timezone ..." are disappear, but Firebird tzdb version not changed (2018e). |
Commented by: @asfernandes How did you install libncurses.6 in CentOS 7? I'm trying to test with docker, but was not able to install it. With docker and CentOS 8 I had no problem. |
Commented by: @asfernandes Looks like ICU 50 is too old and cannot open tzdata present in firebird. You should probably update it if possible. |
Commented by: Basil A. Sidorov (basid) FB4-RC1 build 2353 not installed on "older" linuxes (CentOS 7, Ubuntu 18 and so on) without modification http://install.sh and manual creating symlink libncurses.so.6 on libncurses.so.5 (fixed in CORE6516 and nightly build). |
Commented by: @asfernandes I tried a lot to debug the problem but this system is full of old tools. Compilers present on its repositories does not build Firebird and ICU. |
Commented by: @asfernandes Your tzdata package has nothing to do with ICU tzdata. Generally, OS repositories seems to not update ICU tzdata. It's why we deploy updated tzdata. But looks like the ICU version you had does not understand ICU_TIMEZONE_FILES_DIR and also does not have internal API u_setTimeZoneFilesDirectory so it does not read Firebird tzdata. |
Commented by: Sean Leyne (seanleyne) Adriano, Your comments and the details of this ticket raise concerns about the 'stability' of the feature. It seems very 'brittle', dependent external functionality which will make support/debugging of same very difficult. It suggest that It seems that the engine install should incorporate a minimal ICU footprint as a plug-in/library or Firebird sub-folder, to isolate the engine from the overall system environment and engine the best user experience. |
Commented by: @AlexPeshkoff Sean, I disagree with your suggestion. If we want to provide support to old OSes use of docker appears much better approach than adding everything to firebird package. |
Commented by: @dyemanov Do you see something bad in treating +08 equal to +08:00 in TimeZoneUtil::parse(), as a workaround? |
Commented by: @AlexPeshkoff At the first glance it's OK, the only hazard - compatibility with a lot of previous datetime formats should be checked. |
Commented by: Basil A. Sidorov (basid) "Docker as solution" - bad idea. |
Commented by: @asfernandes > Do you see something bad in treating +08 equal to +08:00 in TimeZoneUtil::parse(), as a workaround? It looks ok. |
Commented by: @asfernandes Yes, docker, flatpak, snap, all of them may work. |
Commented by: @asfernandes > > Do you see something bad in treating +08 equal to +08:00 in TimeZoneUtil::parse(), as a workaround? I mean, only for detect default time zone. Not to allow user time zones in this way, as that we were allowing and now disallowing. |
Commented by: @dyemanov Sure, this is what i meant. |
Modified by: @asfernandesstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 4.0.0 [ 10931 ] |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Resolved [ 5 ] QA Status: No test => Cannot be tested |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: Basil A. Sidorov (basid)
CentOS Linux release 7.9.2009 (Core)
LI-V4.0.0.2390 Firebird 4.0 Release Candidate 1
--
ls -lhF /opt/firebird/tzdata/
total 244K
-r--r--r--. 1 root root 41K Mar 22 09:32 metaZones.res
-r--r--r--. 1 root root 20K Mar 22 09:32 timezoneTypes.res
-r--r--r--. 1 root root 23K Mar 22 09:32 windowsZones.res
-r--r--r--. 1 root root 153K Mar 22 09:32 zoneinfo64.res
--
timedatectl status
Local time: Mon 2021-03-22 17:04:57 +08
Universal time: Mon 2021-03-22 09:04:57 UTC
RTC time: Mon 2021-03-22 09:04:57
Time zone: Asia/Irkutsk (+08, +0800)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
firebird.log:
--
vm-centos-7.local Mon Mar 22 17:05:23 2021
/opt/firebird/bin/fbguard: guardian starting /opt/firebird/bin/firebird
vm-centos-7.local Mon Mar 22 17:05:23 2021
Invalid time zone (+08). Falling back to displacement.
--
Commits: 73a26f6
The text was updated successfully, but these errors were encountered: