Re: The time_zone tests that fail

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/12/25 14:06, Jonathan Wakely wrote:
On Wed, 12 Mar 2025 at 17:52, Dennis Clarke wrote:
This is a default out of the box install of Devuan Linux which is just a
really fantastic Linux distro based on the Debian goodness. ....

Please don't. Nobody cares if you incorrectly think ...

Sorry ... won't happen again.


I see from your follow-up that it fixed your original issue. I'm still
curious why all the C++ time zone tests fail. Do you have an
incomplete/modified tzdata file on the system? If no tzdata files are
found, then a bundled copy of tzdata should get used, so if they're
failing that suggests your system does have the data but it's
incomplete.

Could you please look in the
x86_64-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log file and
search for ^FAIL and see what the errors are?

t$ find . -type f -name libstdc++.log
./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
t$
t$ wc -l ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
115033 ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
t$

Yikes .... 115033 lines.

t$
t$ grep '^FAIL' ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
FAIL: std/time/time_zone/get_info_local.cc  -std=gnu++20 execution test
FAIL: std/time/time_zone/get_info_local.cc  -std=gnu++26 execution test
FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++20 execution test
FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++26 execution test
FAIL: std/time/tzdb/1.cc  -std=gnu++20 execution test
FAIL: std/time/tzdb/1.cc  -std=gnu++26 execution test
FAIL: std/time/exceptions.cc  -std=gnu++20 execution test
FAIL: std/time/exceptions.cc  -std=gnu++26 execution test
FAIL: std/time/zoned_time/1.cc  -std=gnu++20 execution test
FAIL: std/time/zoned_time/1.cc  -std=gnu++26 execution test
FAIL: std/time/zoned_time/custom.cc  -std=gnu++20 execution test
FAIL: std/time/zoned_time/custom.cc  -std=gnu++26 execution test
FAIL: std/time/zoned_time/io.cc  -std=gnu++20 execution test
FAIL: std/time/zoned_time/io.cc  -std=gnu++26 execution test
FAIL: libstdc++-prettyprinters/chrono.cc execution test
FAIL: libstdc++-prettyprinters/chrono.cc execution test
t$

No idea why these are failing.

Look in the log, it will tell you. All you've shown is that they fail,
which was already in the gcc-testresults email.

Search for ^FAIL in the file and look at the lines surrounding it.
They're probably all failing for the same reason.


Alrighty then .. we have something here :

t$
t$ grep -n '^FAIL' ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
27145:FAIL: std/time/time_zone/get_info_local.cc -std=gnu++20 execution test 27157:FAIL: std/time/time_zone/get_info_local.cc -std=gnu++26 execution test
47161:FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++20 execution test
47173:FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++26 execution test
47204:FAIL: std/time/tzdb/1.cc  -std=gnu++20 execution test
47215:FAIL: std/time/tzdb/1.cc  -std=gnu++26 execution test
87928:FAIL: std/time/exceptions.cc  -std=gnu++20 execution test
87942:FAIL: std/time/exceptions.cc  -std=gnu++26 execution test
88813:FAIL: std/time/zoned_time/1.cc  -std=gnu++20 execution test
88827:FAIL: std/time/zoned_time/1.cc  -std=gnu++26 execution test
88839:FAIL: std/time/zoned_time/custom.cc  -std=gnu++20 execution test
88851:FAIL: std/time/zoned_time/custom.cc  -std=gnu++26 execution test
88875:FAIL: std/time/zoned_time/io.cc  -std=gnu++20 execution test
88887:FAIL: std/time/zoned_time/io.cc  -std=gnu++26 execution test
102909:FAIL: libstdc++-prettyprinters/chrono.cc execution test
103859:FAIL: libstdc++-prettyprinters/chrono.cc execution test
t$

I will drag out the first FAIL there :

t$ head -27145 ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log | tail -7 PASS: std/time/time_zone/get_info_local.cc -std=gnu++20 (test for excess errors) Setting LD_LIBRARY_PATH to :/opt/bw/build/gcc-14.2.0_linux_xeon.003/gcc:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libatomic/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libgomp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/src/.libs::/opt/bw/build/gcc-14.2.0_linux_xeon.003/gcc:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libatomic/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libgomp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./gmp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-gmp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./mpfr/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-mpfr/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./mpc/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-mpc/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./isl/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-isl/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libstdc++-v3/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libsanitizer/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libvtv/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libssp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libgomp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libitm/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libatomic/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./gcc:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-gcc
Execution timeout is: 300
spawn [open ...]
terminate called after throwing an instance of 'std::runtime_error'
  what():  std::chrono::tzdb: cannot locate zone: Europe/London
FAIL: std/time/time_zone/get_info_local.cc  -std=gnu++20 execution test
t$


OKay, so the timezone Europe/London is absent somewhere?

t$
t$ ls -l /usr/share/zoneinfo/Europe/London
-rw-r--r-- 1 root root 3664 Nov 23 14:04 /usr/share/zoneinfo/Europe/London
t$


Seems to exist on the machine.


So that is baffling.

I will drag out the others but I am guessing they all say "cannot locate" some timezone data somehow.

terminate called after throwing an instance of 'std::runtime_error'
  what():  std::chrono::tzdb: cannot locate zone: Europe/Zurich
FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++20 execution test


Execution timeout is: 300
spawn [open ...]
/opt/bw/build/gcc-14.2.0/libstdc++-v3/testsuite/std/time/tzdb/1.cc:18: void test_version(): Assertion 'db.version == remote_version()' failed.
FAIL: std/time/tzdb/1.cc  -std=gnu++26 execution test

Hold the phone .... execution timeout ?



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux