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

Two test failures on armv7hl #3492

Closed
QuLogic opened this issue Apr 8, 2019 · 6 comments · Fixed by #4165
Closed

Two test failures on armv7hl #3492

QuLogic opened this issue Apr 8, 2019 · 6 comments · Fixed by #4165

Comments

@QuLogic
Copy link
Contributor

QuLogic commented Apr 8, 2019

Two tests fail on armv7hl with 1.12.2, when they didn't on 1.12.0, tests 1018 and 1737.5:

Running the tests in 'tests/main.R' failed.
Last 13 lines of output:
   3: 1848  6.522     1
   4: 1835  6.181     1
   5: 1912  5.300     2
   6: 1223  4.036   728
   7:  861  3.794     1
   8: 1639  3.770   143
   9: 1253  3.723   485
  10: 1779  3.067    13
  
  Error in test.data.table() : 
    2 errors out of 6578 in 00:02:16 elapsed (00:02:02 cpu) on Mon Apr  8 03:08:59 2019. [endian==little, sizeof(long double)==8, sizeof(pointer)==4, TZ=NA, locale='C', l10n_info()='MBCS=FALSE; UTF-8=FALSE; Latin-1=FALSE', getDTthreads()='omp_get_num_procs()==4; R_DATATABLE_NUM_PROCS_PERCENT=="" (default 50); R_DATATABLE_NUM_THREADS==""; omp_get_thread_limit()==2147483647; omp_get_max_threads()==4; OMP_THREAD_LIMIT==""; OMP_NUM_THREADS==""; data.table is using 2 threads. This is set on startup, and by setDTthreads(). See ?setDTthreads.; RestoreAfterFork==true']. Search tests/tests.Rraw for test numbers: 1018, 1737.5.
  In addition: Warning message:
  In parse(n = -1, file = file, srcfile = NULL, keep.source = FALSE) :
    invalid input found on input connection '/builddir/build/BUILD/data.table/data.table.Rcheck/data.table/tests/tests.Rraw'

Minimal reproducible example

$ _R_CHECK_FORCE_SUGGESTS_=0 R CMD check data.table

(xts and nanotime are not packaged yet, so I need to skip the Suggests check.)

Output of sessionInfo()

I can't get this exactly because it's on a builder. The closest I can do is the output from a local build (though platform will be different of course):

R version 3.5.3 (2019-03-11)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Fedora 31 (Rawhide)

Matrix products: default
BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so

locale:
 [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
 [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
 [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
[10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.5.3
@jangorecki
Copy link
Member

jangorecki commented Apr 22, 2019

This is not strictly related to issue you reported, but your R CMD check is performed in inappropriate way. Packages should be checked against tar.gz archive, not a directory.


Tests that are failing:

test(1018, identical(fread("1.46761e-313\n"), data.table(V1=1.46761e-313)))
test(1737.5, fwrite(list(1.2,B=c("foo","bar"))), error="Column 2's length (2) is not the same as column 1's length (1)")

This reports sizeof(long double)==8.

Important part from build log:

BUILDSTDERR: freadLookups.h:725:1: warning: floating constant exceeds range of 'long double' [-Woverflow]
BUILDSTDERR:   725 | 1.0E344L,
BUILDSTDERR:       | ^~~~~~~~

log below, in case it would expire and got removed from url

build log ... + cd data.table + mkdir -p /builddir/build/BUILDROOT/R-data.table-1.12.2-1.fc31.arm/usr/lib/R/library + /usr/bin/R CMD INSTALL -l /builddir/build/BUILDROOT/R-data.table-1.12.2-1.fc31.arm/usr/lib/R/library data.table BUILDSTDERR: * installing *source* package 'data.table' ... BUILDSTDERR: ** package 'data.table' successfully unpacked and MD5 sums checked BUILDSTDERR: ** libs gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c assign.c -o assign.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c between.c -o between.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c bmerge.c -o bmerge.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c chmatch.c -o chmatch.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c dogroups.c -o dogroups.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fastmean.c -o fastmean.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fcast.c -o fcast.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fmelt.c -o fmelt.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c forder.c -o forder.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c frank.c -o frank.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fread.c -o fread.o BUILDSTDERR: In file included from fread.c:28: BUILDSTDERR: freadLookups.h:31:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 31 | 1.0E-350L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:32:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 32 | 1.0E-349L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:33:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 33 | 1.0E-348L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:34:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 34 | 1.0E-347L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:35:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 35 | 1.0E-346L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:36:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 36 | 1.0E-345L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:37:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 37 | 1.0E-344L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:38:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 38 | 1.0E-343L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:39:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 39 | 1.0E-342L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:40:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 40 | 1.0E-341L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:41:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 41 | 1.0E-340L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:42:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 42 | 1.0E-339L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:43:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 43 | 1.0E-338L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:44:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 44 | 1.0E-337L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:45:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 45 | 1.0E-336L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:46:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 46 | 1.0E-335L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:47:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 47 | 1.0E-334L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:48:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 48 | 1.0E-333L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:49:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 49 | 1.0E-332L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:50:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 50 | 1.0E-331L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:51:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 51 | 1.0E-330L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:52:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 52 | 1.0E-329L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:53:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 53 | 1.0E-328L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:54:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 54 | 1.0E-327L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:55:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 55 | 1.0E-326L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:56:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 56 | 1.0E-325L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:57:1: warning: floating constant truncated to zero [-Woverflow] BUILDSTDERR: 57 | 1.0E-324L, BUILDSTDERR: | ^~~~~~~~~ BUILDSTDERR: freadLookups.h:690:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 690 | 1.0E309L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:691:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 691 | 1.0E310L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:692:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 692 | 1.0E311L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:693:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 693 | 1.0E312L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:694:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 694 | 1.0E313L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:695:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 695 | 1.0E314L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:696:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 696 | 1.0E315L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:697:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 697 | 1.0E316L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:698:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 698 | 1.0E317L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:699:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 699 | 1.0E318L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:700:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 700 | 1.0E319L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:701:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 701 | 1.0E320L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:702:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 702 | 1.0E321L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:703:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 703 | 1.0E322L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:704:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 704 | 1.0E323L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:705:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 705 | 1.0E324L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:706:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 706 | 1.0E325L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:707:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 707 | 1.0E326L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:708:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 708 | 1.0E327L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:709:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 709 | 1.0E328L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:710:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 710 | 1.0E329L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:711:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 711 | 1.0E330L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:712:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 712 | 1.0E331L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:713:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 713 | 1.0E332L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:714:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 714 | 1.0E333L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:715:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 715 | 1.0E334L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:716:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 716 | 1.0E335L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:717:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 717 | 1.0E336L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:718:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 718 | 1.0E337L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:719:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 719 | 1.0E338L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:720:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 720 | 1.0E339L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:721:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 721 | 1.0E340L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:722:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 722 | 1.0E341L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:723:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 723 | 1.0E342L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:724:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 724 | 1.0E343L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:725:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 725 | 1.0E344L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:726:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 726 | 1.0E345L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:727:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 727 | 1.0E346L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:728:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 728 | 1.0E347L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:729:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 729 | 1.0E348L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:730:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 730 | 1.0E349L, BUILDSTDERR: | ^~~~~~~~ BUILDSTDERR: freadLookups.h:731:1: warning: floating constant exceeds range of 'long double' [-Woverflow] BUILDSTDERR: 731 | 1.0E350L BUILDSTDERR: | ^~~~~~~~ gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c freadR.c -o freadR.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c froll.c -o froll.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c frollR.c -o frollR.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c frolladaptive.c -o frolladaptive.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fsort.c -o fsort.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fwrite.c -o fwrite.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c fwriteR.c -o fwriteR.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c gsumm.c -o gsumm.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c ijoin.c -o ijoin.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c init.c -o init.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c inrange.c -o inrange.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c nqrecreateindices.c -o nqrecreateindices.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c openmp-utils.c -o openmp-utils.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c quickselect.c -o quickselect.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c rbindlist.c -o rbindlist.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c reorder.c -o reorder.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c shift.c -o shift.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c subset.c -o subset.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c transpose.c -o transpose.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c uniqlist.c -o uniqlist.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c vecseq.c -o vecseq.o gcc -I"/usr/include/R" -DNDEBUG -I/usr/local/include -fopenmp -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -c wrappers.c -o wrappers.o gcc -shared -L/usr/lib/R/lib -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o data.table.so assign.o between.o bmerge.o chmatch.o dogroups.o fastmean.o fcast.o fmelt.o forder.o frank.o fread.o freadR.o froll.o frollR.o frolladaptive.o fsort.o fwrite.o fwriteR.o gsumm.o ijoin.o init.o inrange.o nqrecreateindices.o openmp-utils.o quickselect.o rbindlist.o reorder.o shift.o subset.o transpose.o uniqlist.o vecseq.o wrappers.o -fopenmp -L/usr/lib/R/lib -lR mv data.table.so datatable.so if [ "" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id datatable.so datatable.so; fi BUILDSTDERR: installing to /builddir/build/BUILDROOT/R-data.table-1.12.2-1.fc31.arm/usr/lib/R/library/data.table/libs BUILDSTDERR: ** R BUILDSTDERR: ** inst BUILDSTDERR: ** byte-compile and prepare package for lazy loading BUILDSTDERR: ** help BUILDSTDERR: *** installing help indices converting help for package 'data.table' BUILDSTDERR: finding HTML links ... done IDateTime html J html address html all.equal.data.table html as.data.table html as.data.table.xts html as.matrix html as.xts.data.table html assign html between html chmatch html copy html data.table-class html data.table html datatable-optimize html dcast.data.table html duplicated html first html foverlaps html frank html fread html froll html fsort html fwrite html groupingsets html last html like html melt.data.table html merge html na.omit.data.table html openmp-utils html patterns html print.data.table html rbindlist html rleid html rowid html set2key html setDF html setDT html setNumericRounding html setattr html setcolorder html setkey html setops html setorder html shift html shouldPrint html special-symbols html split html subset.data.table html tables html test.data.table html timetaken html transform.data.table html transpose html truelength html tstrsplit html update.dev.pkg html BUILDSTDERR: ** building package indices BUILDSTDERR: ** installing vignettes BUILDSTDERR: ** testing if installed package can be loaded BUILDSTDERR: * DONE (data.table) ```

@QuLogic
Copy link
Contributor Author

QuLogic commented Oct 17, 2019

This remains failing on 1.12.4.

@QuLogic
Copy link
Contributor Author

QuLogic commented Nov 7, 2019

This still fails with 1.12.6. Looking at main.Rout.fail, the errors are:

Running test id 1018      Test 1018 ran without errors but failed check that x equals y:
> x = identical(fread("1.46761e-313\n"), data.table(V1 = 1.46761000001807e-313)) 
First 1 of 1 (type 'logical'): 
[1] FALSE  
> y = TRUE 
First 1 of 1 (type 'logical'): 
[1] TRUE
1 element mismatch

Running test id 1737.5      Test 1737.5 didn't produce the correct error :
Expected: Column 2's length (2) is not the same as column 1's length (1)
Observed: Column 2's length (2) is not the same as column 1's length (-62484456)

First one is maybe a precision issue, and second one is weird, overflow, maybe?

@QuLogic
Copy link
Contributor Author

QuLogic commented Nov 14, 2019

1737.5 is very curious. Adding:

  warning("fwrite length %d", args.nrow);
  warning("fwrite length %d", length(VECTOR_ELT(DF, 0)));
  warning("fwrite length %d", args.nrow);
  warning("fwrite length %d", length(VECTOR_ELT(DF, 0)));
  warning("fwrite length %d", args.nrow);
  warning("fwrite length %d", length(VECTOR_ELT(DF, 0)));

right after here produces:

> fwrite(list(1.2,B=c("foo","bar")))
Error in fwrite(list(1.2, B = c("foo", "bar"))) : 
  Column 2's length (2) is not the same as column 1's length (128082888)
In addition: Warning messages:
1: In fwrite(list(1.2, B = c("foo", "bar"))) : fwrite length 78274940
2: In fwrite(list(1.2, B = c("foo", "bar"))) : fwrite length 1
3: In fwrite(list(1.2, B = c("foo", "bar"))) : fwrite length 0
4: In fwrite(list(1.2, B = c("foo", "bar"))) : fwrite length 1
5: In fwrite(list(1.2, B = c("foo", "bar"))) : fwrite length 0
6: In fwrite(list(1.2, B = c("foo", "bar"))) : fwrite length 1

which really makes no sense to me. Running in valgrind does not show any invalid access either.

@jangorecki
Copy link
Member

@QuLogic Thanks for trying to debug the issue. Do you compile also on arm64?

@QuLogic
Copy link
Contributor Author

QuLogic commented Dec 14, 2019

Yes, there's an aarch64 build also that does pass fine.

QuLogic added a commit to QuLogic/data.table that referenced this issue Jan 9, 2020
On non-x86 architectures (armv7hl and ppc64le), test 1018 fails with a
slightly differently parsed number. In base R, `R_strtod` handles small
numbers by pre-dividing numerator and divisor before applying the
exponent part (instead of dividing all together.) However, it does not
use a lookup table.

For `fread`, trim the exponent lookup table from ±350 to ±300, and if
anything is in that removed range, do two multiplications instead. This
results in approximately the same effect as in base R.

Removing some of the range from the lookup table also fixes several
warnings such as:

```
freadLookups.h:57:1: warning: floating constant truncated to zero [-Woverflow]
   57 | 1.0E-324L,
      | ^~~~~~~~~
freadLookups.h:690:1: warning: floating constant exceeds range of 'long double' [-Woverflow]
  690 | 1.0E309L,
      | ^~~~~~~~
```

See Rdatatable#3492 and Rdatatable#4032.
QuLogic added a commit to QuLogic/data.table that referenced this issue Jan 9, 2020
On non-x86 architectures (armv7hl and ppc64le), test 1018 fails with a
slightly differently parsed number. In base R, `R_strtod` handles small
numbers by pre-dividing numerator and divsor before applying the
exponent part (instead of dividing all together.) However, it does not
use a lookup table.

For `fread`, trim the exponent lookup table from ±350 to ±300, and if
anything is in that removed range, do two multiplications instead. This
results in approximately the same effect as in base R.

Removing some of the range from the lookup table also fixes several
warnings such as:

```
freadLookups.h:57:1: warning: floating constant truncated to zero [-Woverflow]
   57 | 1.0E-324L,
      | ^~~~~~~~~
freadLookups.h:690:1: warning: floating constant exceeds range of 'long double' [-Woverflow]
  690 | 1.0E309L,
      | ^~~~~~~~
```

See Rdatatable#3492 and Rdatatable#4032.
@mattdowle mattdowle added this to the 1.12.9 milestone Feb 16, 2020
@jangorecki jangorecki modified the milestones: 1.12.11, 1.12.9 May 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants