Skip to content
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

t/dateformats.t fails on 32bit arm #349

Closed
Grimler91 opened this issue Nov 17, 2020 · 3 comments
Closed

t/dateformats.t fails on 32bit arm #349

Grimler91 opened this issue Nov 17, 2020 · 3 comments

Comments

@Grimler91
Copy link

Grimler91 commented Nov 17, 2020

Hi, the dateformat tests are failing when I try to install biber on android arm. On android aarch64 (arm 64bit) the installation and tests succeeds without problems.

The full output I get when trying to install with cpanm --verbose is:

cpanm (App::cpanminus) 1.7044 on perl 5.032000 built for arm-android
Work directory is /data/data/com.termux/files/home/.cpanm/work/1605646614.4343
You have make /data/data/com.termux/files/usr/bin/make
You have LWP 6.46
You have /data/data/com.termux/files/usr/bin/tar: tar (GNU tar) 1.32
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /data/data/com.termux/files/usr/bin/unzip
Entering /data/data/com.termux/files/home/projects/biber
Checking if you have Module::Build 0.38 ... Yes (0.4231)
Checking if you have ExtUtils::Install 1.46 ... Yes (2.14)
Running Build.PL
--> Working on .
Configuring /data/data/com.termux/files/home/projects/biber ... WARNING: the following files are missing in your kit:
	META.json
	META.yml
Please inform the author.

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'biblatex-biber' version '2.16'
Checking dependencies from MYMETA.json ...
Checking if you have IPC::Run3 0 ... Yes (0.048)
Checking if you have Text::CSV 0 ... Yes (2.00)
Checking if you have Mozilla::CA 20160104 ... Yes (20200520)
Checking if you have Encode::HanExtra 0 ... Yes (0.23)
Checking if you have Config::AutoConf 0.15 ... Yes (0.318)
Checking if you have File::Which 0 ... Yes (1.23)
Checking if you have Text::BibTeX 0.88 ... Yes (0.88)
Checking if you have Parse::RecDescent 0 ... Yes (1.967015)
Checking if you have XML::Writer 0 ... Yes (0.625)
Checking if you have Unicode::GCString 0 ... Yes (2013.10)
Checking if you have Encode::JIS2K 0 ... Yes (0.03)
Checking if you have List::AllUtils 0 ... Yes (0.16)
Checking if you have DateTime::Format::Builder 0 ... Yes (0.82)
Checking if you have Encode::EUCJPASCII 0 ... Yes (0.03)
Checking if you have Encode::Locale 0 ... Yes (1.05)
Checking if you have Unicode::LineBreak 2019.001 ... Yes (2019.001)
Checking if you have Class::Accessor 0 ... Yes (0.51)
Checking if you have Unicode::Collate 1.27 ... Yes (1.27)
Checking if you have Test::Differences 0 ... Yes (0.67)
Checking if you have IPC::Cmd 0 ... Yes (1.04)
Checking if you have Business::ISMN 0 ... Yes (1.201)
Checking if you have Storable 0 ... Yes (3.21)
Checking if you have Regexp::Common 0 ... Yes (2017060201)
Checking if you have URI 0 ... Yes (1.76)
Checking if you have Data::Compare 0 ... Yes (1.27)
Checking if you have IO::String 0 ... Yes (1.08)
Checking if you have Lingua::Translit 0.28 ... Yes (0.28)
Checking if you have XML::LibXML::Simple 0 ... Yes (1.01)
Checking if you have Test::More 0 ... Yes (1.302175)
Checking if you have List::MoreUtils::XS 0 ... Yes (0.428)
Checking if you have List::MoreUtils 0 ... Yes (0.428)
Checking if you have ExtUtils::LibBuilder 0.02 ... Yes (0.08)
Checking if you have LWP::UserAgent 0 ... Yes (6.46)
Checking if you have Business::ISSN 0 ... Yes (1.004)
Checking if you have DateTime::Calendar::Julian 0 ... Yes (0.102)
Checking if you have Unicode::Normalize 1.26 ... Yes (1.27)
Checking if you have File::Slurper 0 ... Yes (0.012)
Checking if you have XML::LibXSLT 0 ... Yes (1.99)
Checking if you have XML::LibXML 1.7 ... Yes (2.0205)
Checking if you have Log::Log4perl 0 ... Yes (1.50)
Checking if you have LWP::Protocol::https 0 ... Yes (6.09)
Checking if you have Sort::Key 0 ... Yes (1.33)
Checking if you have Business::ISBN 0 ... Yes (3.005)
Checking if you have Text::Roman 0 ... Yes (3.5)
Checking if you have Text::CSV_XS 0 ... Yes (1.44)
Checking if you have Data::Uniqid 0 ... Yes (0.12)
Checking if you have Data::Dump 0 ... Yes (1.23)
Checking if you have PerlIO::utf8_strict 0 ... Yes (0.007)
Checking if you have autovivification 0 ... Yes (0.18)
OK
Building and testing biblatex-biber-2.16 ... Building biblatex-biber
t/annotations.t ........... ok
t/basic-misc.t ............ ok
t/bcfvalidation.t ......... ok
t/biblatexml.t ............ ok
t/bibtex-aliases.t ........ ok
t/bibtex-output.t ......... ok
t/configfile.t ............ ok
t/crossrefs.t ............. ok
t/datalists.t ............. ok

#   Failed test 'Date meta information - 1'
#   at t/dateformats.t line 883.
# --- Got
# +++ Expected
# @@ -1,32 +1,32 @@
#  '    \\entry{era1}{article}{}
#        \\name{author}{1}{}{%
#          {{hash=556c8dba145b472e6a8598d506f7cbe2}{%
#             family={Smith},
#             familyi={S\\bibinitperiod},
#             given={Alan},
#             giveni={A\\bibinitperiod}}}%
#        }
#        \\strng{namehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{fullhash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{bibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorbibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authornamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2}
# -      \\field{extraname}{10}
# +      \\field{extraname}{9}
#        \\field{sortinit}{S}
#        \\field{sortinithash}{c319cff79d99c853d775f88277d4e45f}
#        \\field{extradatescope}{labelyear}
#        \\field{labeldatesource}{}
#        \\field{labelnamesource}{author}
#        \\field{labeltitlesource}{title}
#        \\field{journaltitle}{Journal Title}
#        \\field{month}{2}
#        \\field{origendyear}{219}
#        \\field{origyear}{221}
#        \\field{title}{Title}
#        \\field{year}{379}
#        \\field{dateera}{bce}
#        \\field{origenddateera}{bce}
#        \\field{origdateera}{bce}
#      \\endentry
#  '

#   Failed test 'Date meta information - 2'
#   at t/dateformats.t line 884.
# --- Got
# +++ Expected
# @@ -1,33 +1,33 @@
#  '    \\entry{era2}{inproceedings}{}
#        \\name{author}{1}{}{%
#          {{hash=556c8dba145b472e6a8598d506f7cbe2}{%
#             family={Smith},
#             familyi={S\\bibinitperiod},
#             given={Alan},
#             giveni={A\\bibinitperiod}}}%
#        }
#        \\strng{namehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{fullhash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{bibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorbibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authornamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2}
# -      \\field{extraname}{11}
# +      \\field{extraname}{10}
#        \\field{sortinit}{S}
#        \\field{sortinithash}{c319cff79d99c853d775f88277d4e45f}
#        \\field{extradatescope}{labelyear}
#        \\field{labeldatesource}{}
#        \\field{labelnamesource}{author}
#        \\field{labeltitlesource}{title}
#        \\field{booktitle}{Book Title}
#        \\field{eventyear}{249}
#        \\field{origendyear}{44}
#        \\field{origyear}{49}
#        \\field{title}{Title}
#        \\field{year}{197}
#        \\field{dateera}{bce}
#        \\field{eventdateera}{bce}
#        \\field{origenddateera}{bce}
#        \\field{origdateera}{bce}
#      \\endentry
#  '

#   Failed test 'Date meta information - 3'
#   at t/dateformats.t line 885.
# --- Got
# +++ Expected
# @@ -1,33 +1,33 @@
#  '    \\entry{era3}{inproceedings}{}
#        \\name{author}{1}{}{%
#          {{hash=556c8dba145b472e6a8598d506f7cbe2}{%
#             family={Smith},
#             familyi={S\\bibinitperiod},
#             given={Alan},
#             giveni={A\\bibinitperiod}}}%
#        }
#        \\strng{namehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{fullhash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{bibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorbibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authornamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2}
# -      \\field{extraname}{12}
# +      \\field{extraname}{11}
#        \\field{sortinit}{S}
#        \\field{sortinithash}{c319cff79d99c853d775f88277d4e45f}
#        \\field{extradatescope}{labelyear}
#        \\field{labeldatesource}{}
#        \\field{labelnamesource}{author}
#        \\field{labeltitlesource}{title}
#        \\field{booktitle}{Book Title}
#        \\field{eventday}{2}
#        \\field{eventmonth}{3}
#        \\field{eventyear}{250}
#        \\field{month}{2}
#        \\field{title}{Title}
#        \\field{year}{196}
#        \\field{dateera}{bce}
#        \\true{eventdatejulian}
#        \\field{eventdateera}{ce}
#      \\endentry
#  '

#   Failed test 'Date meta information - 4'
#   at t/dateformats.t line 886.
# --- Got
# +++ Expected
# @@ -1,41 +1,41 @@
#  '    \\entry{era4}{inproceedings}{}
#        \\name{author}{1}{}{%
#          {{hash=556c8dba145b472e6a8598d506f7cbe2}{%
#             family={Smith},
#             familyi={S\\bibinitperiod},
#             given={Alan},
#             giveni={A\\bibinitperiod}}}%
#        }
#        \\strng{namehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{fullhash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{bibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorbibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authornamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2}
# -      \\field{extraname}{5}
# +      \\field{extraname}{6}
#        \\field{sortinit}{S}
#        \\field{sortinithash}{c319cff79d99c853d775f88277d4e45f}
#        \\field{extradatescope}{labelyear}
#        \\field{labeldatesource}{}
#        \\field{labelnamesource}{author}
#        \\field{labeltitlesource}{title}
#        \\field{booktitle}{Book Title}
#        \\field{eventyear}{1565}
#        \\field{origendyear}{1488}
#        \\field{origyear}{1487}
#        \\field{title}{Title}
#        \\field{urlendyear}{1490}
#        \\field{urlyear}{1487}
#        \\field{year}{1034}
#        \\true{datecirca}
#        \\field{dateera}{ce}
#        \\true{eventdateuncertain}
#        \\field{eventdateera}{ce}
#        \\true{origenddatecirca}
#        \\field{origenddateera}{ce}
#        \\field{origdateera}{ce}
#        \\true{urldatecirca}
#        \\field{urlenddateera}{ce}
#        \\field{urldateera}{ce}
#      \\endentry
#  '

#   Failed test 'Range - 1'
#   at t/dateformats.t line 889.
# --- Got
# +++ Expected
# @@ -1,40 +1,40 @@
#  '    \\entry{range1}{inproceedings}{}
#        \\name{author}{1}{}{%
#          {{hash=556c8dba145b472e6a8598d506f7cbe2}{%
#             family={Smith},
#             familyi={S\\bibinitperiod},
#             given={Alan},
#             giveni={A\\bibinitperiod}}}%
#        }
#        \\strng{namehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{fullhash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{bibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorbibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authornamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2}
# -      \\field{extraname}{6}
# +      \\field{extraname}{7}
#        \\field{sortinit}{S}
#        \\field{sortinithash}{c319cff79d99c853d775f88277d4e45f}
#        \\field{extradate}{1}
#        \\field{extradatescope}{labelyear}
#        \\field{labeldatesource}{}
#        \\field{labelnamesource}{author}
#        \\field{labeltitlesource}{title}
#        \\field{booktitle}{Book Title}
#        \\field{endyear}{}
#        \\field{eventendyear}{}
#        \\field{eventyear}{1565}
#        \\field{origendyear}{}
#        \\field{origyear}{2000}
#        \\field{title}{Title}
#        \\field{urlendyear}{1034}
#        \\field{urlyear}{}
#        \\field{year}{1034}
#        \\true{enddateunknown}
#        \\field{dateera}{ce}
#        \\field{eventdateera}{ce}
#        \\field{origdateera}{ce}
#        \\true{urldateunknown}
#        \\field{urlenddateera}{ce}
#      \\endentry
#  '

#   Failed test 'Range - 2'
#   at t/dateformats.t line 890.
# --- Got
# +++ Expected
# @@ -1,40 +1,40 @@
#  '    \\entry{range2}{inproceedings}{}
#        \\name{author}{1}{}{%
#          {{hash=556c8dba145b472e6a8598d506f7cbe2}{%
#             family={Smith},
#             familyi={S\\bibinitperiod},
#             given={Alan},
#             giveni={A\\bibinitperiod}}}%
#        }
#        \\strng{namehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{fullhash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{bibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorbibnamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authornamehash}{556c8dba145b472e6a8598d506f7cbe2}
#        \\strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2}
# -      \\field{extraname}{7}
# +      \\field{extraname}{8}
#        \\field{sortinit}{S}
#        \\field{sortinithash}{c319cff79d99c853d775f88277d4e45f}
#        \\field{extradate}{2}
#        \\field{extradatescope}{labelyear}
#        \\field{labeldatesource}{}
#        \\field{labelnamesource}{author}
#        \\field{labeltitlesource}{title}
#        \\field{booktitle}{Book Title}
#        \\field{endyear}{}
#        \\field{eventendyear}{1565}
#        \\field{eventyear}{}
#        \\field{origendyear}{2000}
#        \\field{origyear}{}
#        \\field{title}{Title}
#        \\field{urlendyear}{1034}
#        \\field{urlyear}{}
#        \\field{year}{1034}
#        \\true{enddateunknown}
#        \\field{dateera}{ce}
#        \\field{eventenddateera}{ce}
#        \\field{origenddateera}{ce}
#        \\true{urldateunknown}
#        \\field{urlenddateera}{ce}
#      \\endentry
#  '

#   Failed test 'Extended years - 1'
#   at t/dateformats.t line 907.
# --- Got
# +++ Expected
# @@ -1 +1 @@
# --638829
# +17000002

#   Failed test 'Extended years - 2'
#   at t/dateformats.t line 908.
# --- Got
# +++ Expected
# @@ -1 +1 @@
# --5240781
# +-17000002
# Looks like you failed 8 tests of 53.
t/dateformats.t ........... 
Dubious, test returned 8 (wstat 2048, 0x800)
Failed 8/53 subtests 
t/dm-constraints.t ........ ok
t/encoding.t .............. ok
t/extradate.t ............. ok
t/extratitle.t ............ ok
t/extratitleyear.t ........ ok
t/full-bbl.t .............. skipped: BIBER_DEV_TESTS not set
t/full-bblxml.t ........... skipped: BIBER_DEV_TESTS not set
t/full-bibtex.t ........... skipped: BIBER_DEV_TESTS not set
t/full-dot.t .............. skipped: BIBER_DEV_TESTS not set
t/labelalpha.t ............ ok
t/labelalphaname.t ........ ok
t/labelname.t ............. ok
t/langtags.t .............. ok
t/maps.t .................. ok
t/names.t ................. ok
t/names_x.t ............... ok
t/options.t ............... ok
t/related-entries.t ....... ok
t/remote-files.t .......... skipped: BIBER_DEV_TESTS not set
t/sections-complex.t ...... ok
t/sections.t .............. ok
t/set-dynamic.t ........... ok
t/set-legacy.t ............ ok
t/set-static.t ............ ok
t/skips.t ................. ok
t/skipsg.t ................ ok
t/sort-case.t ............. ok
t/sort-complex.t .......... ok
t/sort-names.t ............ ok
t/sort-order.t ............ ok
t/sort-uc.t ............... ok
t/sorting.t ............... ok
t/tool-bltxml-inout.t ..... ok
t/tool-bltxml.t ........... ok
t/tool-config.t ........... ok
t/tool.t .................. ok
t/translit.t .............. ok
t/truncation.t ............ ok
t/uniqueness-nameparts.t .. ok
t/uniqueness.t ............ ok
t/utils.t ................. ok
t/xdata.t ................. ok

Test Summary Report
-------------------
t/dateformats.t         (Wstat: 2048 Tests: 53 Failed: 8)
  Failed tests:  33-38, 45-46
  Non-zero exit status: 8
Files=52, Tests=1237, 595 wallclock secs ( 1.11 usr  0.28 sys + 541.72 cusr 21.20 csys = 564.31 CPU)
Result: FAIL
Failed 1/52 test programs. 8/1237 subtests failed.
! Installing . failed. See /data/data/com.termux/files/home/.cpanm/work/1605646614.4343/build.log for details. Retry with --force to force install it.
FAIL

I managed to install biber 2.13 or 2.14 on the same platform without problems around a year ago or so, but when I try these versions now I get the same errors from the dateformats test.
I guess this indicates that there is something in a dependency that has changed rather than in biber. Do you have any suggestions how I can investigate it further?

Please let me know if I can provide any more information, or if there is anything I can try.

@moewew
Copy link
Contributor

moewew commented Nov 17, 2020

I'd have to double check, but I think I'm getting the same errors when building on 32bit Linux. I always assumed this would be due to integer overflow in the Extended years. If the integers overflow in a way that alters the sorting of the test entries that would also explain the wrong extraname values. For now I've always ignored these test failures.

Maybe we could try and use year examples that work for both 32-bit and 64-bit integers.

@plk
Copy link
Owner

plk commented Nov 18, 2020

Yes, this is 32/64 int differences I think which means that the failure is harmless since the reference data for the tests assumes 64-bit.

@Grimler91
Copy link
Author

I'd have to double check, but I think I'm getting the same errors when building on 32bit Linux

Thanks, I assumed the error happened due to my platform (android arm), but apparently not then!

Yes, this is 32/64 int differences I think which means that the failure is harmless since the reference data for the tests assumes 64-bit.

Alright, thanks, then I'll just ignore this test failure.

Feel free to close the issue (or leave it open if you want to update the tests to work on 32bit as well).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants