Skip to content

Test suite error for i386 architecture #6133

@tillea

Description

@tillea

Hi,

after upgrading the Debian packaged data.table to version 1.15.4 our CI tests uncovered a test error for i386 architecture. (The previously packaged version was 1.14.10 where this problem did not happened.) We are running this script in CI which for the problematic error boils down to

LC_ALL=C.UTF-8 R --no-save < tests/main.R

The issue is reported in the Debian bug tracking system and points to a complete log where you can find starting at line 908:

Fri May 10 06:13:18 2024  endian==little, sizeof(long double)==12, longdouble.digits==64, sizeof(pointer)==4, TZ==unset, Sys.timezone()=='Etc/UTC', Sys.getlocale()=='LC_CTYPE=C.UTF-8;LC_NUMERIC=C;LC_TIME=C.UTF-8;LC_COLLATE=C.UTF-8;LC_MONETARY=C.UTF-8;LC_MESSAGES=C.UTF-8;LC_PAPER=C.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C.UTF-8;LC_IDENTIFICATION=C', l10n_info()=='MBCS=TRUE; UTF-8=TRUE; Latin-1=FALSE; codeset=UTF-8', getDTthreads()=='OpenMP version (_OPENMP)==201511; omp_get_num_procs()==2; R_DATATABLE_NUM_PROCS_PERCENT==unset (default 50); R_DATATABLE_NUM_THREADS==unset; R_DATATABLE_THROTTLE==unset (default 1024); omp_get_thread_limit()==2147483647; omp_get_max_threads()==2; OMP_THREAD_LIMIT==unset; OMP_NUM_THREADS==unset; RestoreAfterFork==true; data.table is using 1 threads with throttle==1024. See ?setDTthreads.', zlibVersion()==1.3 ZLIB_VERSION==1.3
Error: 1 error(s) out of 9702. Search tests/tests.Rraw.bz2 for test number(s) 2150.025. Duration: 35.0s elapsed (34.1s cpu).
Execution halted

So the problem seems to be in inst/tests/tests/Rraw.bz2 with the according code

Sys.unsetenv("TZ")
# Notes:
#  - from v1.14.0 tz="" needed
#  - as.POSIXct puts "" on the result (testing the write.csv version here with missing tzone)
#  - Per #5866, this test is complicated by some interaction with very specific builds of R where
#    as.POSIXct() might fail for very old timestamps when 'tz=""' is used. On such systems,
#    as.POSIXct() failure means 'times' is returned as a character, hence no 'tzone' attribute.
#    fread() will also throw a warning, one substring of which will be the reproduced base R error.
test(2150.025,
     attr(fread(tmp, colClasses=list(POSIXct="times"), tz="")$times, "tzone"),
     if (is.null(base_messages$maybe_invalid_old_posixct)) "" else NULL,
     warning=base_messages$maybe_invalid_old_posixct)

As you can see on the Debian CI matrix the problem seems to exist for 32bit architectures.

I hope the log files with all installed package versions are sufficient to track down the problem.

Kind regards
Andreas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions