2026-02-26T04:21:40.161188Z 00O Running with gitlab-runner 18.9.0~pre.607.g1fd8d947 (1fd8d947) 2026-02-26T04:21:40.161201Z 00O  on green-4.saas-linux-medium-amd64.runners-manager.gitlab.com/default Yy-Tzs3Q7, system ID: s_57a32fe7e1c1 2026-02-26T04:21:40.161225Z 00O Resolving secrets 2026-02-26T04:21:40.161403Z 00O section_start:1772079700:prepare_executor 2026-02-26T04:21:40.161405Z 00O+Preparing the "docker+machine" executor 2026-02-26T04:21:40.289126Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-02-26T04:21:44.287631Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-02-26T04:21:44.288195Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-02-26T04:21:44.288203Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-02-26T04:22:00.432183Z 00O Using docker image sha256:ce391675f088c6798455a14e4ff687a90e886351135cecb11e704ffce163fbef for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:8c93c63faef93729f10a13b04c2647482769c9d7fff935cb74f4478cd54b6531 ... 2026-02-26T04:22:00.432250Z 00O section_end:1772079720:prepare_executor 2026-02-26T04:22:00.432252Z 00O+section_start:1772079720:prepare_script 2026-02-26T04:22:00.432334Z 00O+Preparing environment 2026-02-26T04:22:00.433376Z 00O Using effective pull policy of [always] for container sha256:5b480ba2d6661e3ab4616524859f9868bb2c05a049431a57153473f787fa9cd1 2026-02-26T04:22:11.774306Z 01O Running on runner-yy-tzs3q7-project-3622566-concurrent-0 via runner-yy-tzs3q7-s-l-m-amd64-1772079411-c417f5bf... 2026-02-26T04:22:11.947025Z 00O section_end:1772079731:prepare_script 2026-02-26T04:22:11.947030Z 00O+section_start:1772079731:get_sources 2026-02-26T04:22:11.947582Z 00O+Getting source from Git repository 2026-02-26T04:22:12.340135Z 01O Gitaly correlation ID: 48fdd9621d2b4bc5965965f042d162cc 2026-02-26T04:22:12.346901Z 01O Fetching changes... 2026-02-26T04:22:12.350034Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-02-26T04:22:12.352228Z 01O Created fresh repository. 2026-02-26T04:22:17.947304Z 01O Checking out 67e78404 as detached HEAD (ref is master)... 2026-02-26T04:22:18.140173Z 01O 2026-02-26T04:22:18.140176Z 01O Skipping Git submodules setup 2026-02-26T04:22:18.140177Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-02-26T04:22:18.386670Z 00O section_end:1772079738:get_sources 2026-02-26T04:22:18.386673Z 00O+section_start:1772079738:download_artifacts 2026-02-26T04:22:18.387437Z 00O+Downloading artifacts 2026-02-26T04:22:18.799084Z 01O Downloading artifacts for mirror-packages (13270516135)... 2026-02-26T04:22:19.852092Z 01E Downloading artifacts from coordinator... ok  correlation_id=bb5884b09df6430784fad183ee2a96c5 host=storage.googleapis.com id=13270516135 responseStatus=200 OK token=6c_WXTrr3 2026-02-26T04:22:20.085697Z 01O Downloading artifacts for build (13270516140)... 2026-02-26T04:22:20.375795Z 01E Downloading artifacts from coordinator... ok  correlation_id=2ce7711ed4a64569ae918028c32ab3d4 host=storage.googleapis.com id=13270516140 responseStatus=200 OK token=6c_WXTrr3 2026-02-26T04:22:21.103694Z 00O section_end:1772079741:download_artifacts 2026-02-26T04:22:21.103698Z 00O+section_start:1772079741:step_script 2026-02-26T04:22:21.104098Z 00O+Executing "step_script" stage of the job script 2026-02-26T04:22:21.104113Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-02-26T04:22:21.104975Z 00O Using docker image sha256:ce391675f088c6798455a14e4ff687a90e886351135cecb11e704ffce163fbef for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:8c93c63faef93729f10a13b04c2647482769c9d7fff935cb74f4478cd54b6531 ... 2026-02-26T04:22:21.456572Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-02-26T04:22:21.466692Z 01O $ mkdir -p ~/.R 2026-02-26T04:22:21.468332Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-02-26T04:22:21.468467Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-02-26T04:22:21.468476Z 01O $ Rscript -e 'source(".ci/ci.R"); install.packages(dcf.dependencies("DESCRIPTION", which="all"), repos=file.path("file:", normalizePath("bus/mirror-packages/cran", mustWork=FALSE)), quiet=TRUE)' 2026-02-26T04:22:21.685442Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-02-26T04:22:21.685446Z 01E 2026-02-26T04:23:34.396404Z 01E Updating HTML index of packages in '.Library' 2026-02-26T04:23:34.396806Z 01E Making 'packages.html' ... done 2026-02-26T04:23:34.412220Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-02-26T04:23:34.429423Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-02-26T04:23:41.648461Z 01E 3 warnings generated. 2026-02-26T04:23:41.648747Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-02-26T04:23:44.691697Z 01E 3 warnings generated. 2026-02-26T04:23:44.691931Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-02-26T04:23:51.301772Z 01E 3 warnings generated. 2026-02-26T04:23:51.301783Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-02-26T04:23:51.536208Z 01E 7 warnings generated. 2026-02-26T04:23:51.536437Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-02-26T04:23:54.175054Z 01E 7 warnings generated. 2026-02-26T04:23:54.175312Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-02-26T04:23:56.429868Z 01E 7 warnings generated. 2026-02-26T04:23:56.430051Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-02-26T04:24:00.666225Z 01E 7 warnings generated. 2026-02-26T04:24:00.666453Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-02-26T04:24:00.728621Z 01E 7 warnings generated. 2026-02-26T04:24:00.728871Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-02-26T04:24:03.616301Z 01E 10 warnings generated. 2026-02-26T04:24:03.616483Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-02-26T04:24:08.872275Z 01E 11 warnings generated. 2026-02-26T04:24:08.872368Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-02-26T04:24:12.763522Z 01E 12 warnings generated. 2026-02-26T04:24:12.763781Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-02-26T04:24:20.893904Z 01E 13 warnings generated. 2026-02-26T04:24:20.893915Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-02-26T04:24:24.229357Z 01E 13 warnings generated. 2026-02-26T04:24:24.229638Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-02-26T04:24:29.590824Z 01E 25 warnings generated. 2026-02-26T04:24:29.591017Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-02-26T04:24:38.185749Z 01E 25 warnings generated. 2026-02-26T04:24:38.185761Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-02-26T04:24:48.628424Z 01E 31 warnings generated. 2026-02-26T04:24:48.628435Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-02-26T04:24:52.187891Z 01E 32 warnings generated. 2026-02-26T04:24:52.188076Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-02-26T04:24:54.578126Z 01E 35 warnings generated. 2026-02-26T04:24:54.578625Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-02-26T04:24:54.629847Z 01E 35 warnings generated. 2026-02-26T04:24:54.630135Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-02-26T04:24:54.956922Z 01E 35 warnings generated. 2026-02-26T04:24:54.957394Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-02-26T04:25:01.224257Z 01E 37 warnings generated. 2026-02-26T04:25:01.224270Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-02-26T04:25:04.739079Z 01E 37 warnings generated. 2026-02-26T04:25:04.739312Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-02-26T04:25:18.267694Z 01E 42 warnings generated. 2026-02-26T04:25:18.267704Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-02-26T04:25:18.388433Z 01E 43 warnings generated. 2026-02-26T04:25:18.388737Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-02-26T04:25:18.635519Z 01E 43 warnings generated. 2026-02-26T04:25:18.635819Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-02-26T04:25:23.295754Z 01E 46 warnings generated. 2026-02-26T04:25:23.296237Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-02-26T04:25:23.347183Z 01E 46 warnings generated. 2026-02-26T04:25:23.347478Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-02-26T04:25:23.381495Z 01E 46 warnings generated. 2026-02-26T04:25:23.381819Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-02-26T04:25:24.240792Z 01E 46 warnings generated. 2026-02-26T04:25:24.241199Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-02-26T04:25:27.417114Z 01E 59 warnings generated. 2026-02-26T04:25:27.417335Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-02-26T04:25:27.448442Z 01E 59 warnings generated. 2026-02-26T04:25:27.448734Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-02-26T04:25:27.500595Z 01E 59 warnings generated. 2026-02-26T04:25:27.501012Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-02-26T04:25:27.648700Z 01E 60 warnings generated. 2026-02-26T04:25:27.649075Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-02-26T04:25:28.107850Z 01E 60 warnings generated. 2026-02-26T04:25:28.108199Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-02-26T04:25:28.915871Z 01E 60 warnings generated. 2026-02-26T04:25:28.916237Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-02-26T04:25:32.252707Z 01E 66 warnings generated. 2026-02-26T04:25:32.253008Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-02-26T04:25:34.942887Z 01E 66 warnings generated. 2026-02-26T04:25:34.943258Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-02-26T04:25:34.973221Z 01E 66 warnings generated. 2026-02-26T04:25:34.973559Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-02-26T04:25:37.923014Z 01E 66 warnings generated. 2026-02-26T04:25:37.923272Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-02-26T04:25:39.198981Z 01E 68 warnings generated. 2026-02-26T04:25:39.199246Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-02-26T04:25:39.567442Z 01E 68 warnings generated. 2026-02-26T04:25:39.567747Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-02-26T04:25:42.353051Z 01E 68 warnings generated. 2026-02-26T04:25:42.353335Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-02-26T04:25:42.699571Z 01E 68 warnings generated. 2026-02-26T04:25:42.699919Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-02-26T04:25:49.644330Z 01E 68 warnings generated. 2026-02-26T04:25:49.644338Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-02-26T04:25:50.501657Z 01E 68 warnings generated. 2026-02-26T04:25:50.502049Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-02-26T04:25:50.542128Z 01E 68 warnings generated. 2026-02-26T04:25:50.542414Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-02-26T04:25:50.625370Z 01E 68 warnings generated. 2026-02-26T04:25:50.626608Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: warning: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.626610Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-02-26T04:25:50.626611Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626611Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-02-26T04:25:50.626612Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626613Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-02-26T04:25:50.626614Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626614Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-02-26T04:25:50.626615Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626616Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-02-26T04:25:50.626616Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626617Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-02-26T04:25:50.626618Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626618Z 01O 15 | R_NilValue 2026-02-26T04:25:50.626619Z 01O | ~~~~~~~~~~ 2026-02-26T04:25:50.626619Z 01O 16 | )) 2026-02-26T04:25:50.626620Z 01O | ~~ 2026-02-26T04:25:50.626620Z 01O 17 | )); 2026-02-26T04:25:50.626621Z 01O | ~ 2026-02-26T04:25:50.626621Z 01O /builds/Rdatatable/data.table/src/assign.c:9:31: note: Although the value stored to 'p' is used in the enclosing expression, the value is never actually read from 'p' 2026-02-26T04:25:50.626622Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-02-26T04:25:50.626623Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626623Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-02-26T04:25:50.626624Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626625Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-02-26T04:25:50.626626Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626626Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-02-26T04:25:50.626627Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626628Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-02-26T04:25:50.626628Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626650Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-02-26T04:25:50.626651Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626651Z 01O 15 | R_NilValue 2026-02-26T04:25:50.626652Z 01O | ~~~~~~~~~~ 2026-02-26T04:25:50.626652Z 01O 16 | )) 2026-02-26T04:25:50.626653Z 01O | ~~ 2026-02-26T04:25:50.626653Z 01O 17 | )); 2026-02-26T04:25:50.626653Z 01O | ~ 2026-02-26T04:25:50.626654Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.626655Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-26T04:25:50.626655Z 01O | ^ 2026-02-26T04:25:50.626656Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-02-26T04:25:50.626656Z 01O 937 | const STYPE val = sd[soff]; \ 2026-02-26T04:25:50.626657Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.626657Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-02-26T04:25:50.626658Z 01O 714 | if (len<1) return NULL; 2026-02-26T04:25:50.626659Z 01O | ^~~~~ 2026-02-26T04:25:50.626659Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-02-26T04:25:50.626660Z 01O 714 | if (len<1) return NULL; 2026-02-26T04:25:50.626660Z 01O | ^ 2026-02-26T04:25:50.626672Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-02-26T04:25:50.626673Z 01O 715 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2026-02-26T04:25:50.626674Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.626674Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-02-26T04:25:50.626675Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-02-26T04:25:50.626676Z 01O 716 | if (slen==0) return NULL; 2026-02-26T04:25:50.626676Z 01O | ^~~~~~~ 2026-02-26T04:25:50.626677Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-02-26T04:25:50.626677Z 01O 716 | if (slen==0) return NULL; 2026-02-26T04:25:50.626678Z 01O | ^ 2026-02-26T04:25:50.626678Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-02-26T04:25:50.626679Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-02-26T04:25:50.626679Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.626680Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-02-26T04:25:50.626680Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-02-26T04:25:50.626681Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-02-26T04:25:50.626682Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626682Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-02-26T04:25:50.626683Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-02-26T04:25:50.626683Z 01O | ^ 2026-02-26T04:25:50.626684Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-02-26T04:25:50.626684Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-02-26T04:25:50.626685Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.626748Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-02-26T04:25:50.626749Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-02-26T04:25:50.626749Z 01O | ^ 2026-02-26T04:25:50.626755Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-02-26T04:25:50.626755Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-02-26T04:25:50.626756Z 01O | ^~~~~~ 2026-02-26T04:25:50.626756Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-02-26T04:25:50.626757Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-02-26T04:25:50.626758Z 01O | ^ 2026-02-26T04:25:50.626758Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-02-26T04:25:50.626759Z 01O 726 | if (colname==NULL) 2026-02-26T04:25:50.626759Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.626760Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-02-26T04:25:50.626760Z 01O 726 | if (colname==NULL) 2026-02-26T04:25:50.626761Z 01O | ^ 2026-02-26T04:25:50.626761Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-02-26T04:25:50.626762Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-02-26T04:25:50.626762Z 01O | ^ 2026-02-26T04:25:50.626856Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2026-02-26T04:25:50.626857Z 01O 975 | #define isReal Rf_isReal 2026-02-26T04:25:50.626858Z 01O | ^ 2026-02-26T04:25:50.626858Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-02-26T04:25:50.626859Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-02-26T04:25:50.626860Z 01O | ^ 2026-02-26T04:25:50.626860Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-02-26T04:25:50.626861Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-02-26T04:25:50.626861Z 01O | ^ 2026-02-26T04:25:50.626862Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2026-02-26T04:25:50.626862Z 01O 975 | #define isReal Rf_isReal 2026-02-26T04:25:50.626863Z 01O | ^ 2026-02-26T04:25:50.626863Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-02-26T04:25:50.626864Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-02-26T04:25:50.626865Z 01O | ^ 2026-02-26T04:25:50.626865Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-02-26T04:25:50.626866Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-02-26T04:25:50.626866Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.626867Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-02-26T04:25:50.626867Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-02-26T04:25:50.626868Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-02-26T04:25:50.626869Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.626869Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-02-26T04:25:50.626870Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-02-26T04:25:50.626870Z 01O | ^ 2026-02-26T04:25:50.626928Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-02-26T04:25:50.626929Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-02-26T04:25:50.626930Z 01O | ^ 2026-02-26T04:25:50.626930Z 01O /usr/local/lib/R/include/Rinternals.h:978:19: note: expanded from macro 'isString' 2026-02-26T04:25:50.626935Z 01O 978 | #define isString Rf_isString 2026-02-26T04:25:50.626936Z 01O | ^ 2026-02-26T04:25:50.626937Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-02-26T04:25:50.626937Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-02-26T04:25:50.626938Z 01O | ^ 2026-02-26T04:25:50.626938Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-02-26T04:25:50.626939Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-02-26T04:25:50.626939Z 01O | ^ 2026-02-26T04:25:50.626940Z 01O /usr/local/lib/R/include/Rinternals.h:967:20: note: expanded from macro 'isNewList' 2026-02-26T04:25:50.626940Z 01O 967 | #define isNewList Rf_isNewList 2026-02-26T04:25:50.626941Z 01O | ^ 2026-02-26T04:25:50.626946Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-02-26T04:25:50.626947Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-02-26T04:25:50.626948Z 01O | ^ 2026-02-26T04:25:50.626948Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-02-26T04:25:50.626949Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-02-26T04:25:50.626949Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.626998Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-02-26T04:25:50.626999Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-02-26T04:25:50.627000Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-02-26T04:25:50.627000Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.627001Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-02-26T04:25:50.627002Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-02-26T04:25:50.627002Z 01O | ^ 2026-02-26T04:25:50.627003Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-02-26T04:25:50.627004Z 01O 974 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-02-26T04:25:50.627004Z 01O | ^ 2026-02-26T04:25:50.627007Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627008Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627008Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.627066Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-02-26T04:25:50.627067Z 01O 974 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-02-26T04:25:50.627068Z 01O | ^ 2026-02-26T04:25:50.627068Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627069Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627069Z 01O | ^ 2026-02-26T04:25:50.627089Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-02-26T04:25:50.627090Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627095Z 01O | ^ 2026-02-26T04:25:50.627096Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627096Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627097Z 01O | ^ 2026-02-26T04:25:50.627097Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-02-26T04:25:50.627098Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627099Z 01O | ^ 2026-02-26T04:25:50.627099Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627100Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627100Z 01O | ^ 2026-02-26T04:25:50.627148Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-02-26T04:25:50.627148Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627149Z 01O | ^~~~~~ 2026-02-26T04:25:50.627150Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-02-26T04:25:50.627150Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627151Z 01O | ^ 2026-02-26T04:25:50.627168Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627168Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627169Z 01O | ^ 2026-02-26T04:25:50.627169Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-02-26T04:25:50.627170Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627171Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.627184Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-02-26T04:25:50.627185Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627186Z 01O | ^ 2026-02-26T04:25:50.627186Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627187Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627188Z 01O | ^ 2026-02-26T04:25:50.627281Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-02-26T04:25:50.627282Z 01O 975 | const bool mc = length(where)==0 && slen>0 && slen==len && soff==0; // mc=memcpy; only if types match and not for single items (a single assign faster than these non-const memcpy calls) 2026-02-26T04:25:50.627283Z 01O | ^~~~~~~ 2026-02-26T04:25:50.627286Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-02-26T04:25:50.627287Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-02-26T04:25:50.627288Z 01O | ^ 2026-02-26T04:25:50.627296Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627311Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627312Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.627312Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-02-26T04:25:50.627313Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-02-26T04:25:50.627314Z 01O | ^ 2026-02-26T04:25:50.627406Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627407Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627407Z 01O | ^ 2026-02-26T04:25:50.627408Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-02-26T04:25:50.627408Z 01O 977 | switch (TYPEOF(target)) { 2026-02-26T04:25:50.627409Z 01O | ^ 2026-02-26T04:25:50.627485Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-02-26T04:25:50.627486Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-26T04:25:50.627486Z 01O | ^~~ 2026-02-26T04:25:50.627487Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-02-26T04:25:50.627488Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-02-26T04:25:50.627488Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-26T04:25:50.627489Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.627555Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-02-26T04:25:50.627556Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-26T04:25:50.627557Z 01O | ^ 2026-02-26T04:25:50.627557Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-02-26T04:25:50.627558Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-26T04:25:50.627559Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.627562Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-02-26T04:25:50.627562Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-02-26T04:25:50.627563Z 01O | ^ 2026-02-26T04:25:50.627607Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-02-26T04:25:50.627608Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-26T04:25:50.627608Z 01O | ^ 2026-02-26T04:25:50.627609Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-02-26T04:25:50.627609Z 01O 935 | if (length(where)) { \ 2026-02-26T04:25:50.627610Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.627610Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.627611Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.627612Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.627612Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-02-26T04:25:50.627613Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-26T04:25:50.627613Z 01O | ^ 2026-02-26T04:25:50.627680Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-02-26T04:25:50.627681Z 01O 935 | if (length(where)) { \ 2026-02-26T04:25:50.627681Z 01O | ^ 2026-02-26T04:25:50.627682Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-02-26T04:25:50.627690Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-26T04:25:50.627691Z 01O | ^ 2026-02-26T04:25:50.627691Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-02-26T04:25:50.627692Z 01O 936 | if (slen==1) { \ 2026-02-26T04:25:50.627692Z 01O | ^~~~ 2026-02-26T04:25:50.627700Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-02-26T04:25:50.627700Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-26T04:25:50.627701Z 01O | ^ 2026-02-26T04:25:50.627701Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-02-26T04:25:50.627702Z 01O 936 | if (slen==1) { \ 2026-02-26T04:25:50.627703Z 01O | ^ 2026-02-26T04:25:50.627707Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2026-02-26T04:25:50.627707Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-02-26T04:25:50.627708Z 01O | ^ 2026-02-26T04:25:50.627764Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-02-26T04:25:50.627765Z 01O 937 | const STYPE val = sd[soff]; \ 2026-02-26T04:25:50.627765Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.627788Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.627789Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-02-26T04:25:50.627790Z 01O | ^~~~~ 2026-02-26T04:25:50.627791Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-02-26T04:25:50.627791Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-26T04:25:50.627792Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.627866Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-02-26T04:25:50.627866Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-26T04:25:50.627867Z 01O | ^ 2026-02-26T04:25:50.627868Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-02-26T04:25:50.627868Z 01O 6 | if (chin && chmatchdup) 2026-02-26T04:25:50.627869Z 01O | ^~~~ 2026-02-26T04:25:50.627869Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-02-26T04:25:50.627870Z 01O 6 | if (chin && chmatchdup) 2026-02-26T04:25:50.627870Z 01O | ^ 2026-02-26T04:25:50.627871Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-02-26T04:25:50.627871Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-26T04:25:50.627872Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.627872Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-02-26T04:25:50.627873Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-26T04:25:50.627873Z 01O | ^ 2026-02-26T04:25:50.627874Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-02-26T04:25:50.627874Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-26T04:25:50.627875Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.627875Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-02-26T04:25:50.627876Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-26T04:25:50.627877Z 01O | ^ 2026-02-26T04:25:50.627968Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-02-26T04:25:50.627969Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-02-26T04:25:50.627975Z 01O | ^ 2026-02-26T04:25:50.627976Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-02-26T04:25:50.627976Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-02-26T04:25:50.627977Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-26T04:25:50.627977Z 01O | ^~~~~~~ 2026-02-26T04:25:50.627978Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-02-26T04:25:50.627979Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-26T04:25:50.627979Z 01O | ^ 2026-02-26T04:25:50.627980Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-02-26T04:25:50.627980Z 01O 31 | if (tablelen==0) { 2026-02-26T04:25:50.627981Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.627981Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-02-26T04:25:50.627982Z 01O 31 | if (tablelen==0) { 2026-02-26T04:25:50.627982Z 01O | ^ 2026-02-26T04:25:50.627983Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-02-26T04:25:50.627983Z 01O 40 | if (isSymbol(x)) { 2026-02-26T04:25:50.627984Z 01O | ^ 2026-02-26T04:25:50.627984Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2026-02-26T04:25:50.627985Z 01O 965 | #define isSymbol Rf_isSymbol 2026-02-26T04:25:50.627985Z 01O | ^ 2026-02-26T04:25:50.627995Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-02-26T04:25:50.627995Z 01O 40 | if (isSymbol(x)) { 2026-02-26T04:25:50.627996Z 01O | ^ 2026-02-26T04:25:50.627996Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-02-26T04:25:50.627997Z 01O 46 | if (xlen==1) { 2026-02-26T04:25:50.627997Z 01O | ^~~~~~~ 2026-02-26T04:25:50.627998Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-02-26T04:25:50.627998Z 01O 46 | if (xlen==1) { 2026-02-26T04:25:50.627999Z 01O | ^ 2026-02-26T04:25:50.627999Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-02-26T04:25:50.628000Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628000Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.628001Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-02-26T04:25:50.628002Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-02-26T04:25:50.628002Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628003Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.628003Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-02-26T04:25:50.628004Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628004Z 01O | ^ 2026-02-26T04:25:50.628007Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-02-26T04:25:50.628007Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-26T04:25:50.628008Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.628009Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.628009Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-26T04:25:50.628010Z 01O | ^ 2026-02-26T04:25:50.628041Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-02-26T04:25:50.628042Z 01O 66 | if (tl == 0) { 2026-02-26T04:25:50.628043Z 01O | ^~~~~~~ 2026-02-26T04:25:50.628048Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-02-26T04:25:50.628048Z 01O 66 | if (tl == 0) { 2026-02-26T04:25:50.628049Z 01O | ^ 2026-02-26T04:25:50.628049Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-02-26T04:25:50.628050Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-26T04:25:50.628050Z 01O | ^ 2026-02-26T04:25:50.628051Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.628052Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-02-26T04:25:50.628052Z 01O | ^ 2026-02-26T04:25:50.628060Z 01O /builds/Rdatatable/data.table/src/chmatch.c:65:35: note: Access of 'sym' at index 1, while it holds only a single 'struct SEXPREC *' element 2026-02-26T04:25:50.628061Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-02-26T04:25:50.628062Z 01O | ^~~~~ 2026-02-26T04:25:50.628062Z 01O /builds/Rdatatable/data.table/src/chmatch.c:128:34: warning: Out of bound access to memory after the end of 'sym' [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.628063Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-02-26T04:25:50.628063Z 01O | ^~~~~ 2026-02-26T04:25:50.628064Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-02-26T04:25:50.628065Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-26T04:25:50.628065Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.628180Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-02-26T04:25:50.628181Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-02-26T04:25:50.628182Z 01O | ^ 2026-02-26T04:25:50.628182Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-02-26T04:25:50.628183Z 01O 6 | if (chin && chmatchdup) 2026-02-26T04:25:50.628183Z 01O | ^~~~ 2026-02-26T04:25:50.628184Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-02-26T04:25:50.628184Z 01O 6 | if (chin && chmatchdup) 2026-02-26T04:25:50.628185Z 01O | ^ 2026-02-26T04:25:50.628185Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-02-26T04:25:50.628186Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-26T04:25:50.628186Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.628187Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-02-26T04:25:50.628188Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-02-26T04:25:50.628188Z 01O | ^ 2026-02-26T04:25:50.628188Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-02-26T04:25:50.628189Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-26T04:25:50.628190Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.628190Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-02-26T04:25:50.628191Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-02-26T04:25:50.628191Z 01O | ^ 2026-02-26T04:25:50.628192Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-02-26T04:25:50.628192Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-02-26T04:25:50.628193Z 01O | ^ 2026-02-26T04:25:50.628194Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-02-26T04:25:50.628194Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-02-26T04:25:50.628195Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-26T04:25:50.628195Z 01O | ^~~~~~~ 2026-02-26T04:25:50.628201Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-02-26T04:25:50.628201Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-02-26T04:25:50.628202Z 01O | ^ 2026-02-26T04:25:50.628202Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-02-26T04:25:50.628203Z 01O 31 | if (tablelen==0) { 2026-02-26T04:25:50.628203Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.628204Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-02-26T04:25:50.628204Z 01O 31 | if (tablelen==0) { 2026-02-26T04:25:50.628205Z 01O | ^ 2026-02-26T04:25:50.628252Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-02-26T04:25:50.628253Z 01O 40 | if (isSymbol(x)) { 2026-02-26T04:25:50.628253Z 01O | ^ 2026-02-26T04:25:50.628254Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2026-02-26T04:25:50.628254Z 01O 965 | #define isSymbol Rf_isSymbol 2026-02-26T04:25:50.628255Z 01O | ^ 2026-02-26T04:25:50.628255Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-02-26T04:25:50.628256Z 01O 40 | if (isSymbol(x)) { 2026-02-26T04:25:50.628256Z 01O | ^ 2026-02-26T04:25:50.628264Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-02-26T04:25:50.628264Z 01O 46 | if (xlen==1) { 2026-02-26T04:25:50.628265Z 01O | ^~~~~~~ 2026-02-26T04:25:50.628265Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-02-26T04:25:50.628266Z 01O 46 | if (xlen==1) { 2026-02-26T04:25:50.628266Z 01O | ^ 2026-02-26T04:25:50.628267Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-02-26T04:25:50.628267Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628268Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.628337Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-02-26T04:25:50.628338Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628338Z 01O | ^ 2026-02-26T04:25:50.628339Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-02-26T04:25:50.628339Z 01O 99 | for (int i=0; i= 'tablelen' 2026-02-26T04:25:50.628364Z 01O 123 | for (int i=0; i= 'tablelen' 2026-02-26T04:25:50.628423Z 01O 125 | for (int i=0; i= 0 2026-02-26T04:25:50.628518Z 01O 129 | if (u<0) { 2026-02-26T04:25:50.628519Z 01O | ^~~ 2026-02-26T04:25:50.628519Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-02-26T04:25:50.628520Z 01O 129 | if (u<0) { 2026-02-26T04:25:50.628520Z 01O | ^ 2026-02-26T04:25:50.628520Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-02-26T04:25:50.628521Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-02-26T04:25:50.628700Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.628700Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-02-26T04:25:50.628701Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628701Z 01O | ^ 2026-02-26T04:25:50.628702Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-02-26T04:25:50.628702Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628703Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.628747Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-02-26T04:25:50.628748Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.628748Z 01O | ^ 2026-02-26T04:25:50.628836Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-02-26T04:25:50.628837Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-02-26T04:25:50.629341Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.629341Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-02-26T04:25:50.629342Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-02-26T04:25:50.629342Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.629343Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.629344Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-02-26T04:25:50.629344Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-02-26T04:25:50.629345Z 01O | ^ 2026-02-26T04:25:50.629345Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-02-26T04:25:50.629346Z 01O 99 | for (int i=0; i= 0 2026-02-26T04:25:50.629385Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-02-26T04:25:50.629386Z 01O | ^~~ 2026-02-26T04:25:50.629386Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-02-26T04:25:50.629387Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-02-26T04:25:50.629388Z 01O | ^ 2026-02-26T04:25:50.629388Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-02-26T04:25:50.629389Z 01O 144 | for (int i=0; i= 'nlhs' 2026-02-26T04:25:50.629528Z 01O 14 | for (int i=0; i= 'nlhs' 2026-02-26T04:25:50.629686Z 01O 14 | for (int i=0; i= 'nlhs' 2026-02-26T04:25:50.629822Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-02-26T04:25:50.631399Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.631400Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-02-26T04:25:50.631400Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-26T04:25:50.631401Z 01O | ^ 2026-02-26T04:25:50.631401Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.631402Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.631402Z 01O | ^ 2026-02-26T04:25:50.631505Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-02-26T04:25:50.631506Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-26T04:25:50.631506Z 01O | ^ 2026-02-26T04:25:50.631507Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.631507Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.631508Z 01O | ^ 2026-02-26T04:25:50.631509Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-02-26T04:25:50.631509Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-26T04:25:50.631510Z 01O | ^ 2026-02-26T04:25:50.631510Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.631511Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.631512Z 01O | ^ 2026-02-26T04:25:50.631513Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-02-26T04:25:50.631514Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-02-26T04:25:50.631515Z 01O | ^ 2026-02-26T04:25:50.631516Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-02-26T04:25:50.631517Z 01O 228 | for (int i=0; i= 'ncol' 2026-02-26T04:25:50.631520Z 01O 234 | for (int i=0; i= 'nidx' 2026-02-26T04:25:50.631598Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-02-26T04:25:50.631602Z 01O | ^~~~ 2026-02-26T04:25:50.631612Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-02-26T04:25:50.631612Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-02-26T04:25:50.631613Z 01O | ^ 2026-02-26T04:25:50.631614Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-02-26T04:25:50.631614Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-02-26T04:25:50.631781Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-02-26T04:25:50.632662Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-02-26T04:25:50.632960Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.632961Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-02-26T04:25:50.632961Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-02-26T04:25:50.632962Z 01O | ^ 2026-02-26T04:25:50.632962Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-02-26T04:25:50.632963Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-02-26T04:25:50.632963Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.632964Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-02-26T04:25:50.632965Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-02-26T04:25:50.632965Z 01O | ^ 2026-02-26T04:25:50.633031Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-02-26T04:25:50.633032Z 01O 326 | if (new_marks != marks) { 2026-02-26T04:25:50.633032Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633033Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-02-26T04:25:50.633034Z 01O 326 | if (new_marks != marks) { 2026-02-26T04:25:50.633034Z 01O | ^ 2026-02-26T04:25:50.633039Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-02-26T04:25:50.633040Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-02-26T04:25:50.633040Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633041Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-02-26T04:25:50.633041Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-02-26T04:25:50.633042Z 01O | ^ 2026-02-26T04:25:50.633042Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-02-26T04:25:50.633043Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-02-26T04:25:50.633044Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.633083Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-02-26T04:25:50.633084Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-02-26T04:25:50.633084Z 01O | ^ 2026-02-26T04:25:50.633085Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-02-26T04:25:50.633085Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-02-26T04:25:50.633086Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.633087Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-02-26T04:25:50.633087Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-02-26T04:25:50.633088Z 01O | ^ 2026-02-26T04:25:50.633089Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-02-26T04:25:50.633089Z 01O 338 | if (!anynotascii) 2026-02-26T04:25:50.633090Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.633090Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-02-26T04:25:50.633095Z 01O 338 | if (!anynotascii) 2026-02-26T04:25:50.633095Z 01O | ^ 2026-02-26T04:25:50.633113Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-02-26T04:25:50.633114Z 01O 340 | if (!IS_UTF8(s)) 2026-02-26T04:25:50.633115Z 01O | ^ 2026-02-26T04:25:50.633115Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-02-26T04:25:50.633116Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-02-26T04:25:50.633116Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633226Z 01O /usr/local/lib/R/include/Rinternals.h:936:20: note: expanded from macro 'getCharCE' 2026-02-26T04:25:50.633227Z 01O 936 | #define getCharCE Rf_getCharCE 2026-02-26T04:25:50.633228Z 01O | ^ 2026-02-26T04:25:50.633228Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-02-26T04:25:50.633229Z 01O 340 | if (!IS_UTF8(s)) 2026-02-26T04:25:50.633229Z 01O | ^ 2026-02-26T04:25:50.633230Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-02-26T04:25:50.633230Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-02-26T04:25:50.633349Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-02-26T04:25:50.633392Z 01O 364 | for (int i=0; i> 2026-02-26T04:25:50.633688Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633689Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-02-26T04:25:50.633689Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633690Z 01O 43 | 2026-02-26T04:25:50.633690Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-02-26T04:25:50.633691Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633692Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-02-26T04:25:50.633692Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633693Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-02-26T04:25:50.633693Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633694Z 01O 47 | 2026-02-26T04:25:50.633694Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-02-26T04:25:50.633695Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633695Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-02-26T04:25:50.633696Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633697Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-02-26T04:25:50.633697Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633698Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-02-26T04:25:50.633698Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633699Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-02-26T04:25:50.633705Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633705Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-02-26T04:25:50.633706Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633706Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Calling 'freadCleanup' 2026-02-26T04:25:50.633707Z 01O 1406 | if (freadCleanup()) { 2026-02-26T04:25:50.633707Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.633708Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-02-26T04:25:50.633708Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-26T04:25:50.633709Z 01O | ^~~~ 2026-02-26T04:25:50.633710Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-02-26T04:25:50.633766Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-02-26T04:25:50.633767Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-26T04:25:50.633768Z 01O | ^~~~~~~ 2026-02-26T04:25:50.633768Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-02-26T04:25:50.633769Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-26T04:25:50.633769Z 01O | ^ 2026-02-26T04:25:50.633770Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-02-26T04:25:50.633770Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-26T04:25:50.633771Z 01O | ^~~~ 2026-02-26T04:25:50.633772Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-02-26T04:25:50.633772Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-02-26T04:25:50.633773Z 01O | ^ 2026-02-26T04:25:50.633776Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-02-26T04:25:50.633777Z 01O 169 | if (mmp != NULL) { 2026-02-26T04:25:50.633777Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.633778Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-02-26T04:25:50.633778Z 01O 169 | if (mmp != NULL) { 2026-02-26T04:25:50.633779Z 01O | ^ 2026-02-26T04:25:50.633779Z 01O /builds/Rdatatable/data.table/src/fread.c:193:15: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-02-26T04:25:50.633780Z 01O 193 | quoteRule = -1; 2026-02-26T04:25:50.633780Z 01O | ^~ 2026-02-26T04:25:50.633806Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-02-26T04:25:50.633807Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-02-26T04:25:50.633807Z 01O | ^ ~~ 2026-02-26T04:25:50.633808Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-02-26T04:25:50.633809Z 01O 1406 | if (freadCleanup()) { 2026-02-26T04:25:50.633809Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.633809Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-02-26T04:25:50.633810Z 01O 1406 | if (freadCleanup()) { 2026-02-26T04:25:50.633811Z 01O | ^ 2026-02-26T04:25:50.633811Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.633812Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-26T04:25:50.633812Z 01O | ^~~~~~~ 2026-02-26T04:25:50.633813Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-02-26T04:25:50.633818Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-26T04:25:50.633818Z 01O | ^ 2026-02-26T04:25:50.633819Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-02-26T04:25:50.633819Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-26T04:25:50.633820Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.633820Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-02-26T04:25:50.633821Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-26T04:25:50.633821Z 01O | ^ 2026-02-26T04:25:50.633823Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-02-26T04:25:50.633824Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-26T04:25:50.633825Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.633827Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-02-26T04:25:50.633827Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-26T04:25:50.633828Z 01O | ^ 2026-02-26T04:25:50.633828Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-02-26T04:25:50.633829Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-26T04:25:50.633829Z 01O | ^~~ 2026-02-26T04:25:50.633873Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-02-26T04:25:50.633874Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-26T04:25:50.633875Z 01O | ^ 2026-02-26T04:25:50.633989Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-02-26T04:25:50.633990Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-26T04:25:50.633991Z 01O | ^~~~~~~ 2026-02-26T04:25:50.633991Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-02-26T04:25:50.633992Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-26T04:25:50.633992Z 01O | ^ 2026-02-26T04:25:50.633993Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-02-26T04:25:50.633994Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-26T04:25:50.633994Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.633995Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-02-26T04:25:50.633995Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-26T04:25:50.633996Z 01O | ^ 2026-02-26T04:25:50.633996Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-02-26T04:25:50.633997Z 01O 1432 | while (*nastr) { 2026-02-26T04:25:50.633998Z 01O | ^ 2026-02-26T04:25:50.633998Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-02-26T04:25:50.633999Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-02-26T04:25:50.633999Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634000Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-02-26T04:25:50.634000Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-02-26T04:25:50.634001Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634002Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-02-26T04:25:50.634002Z 01O 1460 | if (verbose) { 2026-02-26T04:25:50.634003Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634005Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-02-26T04:25:50.634005Z 01O 1460 | if (verbose) { 2026-02-26T04:25:50.634010Z 01O | ^ 2026-02-26T04:25:50.634053Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-02-26T04:25:50.634054Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-02-26T04:25:50.634055Z 01O | ^ 2026-02-26T04:25:50.634055Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-02-26T04:25:50.634056Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-26T04:25:50.634057Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634057Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-02-26T04:25:50.634058Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-26T04:25:50.634059Z 01O | ^ 2026-02-26T04:25:50.634059Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-02-26T04:25:50.634060Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634060Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634061Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-02-26T04:25:50.634061Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634062Z 01O | ^ 2026-02-26T04:25:50.634064Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-02-26T04:25:50.634065Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634066Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.634068Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-02-26T04:25:50.634069Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634070Z 01O | ^ 2026-02-26T04:25:50.634070Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-02-26T04:25:50.634071Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-26T04:25:50.634072Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634127Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-02-26T04:25:50.634128Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-26T04:25:50.634129Z 01O | ^ 2026-02-26T04:25:50.634129Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-02-26T04:25:50.634130Z 01O 1511 | if (args.input) { 2026-02-26T04:25:50.634130Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.634131Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-02-26T04:25:50.634131Z 01O 1511 | if (args.input) { 2026-02-26T04:25:50.634132Z 01O | ^ 2026-02-26T04:25:50.634132Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is non-null 2026-02-26T04:25:50.634133Z 01O 1518 | else if (args.filename) { 2026-02-26T04:25:50.634133Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.634134Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking true branch 2026-02-26T04:25:50.634134Z 01O 1518 | else if (args.filename) { 2026-02-26T04:25:50.634135Z 01O | ^ 2026-02-26T04:25:50.634135Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:9: note: 'verbose' is false 2026-02-26T04:25:50.634136Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-02-26T04:25:50.634136Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634137Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:5: note: Taking false branch 2026-02-26T04:25:50.634144Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-02-26T04:25:50.634144Z 01O | ^ 2026-02-26T04:25:50.634160Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:16: note: Assuming that 'open' fails 2026-02-26T04:25:50.634161Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-02-26T04:25:50.634162Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634162Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:7: note: 'fd' initialized here 2026-02-26T04:25:50.634163Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-02-26T04:25:50.634163Z 01O | ^~~~~~ 2026-02-26T04:25:50.634166Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:7: note: Taking true branch 2026-02-26T04:25:50.634167Z 01O 1523 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-02-26T04:25:50.634167Z 01O | ^ 2026-02-26T04:25:50.634168Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-02-26T04:25:50.634169Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-02-26T04:25:50.634169Z 01O | ^ ~~ 2026-02-26T04:25:50.634172Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.634172Z 01O 1769 | pos = ch; 2026-02-26T04:25:50.634173Z 01O | ^ ~~ 2026-02-26T04:25:50.634173Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: note: Value stored to 'pos' is never read 2026-02-26T04:25:50.634174Z 01O 1769 | pos = ch; 2026-02-26T04:25:50.634174Z 01O | ^ ~~ 2026-02-26T04:25:50.634250Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2026-02-26T04:25:50.634251Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-02-26T04:25:50.634252Z 01O | ^~ 2026-02-26T04:25:50.634344Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-02-26T04:25:50.634345Z 01O 38 | enum quote_rule_t 2026-02-26T04:25:50.634345Z 01O | ~~~~~^~~~~~~~~~~~ 2026-02-26T04:25:50.634346Z 01O 39 | { 2026-02-26T04:25:50.634346Z 01O | ~ 2026-02-26T04:25:50.634346Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-02-26T04:25:50.634347Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634348Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-02-26T04:25:50.634348Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634349Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-02-26T04:25:50.634349Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634350Z 01O 43 | 2026-02-26T04:25:50.634350Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-02-26T04:25:50.634351Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634352Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-02-26T04:25:50.634352Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634353Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-02-26T04:25:50.634353Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634354Z 01O 47 | 2026-02-26T04:25:50.634354Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-02-26T04:25:50.634355Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634355Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-02-26T04:25:50.634356Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634363Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-02-26T04:25:50.634364Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634365Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-02-26T04:25:50.634365Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634366Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-02-26T04:25:50.634366Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634367Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-02-26T04:25:50.634368Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634368Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-02-26T04:25:50.634369Z 01O 1406 | if (freadCleanup()) { 2026-02-26T04:25:50.634369Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.634370Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-02-26T04:25:50.634370Z 01O 1406 | if (freadCleanup()) { 2026-02-26T04:25:50.634371Z 01O | ^ 2026-02-26T04:25:50.634371Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.634372Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-26T04:25:50.634372Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634373Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-02-26T04:25:50.634373Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-02-26T04:25:50.634374Z 01O | ^ 2026-02-26T04:25:50.634374Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-02-26T04:25:50.634375Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-26T04:25:50.634375Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.634376Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-02-26T04:25:50.634376Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-02-26T04:25:50.634377Z 01O | ^ 2026-02-26T04:25:50.634426Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-02-26T04:25:50.634428Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-26T04:25:50.634428Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.634429Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-02-26T04:25:50.634429Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-02-26T04:25:50.634430Z 01O | ^ 2026-02-26T04:25:50.634430Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-02-26T04:25:50.634431Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-26T04:25:50.634431Z 01O | ^~~ 2026-02-26T04:25:50.634432Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-02-26T04:25:50.634432Z 01O 1416 | if (nth <= 0) nth = 1; 2026-02-26T04:25:50.634433Z 01O | ^ 2026-02-26T04:25:50.634435Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-02-26T04:25:50.634436Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-26T04:25:50.634437Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634441Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-02-26T04:25:50.634441Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-02-26T04:25:50.634442Z 01O | ^ 2026-02-26T04:25:50.634443Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-02-26T04:25:50.634443Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-26T04:25:50.634449Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634478Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-02-26T04:25:50.634479Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-02-26T04:25:50.634480Z 01O | ^ 2026-02-26T04:25:50.634480Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-02-26T04:25:50.634481Z 01O 1432 | while (*nastr) { 2026-02-26T04:25:50.634481Z 01O | ^ 2026-02-26T04:25:50.634482Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-02-26T04:25:50.634482Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-02-26T04:25:50.634483Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634483Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-02-26T04:25:50.634484Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-02-26T04:25:50.634485Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634485Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-02-26T04:25:50.634486Z 01O 1460 | if (verbose) { 2026-02-26T04:25:50.634486Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634487Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-02-26T04:25:50.634487Z 01O 1460 | if (verbose) { 2026-02-26T04:25:50.634488Z 01O | ^ 2026-02-26T04:25:50.634490Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-02-26T04:25:50.634491Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-02-26T04:25:50.634491Z 01O | ^ 2026-02-26T04:25:50.634494Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-02-26T04:25:50.634495Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-26T04:25:50.634495Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634563Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-02-26T04:25:50.634564Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-02-26T04:25:50.634565Z 01O | ^ 2026-02-26T04:25:50.634568Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-02-26T04:25:50.634569Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634570Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634570Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-02-26T04:25:50.634571Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634571Z 01O | ^ 2026-02-26T04:25:50.634573Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-02-26T04:25:50.634574Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634575Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.634640Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-02-26T04:25:50.634641Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-02-26T04:25:50.634642Z 01O | ^ 2026-02-26T04:25:50.634642Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-02-26T04:25:50.634648Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-26T04:25:50.634648Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634649Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-02-26T04:25:50.634649Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-02-26T04:25:50.634650Z 01O | ^ 2026-02-26T04:25:50.634650Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-02-26T04:25:50.634651Z 01O 1511 | if (args.input) { 2026-02-26T04:25:50.634652Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.634652Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-02-26T04:25:50.634653Z 01O 1511 | if (args.input) { 2026-02-26T04:25:50.634653Z 01O | ^ 2026-02-26T04:25:50.634653Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is null 2026-02-26T04:25:50.634654Z 01O 1518 | else if (args.filename) { 2026-02-26T04:25:50.634655Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.634658Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking false branch 2026-02-26T04:25:50.634659Z 01O 1518 | else if (args.filename) { 2026-02-26T04:25:50.634659Z 01O | ^ 2026-02-26T04:25:50.634660Z 01O /builds/Rdatatable/data.table/src/fread.c:1586:5: note: Loop condition is false. Exiting loop 2026-02-26T04:25:50.634660Z 01O 1586 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-02-26T04:25:50.634661Z 01O | ^ 2026-02-26T04:25:50.634755Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-02-26T04:25:50.634755Z 01O 18 | #define INTERNAL_STOP(...) do {snprintf(internal_error_buff, sizeof(internal_error_buff), __VA_ARGS__); halt__(0, "%s %s: %s. %s", _("Internal error in"), __func__, internal_error_buff, _("Please report to the data.table issues tracker"));} while (0) 2026-02-26T04:25:50.634756Z 01O | ^ 2026-02-26T04:25:50.634757Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:7: note: 'verbose' is false 2026-02-26T04:25:50.634758Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-02-26T04:25:50.634758Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634790Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:3: note: Taking false branch 2026-02-26T04:25:50.634790Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-02-26T04:25:50.634791Z 01O | ^ 2026-02-26T04:25:50.634791Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:7: note: Assuming 'fileSize' is < 3 2026-02-26T04:25:50.634792Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-02-26T04:25:50.634792Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.634793Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:21: note: Left side of '&&' is false 2026-02-26T04:25:50.634794Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-02-26T04:25:50.634794Z 01O | ^ 2026-02-26T04:25:50.634795Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:12: note: 'fileSize' is < 4 2026-02-26T04:25:50.634795Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-02-26T04:25:50.634796Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.634796Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:26: note: Left side of '&&' is false 2026-02-26T04:25:50.634797Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-02-26T04:25:50.634797Z 01O | ^ 2026-02-26T04:25:50.634798Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:12: note: Assuming 'fileSize' is < 2 2026-02-26T04:25:50.634799Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-02-26T04:25:50.634799Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.634837Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:26: note: Left side of '&&' is false 2026-02-26T04:25:50.634842Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-02-26T04:25:50.634843Z 01O | ^ 2026-02-26T04:25:50.634844Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:7: note: Assuming 'eof' is <= 'sof' 2026-02-26T04:25:50.634844Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-02-26T04:25:50.634845Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.634888Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:17: note: Left side of '&&' is false 2026-02-26T04:25:50.634889Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-02-26T04:25:50.634890Z 01O | ^ 2026-02-26T04:25:50.634890Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:7: note: Assuming 'eof' is > 'sof' 2026-02-26T04:25:50.634891Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-02-26T04:25:50.634892Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.634892Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:3: note: Taking false branch 2026-02-26T04:25:50.634893Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-02-26T04:25:50.634893Z 01O | ^ 2026-02-26T04:25:50.634894Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:7: note: 'verbose' is false 2026-02-26T04:25:50.634894Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-02-26T04:25:50.634895Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634895Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:3: note: Taking false branch 2026-02-26T04:25:50.634896Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-02-26T04:25:50.634897Z 01O | ^ 2026-02-26T04:25:50.634983Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:7: note: Assuming the condition is false 2026-02-26T04:25:50.634983Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-02-26T04:25:50.634984Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.634985Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:3: note: Taking false branch 2026-02-26T04:25:50.634985Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-02-26T04:25:50.634986Z 01O | ^ 2026-02-26T04:25:50.634986Z 01O /builds/Rdatatable/data.table/src/fread.c:1638:3: note: Loop condition is false. Execution continues on line 1656 2026-02-26T04:25:50.634987Z 01O 1638 | while (ch < sample_end) { 2026-02-26T04:25:50.634988Z 01O | ^ 2026-02-26T04:25:50.634988Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:7: note: 'verbose' is false 2026-02-26T04:25:50.634989Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2026-02-26T04:25:50.634989Z 01O | ^~~~~~~ 2026-02-26T04:25:50.634989Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:3: note: Taking false branch 2026-02-26T04:25:50.634990Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2026-02-26T04:25:50.634991Z 01O | ^ 2026-02-26T04:25:50.634991Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:7: note: Assuming field 'filename' is null 2026-02-26T04:25:50.634992Z 01O 1663 | if (args.filename) { 2026-02-26T04:25:50.634992Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.634993Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:3: note: Taking false branch 2026-02-26T04:25:50.634993Z 01O 1663 | if (args.filename) { 2026-02-26T04:25:50.634994Z 01O | ^ 2026-02-26T04:25:50.635036Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:7: note: 'verbose' is false 2026-02-26T04:25:50.635037Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-02-26T04:25:50.635037Z 01O | ^~~~~~~ 2026-02-26T04:25:50.635038Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:3: note: Taking false branch 2026-02-26T04:25:50.635043Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-02-26T04:25:50.635043Z 01O | ^ 2026-02-26T04:25:50.635044Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:7: note: Assuming field 'skipString' is null 2026-02-26T04:25:50.635045Z 01O 1741 | if (args.skipString) { 2026-02-26T04:25:50.635045Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635045Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:3: note: Taking false branch 2026-02-26T04:25:50.635046Z 01O 1741 | if (args.skipString) { 2026-02-26T04:25:50.635047Z 01O | ^ 2026-02-26T04:25:50.635047Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:12: note: Assuming field 'skipNrow' is < 0 2026-02-26T04:25:50.635048Z 01O 1753 | else if (args.skipNrow >= 0) { 2026-02-26T04:25:50.635048Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635049Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:8: note: Taking false branch 2026-02-26T04:25:50.635049Z 01O 1753 | else if (args.skipNrow >= 0) { 2026-02-26T04:25:50.635050Z 01O | ^ 2026-02-26T04:25:50.635052Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:10: note: Assuming 'ch' is >= 'eof' 2026-02-26T04:25:50.635053Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-02-26T04:25:50.635054Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.635118Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:19: note: Left side of '&&' is false 2026-02-26T04:25:50.635119Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-02-26T04:25:50.635120Z 01O | ^ 2026-02-26T04:25:50.635121Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:7: note: Assuming 'ch' is < 'eof' 2026-02-26T04:25:50.635121Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-02-26T04:25:50.635122Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.635122Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:3: note: Taking false branch 2026-02-26T04:25:50.635123Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-02-26T04:25:50.635124Z 01O | ^ 2026-02-26T04:25:50.635126Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:7: note: 'verbose' is false 2026-02-26T04:25:50.635126Z 01O 1778 | if (verbose) { 2026-02-26T04:25:50.635127Z 01O | ^~~~~~~ 2026-02-26T04:25:50.635127Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:3: note: Taking false branch 2026-02-26T04:25:50.635128Z 01O 1778 | if (verbose) { 2026-02-26T04:25:50.635128Z 01O | ^ 2026-02-26T04:25:50.635198Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: Assuming 'nrowLimit' is not equal to 0 2026-02-26T04:25:50.635199Z 01O 1796 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2026-02-26T04:25:50.635200Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.635200Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: '?' condition is false 2026-02-26T04:25:50.635201Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:7: note: Assuming 'fill' is not equal to INT_MAX 2026-02-26T04:25:50.635201Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-02-26T04:25:50.635202Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635206Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:3: note: Taking false branch 2026-02-26T04:25:50.635207Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-02-26T04:25:50.635207Z 01O | ^ 2026-02-26T04:25:50.635212Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:9: note: 'verbose' is false 2026-02-26T04:25:50.635213Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-02-26T04:25:50.635214Z 01O | ^~~~~~~ 2026-02-26T04:25:50.635214Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:5: note: Taking false branch 2026-02-26T04:25:50.635215Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-02-26T04:25:50.635215Z 01O | ^ 2026-02-26T04:25:50.635216Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:9: note: Assuming the condition is false 2026-02-26T04:25:50.635216Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-02-26T04:25:50.635217Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635297Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:5: note: Taking false branch 2026-02-26T04:25:50.635298Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-02-26T04:25:50.635299Z 01O | ^ 2026-02-26T04:25:50.635299Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: Assuming the condition is false 2026-02-26T04:25:50.635300Z 01O 1823 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-02-26T04:25:50.635301Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.635301Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: '?' condition is false 2026-02-26T04:25:50.635302Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:11: note: Assuming the condition is true 2026-02-26T04:25:50.635302Z 01O 1825 | if (args.sep == '\0') { 2026-02-26T04:25:50.635303Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635305Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:7: note: Taking true branch 2026-02-26T04:25:50.635306Z 01O 1825 | if (args.sep == '\0') { 2026-02-26T04:25:50.635306Z 01O | ^ 2026-02-26T04:25:50.635309Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:13: note: 'verbose' is false 2026-02-26T04:25:50.635310Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-02-26T04:25:50.635310Z 01O | ^~~~~~~ 2026-02-26T04:25:50.635311Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:9: note: Taking false branch 2026-02-26T04:25:50.635311Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-02-26T04:25:50.635312Z 01O | ^ 2026-02-26T04:25:50.635316Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-02-26T04:25:50.635317Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-02-26T04:25:50.635317Z 01O | ^~ 2026-02-26T04:25:50.635318Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635319Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2026-02-26T04:25:50.635319Z 01O | ^~~~~~~~~~~~~ ~~ 2026-02-26T04:25:50.635320Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-02-26T04:25:50.635327Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2026-02-26T04:25:50.635328Z 01O | ^~~~~~~~~~~~~ ~~ 2026-02-26T04:25:50.635376Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635377Z 01O 2262 | estnrow = 1; 2026-02-26T04:25:50.635378Z 01O | ^ ~ 2026-02-26T04:25:50.635378Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: note: Value stored to 'estnrow' is never read 2026-02-26T04:25:50.635386Z 01O 2262 | estnrow = 1; 2026-02-26T04:25:50.635387Z 01O | ^ ~ 2026-02-26T04:25:50.635390Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635391Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-02-26T04:25:50.635391Z 01O | ^ ~ 2026-02-26T04:25:50.635392Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: note: Value stored to 'allocnrow' is never read 2026-02-26T04:25:50.635392Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-02-26T04:25:50.635393Z 01O | ^ ~ 2026-02-26T04:25:50.635419Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635420Z 01O 2269 | estnrow = allocnrow = sampleLines; 2026-02-26T04:25:50.635421Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635421Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: note: Value stored to 'estnrow' is never read 2026-02-26T04:25:50.635422Z 01O 2269 | estnrow = allocnrow = sampleLines; 2026-02-26T04:25:50.635423Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635423Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635424Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2026-02-26T04:25:50.635424Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635425Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: note: Value stored to 'estnrow' is never read 2026-02-26T04:25:50.635426Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2026-02-26T04:25:50.635426Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635466Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635467Z 01O 2463 | nth = imin(nJumps, nth); 2026-02-26T04:25:50.635468Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635468Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: note: Value stored to 'nth' is never read 2026-02-26T04:25:50.635469Z 01O 2463 | nth = imin(nJumps, nth); 2026-02-26T04:25:50.635469Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.635470Z 01O /builds/Rdatatable/data.table/src/fread.c:2719:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-02-26T04:25:50.635471Z 01O 2719 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-02-26T04:25:50.635472Z 01O | ^~~~~~ 2026-02-26T04:25:50.635511Z 01O /builds/Rdatatable/data.table/src/fread.c:2719:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-02-26T04:25:50.635514Z 01O 2719 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-02-26T04:25:50.635515Z 01O | ^~~~~~ 2026-02-26T04:25:50.635516Z 01O /builds/Rdatatable/data.table/src/fread.c:2753:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.635517Z 01O 2753 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-02-26T04:25:50.635518Z 01O | ^ ~~~ 2026-02-26T04:25:50.635518Z 01O /builds/Rdatatable/data.table/src/fread.c:2753:73: note: Value stored to 'tLast' is never read 2026-02-26T04:25:50.635519Z 01O 2753 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-02-26T04:25:50.635524Z 01O | ^ ~~~ 2026-02-26T04:25:50.635635Z 01O /builds/Rdatatable/data.table/src/froll.c:1362:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.635636Z 01O 1362 | next[p] = tail; 2026-02-26T04:25:50.635636Z 01O | ^ 2026-02-26T04:25:50.635637Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.635637Z 01O 1504 | if (verbose) 2026-02-26T04:25:50.635638Z 01O | ^~~~~~~ 2026-02-26T04:25:50.635638Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-02-26T04:25:50.635639Z 01O 1504 | if (verbose) 2026-02-26T04:25:50.635639Z 01O | ^ 2026-02-26T04:25:50.635640Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-02-26T04:25:50.635640Z 01O 1506 | if (k == 0) { 2026-02-26T04:25:50.635641Z 01O | ^~~~~~ 2026-02-26T04:25:50.635641Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-02-26T04:25:50.635642Z 01O 1506 | if (k == 0) { 2026-02-26T04:25:50.635642Z 01O | ^ 2026-02-26T04:25:50.635643Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-02-26T04:25:50.635643Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.635644Z 01O | ^~~~~~ 2026-02-26T04:25:50.635644Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-02-26T04:25:50.635705Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-02-26T04:25:50.635706Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.635707Z 01O | ^~~~~~ 2026-02-26T04:25:50.635707Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-02-26T04:25:50.635708Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.635708Z 01O | ^ 2026-02-26T04:25:50.635711Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-02-26T04:25:50.635712Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.635712Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.635712Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-02-26T04:25:50.635713Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.635714Z 01O | ^ 2026-02-26T04:25:50.635716Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-02-26T04:25:50.635717Z 01O 1565 | if (nx_mod_k) { 2026-02-26T04:25:50.635717Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.635718Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-02-26T04:25:50.635718Z 01O 1565 | if (nx_mod_k) { 2026-02-26T04:25:50.635719Z 01O | ^ 2026-02-26T04:25:50.635719Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-02-26T04:25:50.635720Z 01O 1572 | bool even = !(k % 2); 2026-02-26T04:25:50.635720Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.635765Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-02-26T04:25:50.635766Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-02-26T04:25:50.635766Z 01O | ^~~~ 2026-02-26T04:25:50.635767Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-02-26T04:25:50.635767Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-02-26T04:25:50.635768Z 01O 1577 | if (!o) { // # nocov start 2026-02-26T04:25:50.635773Z 01O | ^~ 2026-02-26T04:25:50.635773Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-02-26T04:25:50.635774Z 01O 1577 | if (!o) { // # nocov start 2026-02-26T04:25:50.635774Z 01O | ^ 2026-02-26T04:25:50.635775Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-02-26T04:25:50.635775Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-26T04:25:50.635776Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.635776Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-02-26T04:25:50.635777Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-26T04:25:50.635778Z 01O | ^ 2026-02-26T04:25:50.635778Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-02-26T04:25:50.635779Z 01O 1586 | if (!m) { // # nocov start 2026-02-26T04:25:50.635779Z 01O | ^~ 2026-02-26T04:25:50.635782Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-02-26T04:25:50.635782Z 01O 1586 | if (!m) { // # nocov start 2026-02-26T04:25:50.635783Z 01O | ^ 2026-02-26T04:25:50.635783Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-02-26T04:25:50.635784Z 01O 1592 | if (!n) { // # nocov start 2026-02-26T04:25:50.635784Z 01O | ^~ 2026-02-26T04:25:50.635841Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-02-26T04:25:50.635842Z 01O 1592 | if (!n) { // # nocov start 2026-02-26T04:25:50.635842Z 01O | ^ 2026-02-26T04:25:50.635843Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-02-26T04:25:50.635843Z 01O 1598 | if (!s) { // # nocov start 2026-02-26T04:25:50.635844Z 01O | ^~ 2026-02-26T04:25:50.635844Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-02-26T04:25:50.635845Z 01O 1598 | if (!s) { // # nocov start 2026-02-26T04:25:50.635845Z 01O | ^ 2026-02-26T04:25:50.635846Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-02-26T04:25:50.635846Z 01O 1604 | if (!prev) { // # nocov start 2026-02-26T04:25:50.635847Z 01O | ^~~~~ 2026-02-26T04:25:50.635847Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-02-26T04:25:50.635848Z 01O 1604 | if (!prev) { // # nocov start 2026-02-26T04:25:50.635848Z 01O | ^ 2026-02-26T04:25:50.635868Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-02-26T04:25:50.635869Z 01O 1610 | if (!next) { // # nocov start 2026-02-26T04:25:50.635869Z 01O | ^~~~~ 2026-02-26T04:25:50.635870Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-02-26T04:25:50.635870Z 01O 1610 | if (!next) { // # nocov start 2026-02-26T04:25:50.635871Z 01O | ^ 2026-02-26T04:25:50.635871Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-02-26T04:25:50.635872Z 01O 1616 | if (verbose) 2026-02-26T04:25:50.635872Z 01O | ^~~~~~~ 2026-02-26T04:25:50.635873Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-02-26T04:25:50.635873Z 01O 1616 | if (verbose) 2026-02-26T04:25:50.635874Z 01O | ^ 2026-02-26T04:25:50.635874Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-02-26T04:25:50.635875Z 01O 1619 | for (int j=0; j= 'k' 2026-02-26T04:25:50.635971Z 01O 1356 | for (int i=0; i=0) { 2026-02-26T04:25:50.636128Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.636129Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-02-26T04:25:50.636129Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.636130Z 01O | ^ 2026-02-26T04:25:50.636130Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-02-26T04:25:50.636131Z 01O 1565 | if (nx_mod_k) { 2026-02-26T04:25:50.636131Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.636132Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-02-26T04:25:50.636132Z 01O 1565 | if (nx_mod_k) { 2026-02-26T04:25:50.636133Z 01O | ^ 2026-02-26T04:25:50.636133Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-02-26T04:25:50.636134Z 01O 1572 | bool even = !(k % 2); 2026-02-26T04:25:50.636134Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.636135Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-02-26T04:25:50.636135Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-02-26T04:25:50.636136Z 01O | ^~~~ 2026-02-26T04:25:50.636136Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-02-26T04:25:50.636137Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-02-26T04:25:50.636138Z 01O 1577 | if (!o) { // # nocov start 2026-02-26T04:25:50.636138Z 01O | ^~ 2026-02-26T04:25:50.636138Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-02-26T04:25:50.636139Z 01O 1577 | if (!o) { // # nocov start 2026-02-26T04:25:50.636140Z 01O | ^ 2026-02-26T04:25:50.636187Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-02-26T04:25:50.636187Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-26T04:25:50.636188Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.636275Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-02-26T04:25:50.636276Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-26T04:25:50.636277Z 01O | ^ 2026-02-26T04:25:50.636311Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-02-26T04:25:50.636312Z 01O 1586 | if (!m) { // # nocov start 2026-02-26T04:25:50.636313Z 01O | ^~ 2026-02-26T04:25:50.636313Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-02-26T04:25:50.636314Z 01O 1586 | if (!m) { // # nocov start 2026-02-26T04:25:50.636314Z 01O | ^ 2026-02-26T04:25:50.636315Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-02-26T04:25:50.636315Z 01O 1592 | if (!n) { // # nocov start 2026-02-26T04:25:50.636316Z 01O | ^~ 2026-02-26T04:25:50.636316Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-02-26T04:25:50.636317Z 01O 1592 | if (!n) { // # nocov start 2026-02-26T04:25:50.636317Z 01O | ^ 2026-02-26T04:25:50.636318Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-02-26T04:25:50.636330Z 01O 1598 | if (!s) { // # nocov start 2026-02-26T04:25:50.636330Z 01O | ^~ 2026-02-26T04:25:50.636331Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-02-26T04:25:50.636331Z 01O 1598 | if (!s) { // # nocov start 2026-02-26T04:25:50.636332Z 01O | ^ 2026-02-26T04:25:50.636332Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-02-26T04:25:50.636333Z 01O 1604 | if (!prev) { // # nocov start 2026-02-26T04:25:50.636333Z 01O | ^~~~~ 2026-02-26T04:25:50.636334Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-02-26T04:25:50.636334Z 01O 1604 | if (!prev) { // # nocov start 2026-02-26T04:25:50.636335Z 01O | ^ 2026-02-26T04:25:50.636390Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-02-26T04:25:50.636391Z 01O 1610 | if (!next) { // # nocov start 2026-02-26T04:25:50.636391Z 01O | ^~~~~ 2026-02-26T04:25:50.636392Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-02-26T04:25:50.636392Z 01O 1610 | if (!next) { // # nocov start 2026-02-26T04:25:50.636393Z 01O | ^ 2026-02-26T04:25:50.636393Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2026-02-26T04:25:50.636394Z 01O 1616 | if (verbose) 2026-02-26T04:25:50.636394Z 01O | ^~~~~~~ 2026-02-26T04:25:50.636395Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2026-02-26T04:25:50.636395Z 01O 1616 | if (verbose) 2026-02-26T04:25:50.636396Z 01O | ^ 2026-02-26T04:25:50.636398Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-02-26T04:25:50.636399Z 01O 1619 | for (int j=0; j= 'b' 2026-02-26T04:25:50.636517Z 01O 1619 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2026-02-26T04:25:50.636598Z 01O | ^~~ 2026-02-26T04:25:50.636599Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2026-02-26T04:25:50.636599Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.636600Z 01O 1631 | for (int i=0; i= 'm' 2026-02-26T04:25:50.636919Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-02-26T04:25:50.636919Z 01O | ^~~~~ 2026-02-26T04:25:50.636970Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2026-02-26T04:25:50.636971Z 01O 1391 | if (SMALL(i)) { 2026-02-26T04:25:50.636971Z 01O | ^ 2026-02-26T04:25:50.636972Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-02-26T04:25:50.636972Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-02-26T04:25:50.636973Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.636973Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2026-02-26T04:25:50.636974Z 01O 1391 | if (SMALL(i)) { 2026-02-26T04:25:50.636974Z 01O | ^ 2026-02-26T04:25:50.636975Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2026-02-26T04:25:50.636975Z 01O 1394 | if (m[0] == i) { 2026-02-26T04:25:50.636976Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.636976Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2026-02-26T04:25:50.636977Z 01O 1394 | if (m[0] == i) { 2026-02-26T04:25:50.636977Z 01O | ^ 2026-02-26T04:25:50.636978Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2026-02-26T04:25:50.636983Z 01O 1397 | if (s[0] > 0) { 2026-02-26T04:25:50.636984Z 01O | ^ 2026-02-26T04:25:50.636984Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2026-02-26T04:25:50.636985Z 01O 1398 | m[0] = prev[m[0]]; 2026-02-26T04:25:50.636985Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.636989Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.636990Z 01O 1469 | m[0] = prev[m[0]]; 2026-02-26T04:25:50.636990Z 01O | ^ 2026-02-26T04:25:50.636991Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.636992Z 01O 1504 | if (verbose) 2026-02-26T04:25:50.636992Z 01O | ^~~~~~~ 2026-02-26T04:25:50.636992Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-02-26T04:25:50.636993Z 01O 1504 | if (verbose) 2026-02-26T04:25:50.636993Z 01O | ^ 2026-02-26T04:25:50.636994Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-02-26T04:25:50.636995Z 01O 1506 | if (k == 0) { 2026-02-26T04:25:50.636995Z 01O | ^~~~~~ 2026-02-26T04:25:50.636995Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-02-26T04:25:50.636996Z 01O 1506 | if (k == 0) { 2026-02-26T04:25:50.636996Z 01O | ^ 2026-02-26T04:25:50.637072Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-02-26T04:25:50.637073Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.637074Z 01O | ^~~~~~ 2026-02-26T04:25:50.637074Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-02-26T04:25:50.637075Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-02-26T04:25:50.637075Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.637076Z 01O | ^~~~~~ 2026-02-26T04:25:50.637077Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-02-26T04:25:50.637077Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.637078Z 01O | ^ 2026-02-26T04:25:50.637078Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-02-26T04:25:50.637079Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.637079Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.637080Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-02-26T04:25:50.637080Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.637081Z 01O | ^ 2026-02-26T04:25:50.637081Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-02-26T04:25:50.637082Z 01O 1565 | if (nx_mod_k) { 2026-02-26T04:25:50.637082Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.637083Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-02-26T04:25:50.637083Z 01O 1565 | if (nx_mod_k) { 2026-02-26T04:25:50.637084Z 01O | ^ 2026-02-26T04:25:50.637084Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2026-02-26T04:25:50.637085Z 01O 1572 | bool even = !(k % 2); 2026-02-26T04:25:50.637085Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.637086Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2026-02-26T04:25:50.637086Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-02-26T04:25:50.637087Z 01O | ^~~~ 2026-02-26T04:25:50.637093Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2026-02-26T04:25:50.637098Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-02-26T04:25:50.637099Z 01O 1577 | if (!o) { // # nocov start 2026-02-26T04:25:50.637099Z 01O | ^~ 2026-02-26T04:25:50.637100Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-02-26T04:25:50.637100Z 01O 1577 | if (!o) { // # nocov start 2026-02-26T04:25:50.637101Z 01O | ^ 2026-02-26T04:25:50.637151Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-02-26T04:25:50.637152Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-26T04:25:50.637153Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.637157Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-02-26T04:25:50.637158Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-02-26T04:25:50.637158Z 01O | ^ 2026-02-26T04:25:50.637159Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-02-26T04:25:50.637159Z 01O 1586 | if (!m) { // # nocov start 2026-02-26T04:25:50.637160Z 01O | ^~ 2026-02-26T04:25:50.637160Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-02-26T04:25:50.637161Z 01O 1586 | if (!m) { // # nocov start 2026-02-26T04:25:50.637161Z 01O | ^ 2026-02-26T04:25:50.637162Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-02-26T04:25:50.637162Z 01O 1592 | if (!n) { // # nocov start 2026-02-26T04:25:50.637163Z 01O | ^~ 2026-02-26T04:25:50.637163Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-02-26T04:25:50.637164Z 01O 1592 | if (!n) { // # nocov start 2026-02-26T04:25:50.637164Z 01O | ^ 2026-02-26T04:25:50.637165Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-02-26T04:25:50.637165Z 01O 1598 | if (!s) { // # nocov start 2026-02-26T04:25:50.637166Z 01O | ^~ 2026-02-26T04:25:50.637166Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-02-26T04:25:50.637167Z 01O 1598 | if (!s) { // # nocov start 2026-02-26T04:25:50.637167Z 01O | ^ 2026-02-26T04:25:50.637170Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-02-26T04:25:50.637170Z 01O 1604 | if (!prev) { // # nocov start 2026-02-26T04:25:50.637171Z 01O | ^~~~~ 2026-02-26T04:25:50.637171Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-02-26T04:25:50.637172Z 01O 1604 | if (!prev) { // # nocov start 2026-02-26T04:25:50.637172Z 01O | ^ 2026-02-26T04:25:50.637259Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-02-26T04:25:50.637259Z 01O 1610 | if (!next) { // # nocov start 2026-02-26T04:25:50.637263Z 01O | ^~~~~ 2026-02-26T04:25:50.637264Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-02-26T04:25:50.637264Z 01O 1610 | if (!next) { // # nocov start 2026-02-26T04:25:50.637265Z 01O | ^ 2026-02-26T04:25:50.637265Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-02-26T04:25:50.637266Z 01O 1616 | if (verbose) 2026-02-26T04:25:50.637266Z 01O | ^~~~~~~ 2026-02-26T04:25:50.637267Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-02-26T04:25:50.637267Z 01O 1616 | if (verbose) 2026-02-26T04:25:50.637268Z 01O | ^ 2026-02-26T04:25:50.637268Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-02-26T04:25:50.637269Z 01O 1619 | for (int j=0; j= 'b' 2026-02-26T04:25:50.637429Z 01O 1619 | for (int j=0; j= 'm' 2026-02-26T04:25:50.637706Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-02-26T04:25:50.637706Z 01O | ^~~~~ 2026-02-26T04:25:50.637707Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2026-02-26T04:25:50.637712Z 01O 1458 | if (SMALL(i)) { 2026-02-26T04:25:50.637712Z 01O | ^ 2026-02-26T04:25:50.637713Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-02-26T04:25:50.637713Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-02-26T04:25:50.637714Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.637714Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2026-02-26T04:25:50.637715Z 01O 1458 | if (SMALL(i)) { 2026-02-26T04:25:50.637715Z 01O | ^ 2026-02-26T04:25:50.637716Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2026-02-26T04:25:50.637716Z 01O 1461 | if (m[0] == i) { 2026-02-26T04:25:50.637717Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.637717Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2026-02-26T04:25:50.637718Z 01O 1461 | if (m[0] == i) { 2026-02-26T04:25:50.637718Z 01O | ^ 2026-02-26T04:25:50.637719Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2026-02-26T04:25:50.637719Z 01O 1465 | } else if (even && n[0] == i) { 2026-02-26T04:25:50.637720Z 01O | ^~~~ 2026-02-26T04:25:50.637720Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2026-02-26T04:25:50.637726Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2026-02-26T04:25:50.637727Z 01O 1465 | } else if (even && n[0] == i) { 2026-02-26T04:25:50.637728Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.637782Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2026-02-26T04:25:50.637783Z 01O 1465 | } else if (even && n[0] == i) { 2026-02-26T04:25:50.637783Z 01O | ^ 2026-02-26T04:25:50.637784Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2026-02-26T04:25:50.637784Z 01O 1468 | if (s[0] > 0) { 2026-02-26T04:25:50.637785Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.637785Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2026-02-26T04:25:50.637786Z 01O 1468 | if (s[0] > 0) { 2026-02-26T04:25:50.637786Z 01O | ^ 2026-02-26T04:25:50.637787Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2026-02-26T04:25:50.637787Z 01O 1469 | m[0] = prev[m[0]]; 2026-02-26T04:25:50.637788Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.637788Z 01O /builds/Rdatatable/data.table/src/froll.c:1576:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-02-26T04:25:50.637789Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-02-26T04:25:50.637790Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.637790Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.637791Z 01O 1504 | if (verbose) 2026-02-26T04:25:50.637791Z 01O | ^~~~~~~ 2026-02-26T04:25:50.637792Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-02-26T04:25:50.637792Z 01O 1504 | if (verbose) 2026-02-26T04:25:50.637793Z 01O | ^ 2026-02-26T04:25:50.637793Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-02-26T04:25:50.637794Z 01O 1506 | if (k == 0) { 2026-02-26T04:25:50.637794Z 01O | ^~~~~~ 2026-02-26T04:25:50.637795Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-02-26T04:25:50.637795Z 01O 1506 | if (k == 0) { 2026-02-26T04:25:50.637796Z 01O | ^ 2026-02-26T04:25:50.637850Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-02-26T04:25:50.637850Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.637857Z 01O | ^~~~~~ 2026-02-26T04:25:50.637857Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-02-26T04:25:50.637858Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-02-26T04:25:50.637858Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.637859Z 01O | ^~~~~~ 2026-02-26T04:25:50.637860Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-02-26T04:25:50.637860Z 01O 1514 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-02-26T04:25:50.637861Z 01O | ^ 2026-02-26T04:25:50.637861Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2026-02-26T04:25:50.637862Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.637862Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.637865Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-02-26T04:25:50.637866Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.637866Z 01O | ^ 2026-02-26T04:25:50.637866Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2026-02-26T04:25:50.637867Z 01O 1547 | for (uint64_t i=0; i= 0 2026-02-26T04:25:50.638089Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.638089Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.638090Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-02-26T04:25:50.638090Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.638091Z 01O | ^ 2026-02-26T04:25:50.638091Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-02-26T04:25:50.638092Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-02-26T04:25:50.638231Z 01O 1547 | for (uint64_t i=0; i= 0 2026-02-26T04:25:50.638642Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.638642Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.638643Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-02-26T04:25:50.638643Z 01O 1546 | if (hasnf>=0) { 2026-02-26T04:25:50.638644Z 01O | ^ 2026-02-26T04:25:50.638725Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-02-26T04:25:50.638730Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-02-26T04:25:50.638742Z 01O 1547 | for (uint64_t i=0; i 0 2026-02-26T04:25:50.639277Z 01O 533 | bool truehasnf = hasnf>0; 2026-02-26T04:25:50.639278Z 01O | ^~~~~~~ 2026-02-26T04:25:50.639278Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2026-02-26T04:25:50.639279Z 01O 534 | for (uint64_t i=0; i= 'nx' 2026-02-26T04:25:50.639382Z 01O 534 | for (uint64_t i=0; i 0 2026-02-26T04:25:50.639606Z 01O 608 | bool truehasnf = hasnf>0; 2026-02-26T04:25:50.639606Z 01O | ^~~~~~~ 2026-02-26T04:25:50.639607Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2026-02-26T04:25:50.639607Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-02-26T04:25:50.639728Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-02-26T04:25:50.639898Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2026-02-26T04:25:50.640188Z 01O | ^ 2026-02-26T04:25:50.640188Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2026-02-26T04:25:50.640189Z 01O 880 | if (i+1 == ik) { 2026-02-26T04:25:50.640190Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.640190Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2026-02-26T04:25:50.640191Z 01O 880 | if (i+1 == ik) { 2026-02-26T04:25:50.640191Z 01O | ^ 2026-02-26T04:25:50.640191Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2026-02-26T04:25:50.640192Z 01O 882 | } else if (i+1 < ik) { 2026-02-26T04:25:50.640193Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.640193Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2026-02-26T04:25:50.640194Z 01O 882 | } else if (i+1 < ik) { 2026-02-26T04:25:50.640194Z 01O | ^ 2026-02-26T04:25:50.640202Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:885:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2026-02-26T04:25:50.640203Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-02-26T04:25:50.640203Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.640204Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2026-02-26T04:25:50.640205Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2026-02-26T04:25:50.640205Z 01O | ^ 2026-02-26T04:25:50.640206Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2026-02-26T04:25:50.640206Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-02-26T04:25:50.640207Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.640207Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2026-02-26T04:25:50.640208Z 01O 990 | if (!nc) { // total NA for x 2026-02-26T04:25:50.640208Z 01O | ^~ 2026-02-26T04:25:50.640209Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2026-02-26T04:25:50.640209Z 01O 990 | if (!nc) { // total NA for x 2026-02-26T04:25:50.640210Z 01O | ^ 2026-02-26T04:25:50.640210Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.640217Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2026-02-26T04:25:50.640656Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-02-26T04:25:50.640843Z 01O | ^~~~~~~ 2026-02-26T04:25:50.640844Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-02-26T04:25:50.640844Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-02-26T04:25:50.640845Z 01O | ^ 2026-02-26T04:25:50.640908Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-02-26T04:25:50.640909Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-02-26T04:25:50.640910Z 01O | ^ 2026-02-26T04:25:50.640910Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-02-26T04:25:50.640911Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-26T04:25:50.640911Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.640917Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-02-26T04:25:50.640918Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-02-26T04:25:50.640918Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-26T04:25:50.640919Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.640919Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-02-26T04:25:50.640920Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-26T04:25:50.640920Z 01O | ^ 2026-02-26T04:25:50.640921Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-02-26T04:25:50.640921Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-26T04:25:50.640922Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.640922Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-02-26T04:25:50.640923Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-02-26T04:25:50.640924Z 01O | ^ 2026-02-26T04:25:50.640924Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-02-26T04:25:50.640925Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-02-26T04:25:50.640997Z 01O | ^~~~~~~ 2026-02-26T04:25:50.641000Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-02-26T04:25:50.641001Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-02-26T04:25:50.641001Z 01O | ^ 2026-02-26T04:25:50.641002Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-02-26T04:25:50.641002Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-02-26T04:25:50.641003Z 01O | ^ 2026-02-26T04:25:50.641064Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-02-26T04:25:50.641065Z 01O 122 | if (!counts || !TMP ) { 2026-02-26T04:25:50.641070Z 01O | ^~~~~~~ 2026-02-26T04:25:50.641070Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-02-26T04:25:50.641071Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-02-26T04:25:50.641072Z 01O 122 | if (!counts || !TMP ) { 2026-02-26T04:25:50.641072Z 01O | ^~~~ 2026-02-26T04:25:50.641073Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-02-26T04:25:50.641073Z 01O 122 | if (!counts || !TMP ) { 2026-02-26T04:25:50.641074Z 01O | ^ 2026-02-26T04:25:50.641077Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-02-26T04:25:50.641077Z 01O 127 | for (int b=0; b= 'howMany' 2026-02-26T04:25:50.641096Z 01O 131 | for (int i=0; i= 'highSize' 2026-02-26T04:25:50.641144Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-02-26T04:25:50.641387Z 01O | ^ 2026-02-26T04:25:50.641387Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-02-26T04:25:50.641388Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-02-26T04:25:50.641388Z 01O | ^ ~ 2026-02-26T04:25:50.641389Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-02-26T04:25:50.641390Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-02-26T04:25:50.641390Z 01O | ^ ~ 2026-02-26T04:25:50.641397Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-26T04:25:50.641398Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641398Z 01O | ^ 2026-02-26T04:25:50.641448Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641449Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641450Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641450Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-26T04:25:50.641451Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641451Z 01O | ^ 2026-02-26T04:25:50.641452Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641452Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641453Z 01O | ^ 2026-02-26T04:25:50.641454Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-26T04:25:50.641454Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641455Z 01O | ^ 2026-02-26T04:25:50.641475Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641476Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641477Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.641477Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-26T04:25:50.641478Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641478Z 01O | ^ 2026-02-26T04:25:50.641479Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641480Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641480Z 01O | ^ 2026-02-26T04:25:50.641481Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-26T04:25:50.641481Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641486Z 01O | ^ 2026-02-26T04:25:50.641520Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641521Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641522Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641523Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-02-26T04:25:50.641523Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641524Z 01O | ^ 2026-02-26T04:25:50.641524Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-02-26T04:25:50.641525Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-26T04:25:50.641525Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641528Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-02-26T04:25:50.641528Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-26T04:25:50.641529Z 01O | ^ 2026-02-26T04:25:50.641576Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-02-26T04:25:50.641577Z 01O 1122 | if (inherits(x, "factor")) 2026-02-26T04:25:50.641577Z 01O | ^ 2026-02-26T04:25:50.641578Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2026-02-26T04:25:50.641578Z 01O 944 | #define inherits Rf_inherits 2026-02-26T04:25:50.641579Z 01O | ^ 2026-02-26T04:25:50.641579Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-02-26T04:25:50.641580Z 01O 1122 | if (inherits(x, "factor")) 2026-02-26T04:25:50.641581Z 01O | ^ 2026-02-26T04:25:50.641581Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-02-26T04:25:50.641582Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-02-26T04:25:50.641582Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.641583Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-02-26T04:25:50.641583Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-02-26T04:25:50.641584Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.641584Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-02-26T04:25:50.641652Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-02-26T04:25:50.641653Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-26T04:25:50.641654Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.641654Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-02-26T04:25:50.641655Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-26T04:25:50.641656Z 01O | ^ 2026-02-26T04:25:50.641656Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-02-26T04:25:50.641657Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-02-26T04:25:50.641657Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641658Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-02-26T04:25:50.641658Z 01O 1129 | if (!s) 2026-02-26T04:25:50.641659Z 01O | ^~ 2026-02-26T04:25:50.641659Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-02-26T04:25:50.641660Z 01O 1129 | if (!s) 2026-02-26T04:25:50.641660Z 01O | ^ 2026-02-26T04:25:50.641665Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-02-26T04:25:50.641666Z 01O 1131 | for (int i=0; i= 'n' 2026-02-26T04:25:50.641675Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-02-26T04:25:50.641769Z 01O | ^ 2026-02-26T04:25:50.641770Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-02-26T04:25:50.641770Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-02-26T04:25:50.641771Z 01O | ^ ~ 2026-02-26T04:25:50.641771Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-02-26T04:25:50.641772Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-02-26T04:25:50.641772Z 01O | ^ ~ 2026-02-26T04:25:50.641773Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-02-26T04:25:50.641774Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-02-26T04:25:50.641774Z 01O | ~~~~ ^ 2026-02-26T04:25:50.641820Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-26T04:25:50.641821Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641822Z 01O | ^ 2026-02-26T04:25:50.641826Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641827Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641832Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641833Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-26T04:25:50.641833Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641834Z 01O | ^ 2026-02-26T04:25:50.641834Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641835Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641836Z 01O | ^ 2026-02-26T04:25:50.641838Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-26T04:25:50.641839Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641839Z 01O | ^ 2026-02-26T04:25:50.641923Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641924Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641925Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.641926Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-02-26T04:25:50.641926Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641927Z 01O | ^ 2026-02-26T04:25:50.641927Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641928Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641928Z 01O | ^ 2026-02-26T04:25:50.641929Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-02-26T04:25:50.641930Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641930Z 01O | ^ 2026-02-26T04:25:50.641930Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.641931Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.641932Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641932Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-02-26T04:25:50.641933Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-02-26T04:25:50.641933Z 01O | ^ 2026-02-26T04:25:50.641934Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-02-26T04:25:50.641934Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-26T04:25:50.641935Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.641935Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-02-26T04:25:50.641936Z 01O 1120 | if (!isVectorAtomic(x)) 2026-02-26T04:25:50.641937Z 01O | ^ 2026-02-26T04:25:50.641991Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-02-26T04:25:50.641992Z 01O 1122 | if (inherits(x, "factor")) 2026-02-26T04:25:50.641992Z 01O | ^ 2026-02-26T04:25:50.641993Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2026-02-26T04:25:50.641994Z 01O 944 | #define inherits Rf_inherits 2026-02-26T04:25:50.641994Z 01O | ^ 2026-02-26T04:25:50.641995Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-02-26T04:25:50.641995Z 01O 1122 | if (inherits(x, "factor")) 2026-02-26T04:25:50.641996Z 01O | ^ 2026-02-26T04:25:50.641998Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-02-26T04:25:50.642003Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-02-26T04:25:50.642004Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.642014Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-02-26T04:25:50.642014Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-02-26T04:25:50.642015Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.642015Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-02-26T04:25:50.642016Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-02-26T04:25:50.642017Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-26T04:25:50.642017Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.642018Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-02-26T04:25:50.642018Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-02-26T04:25:50.642019Z 01O | ^ 2026-02-26T04:25:50.642019Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-02-26T04:25:50.642020Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-02-26T04:25:50.642021Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642133Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-02-26T04:25:50.642133Z 01O 1129 | if (!s) 2026-02-26T04:25:50.642134Z 01O | ^~ 2026-02-26T04:25:50.642134Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-02-26T04:25:50.642135Z 01O 1129 | if (!s) 2026-02-26T04:25:50.642135Z 01O | ^ 2026-02-26T04:25:50.642136Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-02-26T04:25:50.642136Z 01O 1131 | for (int i=0; i= 'n' 2026-02-26T04:25:50.642141Z 01O 1135 | for (int i=0; i' is a garbage value 2026-02-26T04:25:50.642200Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-02-26T04:25:50.642201Z 01O | ~~~~ ^ 2026-02-26T04:25:50.642205Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: warning: Right shift by '64' overflows the capacity of 'size_t' [clang-analyzer-core.BitwiseShift] 2026-02-26T04:25:50.642206Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-02-26T04:25:50.642206Z 01O | ^ 2026-02-26T04:25:50.642207Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-02-26T04:25:50.642207Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-02-26T04:25:50.642208Z 01O | ^ 2026-02-26T04:25:50.642208Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-02-26T04:25:50.642209Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-02-26T04:25:50.642209Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.642226Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-02-26T04:25:50.642227Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-02-26T04:25:50.642227Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642228Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-02-26T04:25:50.642228Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-02-26T04:25:50.642229Z 01O | ^ 2026-02-26T04:25:50.642229Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-02-26T04:25:50.642230Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-02-26T04:25:50.642230Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642231Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-02-26T04:25:50.642232Z 01O 54 | if (!ret) 2026-02-26T04:25:50.642232Z 01O | ^~~~ 2026-02-26T04:25:50.642233Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-02-26T04:25:50.642233Z 01O 54 | if (!ret) 2026-02-26T04:25:50.642234Z 01O | ^ 2026-02-26T04:25:50.642234Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-02-26T04:25:50.642235Z 01O 59 | if (!table) { 2026-02-26T04:25:50.642235Z 01O | ^~~~~~ 2026-02-26T04:25:50.642235Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-02-26T04:25:50.642236Z 01O 59 | if (!table) { 2026-02-26T04:25:50.642237Z 01O | ^ 2026-02-26T04:25:50.642237Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-02-26T04:25:50.642238Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-02-26T04:25:50.642238Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642239Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-02-26T04:25:50.642239Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-02-26T04:25:50.642240Z 01O | ^ 2026-02-26T04:25:50.642278Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-02-26T04:25:50.642278Z 01O 71 | ret->shift = HASH_BITS - k; 2026-02-26T04:25:50.642279Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642282Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-02-26T04:25:50.642287Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-02-26T04:25:50.642288Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642289Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-02-26T04:25:50.642289Z 01O 133 | if (!new_h) return NULL; 2026-02-26T04:25:50.642290Z 01O | ^~~~~ 2026-02-26T04:25:50.642290Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-02-26T04:25:50.642291Z 01O 133 | if (!new_h) return NULL; 2026-02-26T04:25:50.642291Z 01O | ^ 2026-02-26T04:25:50.642346Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-02-26T04:25:50.642347Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-02-26T04:25:50.642348Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.642348Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.642349Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-02-26T04:25:50.642349Z 01O | ^ 2026-02-26T04:25:50.642350Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-02-26T04:25:50.642350Z 01O 138 | if (h->table[i].key) 2026-02-26T04:25:50.642351Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642351Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-02-26T04:25:50.642352Z 01O 138 | if (h->table[i].key) 2026-02-26T04:25:50.642352Z 01O | ^ 2026-02-26T04:25:50.642361Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-02-26T04:25:50.642362Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-02-26T04:25:50.642363Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642363Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-02-26T04:25:50.642364Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-02-26T04:25:50.642365Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.642365Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-02-26T04:25:50.642366Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-02-26T04:25:50.642366Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642367Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-02-26T04:25:50.642367Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-02-26T04:25:50.642368Z 01O | ^ 2026-02-26T04:25:50.642368Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-02-26T04:25:50.642369Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-02-26T04:25:50.642370Z 01O | ^ 2026-02-26T04:25:50.642411Z 01O /builds/Rdatatable/data.table/src/hash.c:105:53: note: The result of right shift is undefined because the right operand '64' is not smaller than 64, the capacity of 'size_t' 2026-02-26T04:25:50.642412Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-02-26T04:25:50.642413Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-02-26T04:25:50.642506Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.642507Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-02-26T04:25:50.642507Z 01O | ^ 2026-02-26T04:25:50.642508Z 01O /builds/Rdatatable/data.table/src/ijoin.c:134:31: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-02-26T04:25:50.642517Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: warning: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.642518Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-02-26T04:25:50.642519Z 01O | ^ 2026-02-26T04:25:50.642519Z 01O /builds/Rdatatable/data.table/src/ijoin.c:136:38: note: Although the value stored to 'vv' is used in the enclosing expression, the value is never actually read from 'vv' 2026-02-26T04:25:50.642577Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.642579Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-02-26T04:25:50.642579Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642580Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-02-26T04:25:50.642580Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-02-26T04:25:50.642581Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642609Z 01O /builds/Rdatatable/data.table/src/nafill.c:10:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.642610Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-02-26T04:25:50.642611Z 01O | ^ 2026-02-26T04:25:50.642611Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.642612Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.642612Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.642613Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.642613Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.642614Z 01O | ^ 2026-02-26T04:25:50.642614Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.642615Z 01O 128 | if (verbose) 2026-02-26T04:25:50.642615Z 01O | ^~~~~~~ 2026-02-26T04:25:50.642616Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.642616Z 01O 128 | if (verbose) 2026-02-26T04:25:50.642617Z 01O | ^ 2026-02-26T04:25:50.642654Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.642655Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.642655Z 01O | ^ 2026-02-26T04:25:50.642656Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.642656Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.642657Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642658Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.642658Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.642659Z 01O | ^ 2026-02-26T04:25:50.642699Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.642700Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.642701Z 01O | ^ 2026-02-26T04:25:50.642701Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.642702Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.642707Z 01O | ^ 2026-02-26T04:25:50.642708Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.642709Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.642709Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.642710Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.642710Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.642711Z 01O | ^ 2026-02-26T04:25:50.642775Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.642775Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.642776Z 01O | ^ 2026-02-26T04:25:50.642828Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.642829Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.642829Z 01O | ^ 2026-02-26T04:25:50.642830Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.642831Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.642831Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.642832Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.642832Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.642833Z 01O | ^ 2026-02-26T04:25:50.642833Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.642834Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.642834Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.642835Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.642835Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.642836Z 01O | ^ 2026-02-26T04:25:50.642836Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.642837Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.642943Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-02-26T04:25:50.643158Z 01O | ^ 2026-02-26T04:25:50.643202Z 01O /builds/Rdatatable/data.table/src/nafill.c:14:30: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.643203Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-02-26T04:25:50.643204Z 01O | ^ 2026-02-26T04:25:50.643204Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.643205Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.643206Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.643206Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.643207Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.643207Z 01O | ^ 2026-02-26T04:25:50.643209Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.643210Z 01O 128 | if (verbose) 2026-02-26T04:25:50.643211Z 01O | ^~~~~~~ 2026-02-26T04:25:50.643211Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.643212Z 01O 128 | if (verbose) 2026-02-26T04:25:50.643212Z 01O | ^ 2026-02-26T04:25:50.643300Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.643301Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643301Z 01O | ^ 2026-02-26T04:25:50.643302Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643302Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643303Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.643303Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.643304Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643305Z 01O | ^ 2026-02-26T04:25:50.643310Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643311Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643311Z 01O | ^ 2026-02-26T04:25:50.643312Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.643312Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643313Z 01O | ^ 2026-02-26T04:25:50.643313Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643314Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643315Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.643327Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.643328Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643328Z 01O | ^ 2026-02-26T04:25:50.643329Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643329Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643330Z 01O | ^ 2026-02-26T04:25:50.643387Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.643388Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643389Z 01O | ^ 2026-02-26T04:25:50.643392Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643393Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643394Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.643394Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.643395Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643396Z 01O | ^ 2026-02-26T04:25:50.643398Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.643399Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.643399Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.643399Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.643400Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.643401Z 01O | ^ 2026-02-26T04:25:50.643416Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.643416Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.643469Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-02-26T04:25:50.643766Z 01O | ^ 2026-02-26T04:25:50.643767Z 01O /builds/Rdatatable/data.table/src/nafill.c:19:29: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.643767Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-02-26T04:25:50.643768Z 01O | ^ 2026-02-26T04:25:50.643769Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.643769Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.643770Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.643770Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.643771Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.643771Z 01O | ^ 2026-02-26T04:25:50.643772Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.643772Z 01O 128 | if (verbose) 2026-02-26T04:25:50.643773Z 01O | ^~~~~~~ 2026-02-26T04:25:50.643773Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.643774Z 01O 128 | if (verbose) 2026-02-26T04:25:50.643774Z 01O | ^ 2026-02-26T04:25:50.643775Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.643775Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643776Z 01O | ^ 2026-02-26T04:25:50.643799Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643800Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643801Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.643802Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.643802Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643803Z 01O | ^ 2026-02-26T04:25:50.643832Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643833Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643833Z 01O | ^ 2026-02-26T04:25:50.643834Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.643835Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643835Z 01O | ^ 2026-02-26T04:25:50.643836Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643836Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643837Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.643837Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.643838Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643838Z 01O | ^ 2026-02-26T04:25:50.643902Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643903Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643907Z 01O | ^ 2026-02-26T04:25:50.643910Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.643911Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.643911Z 01O | ^ 2026-02-26T04:25:50.643983Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.643984Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.643985Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.644022Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.644023Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644023Z 01O | ^ 2026-02-26T04:25:50.644024Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.644025Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.644025Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.644025Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.644026Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.644026Z 01O | ^ 2026-02-26T04:25:50.644027Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.644028Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.644075Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-02-26T04:25:50.644363Z 01O | ^ 2026-02-26T04:25:50.644364Z 01O /builds/Rdatatable/data.table/src/nafill.c:24:28: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.644365Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-02-26T04:25:50.644365Z 01O | ^ 2026-02-26T04:25:50.644366Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.644367Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.644367Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.644367Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.644368Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.644368Z 01O | ^ 2026-02-26T04:25:50.644369Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.644370Z 01O 128 | if (verbose) 2026-02-26T04:25:50.644370Z 01O | ^~~~~~~ 2026-02-26T04:25:50.644370Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.644371Z 01O 128 | if (verbose) 2026-02-26T04:25:50.644371Z 01O | ^ 2026-02-26T04:25:50.644399Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.644399Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644400Z 01O | ^ 2026-02-26T04:25:50.644400Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.644401Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.644402Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.644443Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.644444Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644445Z 01O | ^ 2026-02-26T04:25:50.644445Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.644446Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.644447Z 01O | ^ 2026-02-26T04:25:50.644447Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.644448Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644448Z 01O | ^ 2026-02-26T04:25:50.644449Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.644449Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.644450Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.644451Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.644451Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644452Z 01O | ^ 2026-02-26T04:25:50.644452Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.644457Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.644458Z 01O | ^ 2026-02-26T04:25:50.644464Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.644465Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644466Z 01O | ^ 2026-02-26T04:25:50.644469Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.644470Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.644470Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.644471Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.644472Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644472Z 01O | ^ 2026-02-26T04:25:50.644480Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.644481Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.644481Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.644482Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.644482Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.644483Z 01O | ^ 2026-02-26T04:25:50.644525Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.644526Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.644615Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-02-26T04:25:50.644924Z 01O | ^ 2026-02-26T04:25:50.644932Z 01O /builds/Rdatatable/data.table/src/nafill.c:31:32: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.644932Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-02-26T04:25:50.644933Z 01O | ^ 2026-02-26T04:25:50.644934Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.644934Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.644935Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.644935Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.644936Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.644936Z 01O | ^ 2026-02-26T04:25:50.644984Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.644985Z 01O 128 | if (verbose) 2026-02-26T04:25:50.644985Z 01O | ^~~~~~~ 2026-02-26T04:25:50.644986Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.644986Z 01O 128 | if (verbose) 2026-02-26T04:25:50.644987Z 01O | ^ 2026-02-26T04:25:50.644992Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.644992Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644993Z 01O | ^ 2026-02-26T04:25:50.644993Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.644994Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.644995Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.644995Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.644996Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.644996Z 01O | ^ 2026-02-26T04:25:50.645003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645003Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645004Z 01O | ^ 2026-02-26T04:25:50.645063Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.645063Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645064Z 01O | ^ 2026-02-26T04:25:50.645064Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645065Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645066Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.645066Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.645067Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645067Z 01O | ^ 2026-02-26T04:25:50.645074Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645074Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645075Z 01O | ^ 2026-02-26T04:25:50.645084Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.645085Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645086Z 01O | ^ 2026-02-26T04:25:50.645086Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645087Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645087Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.645088Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.645089Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645089Z 01O | ^ 2026-02-26T04:25:50.645089Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.645090Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.645091Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.645091Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.645092Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.645092Z 01O | ^ 2026-02-26T04:25:50.645150Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.645151Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.645201Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-02-26T04:25:50.645541Z 01O | ^ 2026-02-26T04:25:50.645542Z 01O /builds/Rdatatable/data.table/src/nafill.c:36:31: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.645543Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-02-26T04:25:50.645543Z 01O | ^ 2026-02-26T04:25:50.645544Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.645544Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.645545Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.645545Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.645546Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.645546Z 01O | ^ 2026-02-26T04:25:50.645547Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.645547Z 01O 128 | if (verbose) 2026-02-26T04:25:50.645548Z 01O | ^~~~~~~ 2026-02-26T04:25:50.645548Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.645549Z 01O 128 | if (verbose) 2026-02-26T04:25:50.645549Z 01O | ^ 2026-02-26T04:25:50.645565Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.645566Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645567Z 01O | ^ 2026-02-26T04:25:50.645604Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645605Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645606Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.645607Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.645607Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645608Z 01O | ^ 2026-02-26T04:25:50.645608Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645614Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645614Z 01O | ^ 2026-02-26T04:25:50.645657Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.645657Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645658Z 01O | ^ 2026-02-26T04:25:50.645658Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645659Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645660Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.645660Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.645661Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645661Z 01O | ^ 2026-02-26T04:25:50.645662Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645662Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645663Z 01O | ^ 2026-02-26T04:25:50.645664Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.645664Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645665Z 01O | ^ 2026-02-26T04:25:50.645726Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.645726Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.645727Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.645728Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.645728Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.645729Z 01O | ^ 2026-02-26T04:25:50.645729Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.645730Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.645730Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.645756Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.645757Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.645758Z 01O | ^ 2026-02-26T04:25:50.645758Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.645759Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.645826Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-02-26T04:25:50.646106Z 01O | ^ 2026-02-26T04:25:50.646184Z 01O /builds/Rdatatable/data.table/src/nafill.c:73:25: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.646185Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-02-26T04:25:50.646185Z 01O | ^ 2026-02-26T04:25:50.646186Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.646186Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.646187Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.646187Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.646188Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.646188Z 01O | ^ 2026-02-26T04:25:50.646189Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.646189Z 01O 128 | if (verbose) 2026-02-26T04:25:50.646194Z 01O | ^~~~~~~ 2026-02-26T04:25:50.646195Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.646195Z 01O 128 | if (verbose) 2026-02-26T04:25:50.646196Z 01O | ^ 2026-02-26T04:25:50.646198Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.646199Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646200Z 01O | ^ 2026-02-26T04:25:50.646249Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646250Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646251Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.646251Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.646252Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646252Z 01O | ^ 2026-02-26T04:25:50.646253Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646253Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646254Z 01O | ^ 2026-02-26T04:25:50.646259Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.646260Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646270Z 01O | ^ 2026-02-26T04:25:50.646271Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646272Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646272Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.646273Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.646273Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646274Z 01O | ^ 2026-02-26T04:25:50.646338Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646339Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646339Z 01O | ^ 2026-02-26T04:25:50.646340Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.646341Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646341Z 01O | ^ 2026-02-26T04:25:50.646346Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646347Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646348Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.646349Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.646349Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646350Z 01O | ^ 2026-02-26T04:25:50.646350Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.646351Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.646351Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.646352Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.646352Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.646353Z 01O | ^ 2026-02-26T04:25:50.646353Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.646354Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.646473Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-02-26T04:25:50.646690Z 01O | ^ 2026-02-26T04:25:50.646690Z 01O /builds/Rdatatable/data.table/src/nafill.c:76:23: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.646691Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-02-26T04:25:50.646692Z 01O | ^ 2026-02-26T04:25:50.646766Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.646767Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.646767Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.646768Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.646768Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.646769Z 01O | ^ 2026-02-26T04:25:50.646769Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.646770Z 01O 128 | if (verbose) 2026-02-26T04:25:50.646770Z 01O | ^~~~~~~ 2026-02-26T04:25:50.646771Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.646771Z 01O 128 | if (verbose) 2026-02-26T04:25:50.646772Z 01O | ^ 2026-02-26T04:25:50.646772Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.646773Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646773Z 01O | ^ 2026-02-26T04:25:50.646774Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646774Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646775Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.646780Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.646781Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646781Z 01O | ^ 2026-02-26T04:25:50.646782Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646783Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646784Z 01O | ^ 2026-02-26T04:25:50.646835Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.646836Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646837Z 01O | ^ 2026-02-26T04:25:50.646837Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646838Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646839Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.646842Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.646843Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646843Z 01O | ^ 2026-02-26T04:25:50.646846Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646847Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646848Z 01O | ^ 2026-02-26T04:25:50.646848Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.646849Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646849Z 01O | ^ 2026-02-26T04:25:50.646886Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.646887Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.646888Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.646888Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.646889Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.646890Z 01O | ^ 2026-02-26T04:25:50.646890Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.646891Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.646891Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.646892Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.646892Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.646893Z 01O | ^ 2026-02-26T04:25:50.646893Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.646894Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.646971Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-02-26T04:25:50.647276Z 01O | ^ 2026-02-26T04:25:50.647328Z 01O /builds/Rdatatable/data.table/src/nafill.c:81:26: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.647329Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-02-26T04:25:50.647330Z 01O | ^ 2026-02-26T04:25:50.647330Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.647331Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.647331Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.647334Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.647335Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.647335Z 01O | ^ 2026-02-26T04:25:50.647335Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.647336Z 01O 128 | if (verbose) 2026-02-26T04:25:50.647337Z 01O | ^~~~~~~ 2026-02-26T04:25:50.647338Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.647339Z 01O 128 | if (verbose) 2026-02-26T04:25:50.647340Z 01O | ^ 2026-02-26T04:25:50.647343Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.647344Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647344Z 01O | ^ 2026-02-26T04:25:50.647345Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647346Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647346Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.647390Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.647391Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647392Z 01O | ^ 2026-02-26T04:25:50.647399Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647400Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647400Z 01O | ^ 2026-02-26T04:25:50.647401Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.647402Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647402Z 01O | ^ 2026-02-26T04:25:50.647407Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647407Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647408Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.647409Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.647409Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647410Z 01O | ^ 2026-02-26T04:25:50.647464Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647465Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647465Z 01O | ^ 2026-02-26T04:25:50.647466Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.647467Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647467Z 01O | ^ 2026-02-26T04:25:50.647478Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647479Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647480Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.647480Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.647481Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647481Z 01O | ^ 2026-02-26T04:25:50.647482Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.647482Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.647483Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.647483Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.647484Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.647484Z 01O | ^ 2026-02-26T04:25:50.647485Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.647485Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.647561Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-02-26T04:25:50.647861Z 01O | ^ 2026-02-26T04:25:50.647909Z 01O /builds/Rdatatable/data.table/src/nafill.c:96:38: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.647910Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-02-26T04:25:50.647910Z 01O | ^ 2026-02-26T04:25:50.647911Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.647912Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.647912Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.647913Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.647913Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.647914Z 01O | ^ 2026-02-26T04:25:50.647914Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.647915Z 01O 128 | if (verbose) 2026-02-26T04:25:50.647915Z 01O | ^~~~~~~ 2026-02-26T04:25:50.647915Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.647916Z 01O 128 | if (verbose) 2026-02-26T04:25:50.647917Z 01O | ^ 2026-02-26T04:25:50.647917Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.647923Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647924Z 01O | ^ 2026-02-26T04:25:50.647968Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647969Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647969Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.647970Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.647970Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647971Z 01O | ^ 2026-02-26T04:25:50.647988Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.647989Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.647990Z 01O | ^ 2026-02-26T04:25:50.647990Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.647991Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.647991Z 01O | ^ 2026-02-26T04:25:50.648014Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648015Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648016Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.648016Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.648017Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648017Z 01O | ^ 2026-02-26T04:25:50.648018Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648018Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648019Z 01O | ^ 2026-02-26T04:25:50.648020Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.648020Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648021Z 01O | ^ 2026-02-26T04:25:50.648021Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648022Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648022Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.648047Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.648048Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648048Z 01O | ^ 2026-02-26T04:25:50.648049Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.648049Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.648050Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.648050Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.648051Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.648051Z 01O | ^ 2026-02-26T04:25:50.648058Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.648059Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.648143Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-02-26T04:25:50.648392Z 01O | ^ 2026-02-26T04:25:50.648422Z 01O /builds/Rdatatable/data.table/src/nafill.c:99:36: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.648423Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-02-26T04:25:50.648424Z 01O | ^ 2026-02-26T04:25:50.648424Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.648425Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.648425Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.648426Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.648426Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.648427Z 01O | ^ 2026-02-26T04:25:50.648427Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.648428Z 01O 128 | if (verbose) 2026-02-26T04:25:50.648428Z 01O | ^~~~~~~ 2026-02-26T04:25:50.648429Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.648429Z 01O 128 | if (verbose) 2026-02-26T04:25:50.648430Z 01O | ^ 2026-02-26T04:25:50.648467Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.648467Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648468Z 01O | ^ 2026-02-26T04:25:50.648468Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648469Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648470Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.648473Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.648474Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648474Z 01O | ^ 2026-02-26T04:25:50.648517Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648518Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648519Z 01O | ^ 2026-02-26T04:25:50.648519Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.648520Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648525Z 01O | ^ 2026-02-26T04:25:50.648525Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648526Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648527Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.648527Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.648528Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648528Z 01O | ^ 2026-02-26T04:25:50.648547Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648547Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648548Z 01O | ^ 2026-02-26T04:25:50.648549Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.648549Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648550Z 01O | ^ 2026-02-26T04:25:50.648580Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.648581Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.648582Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.648582Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.648583Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.648583Z 01O | ^ 2026-02-26T04:25:50.648584Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.648584Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.648585Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.648585Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.648586Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.648586Z 01O | ^ 2026-02-26T04:25:50.648656Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.648657Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.648768Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-02-26T04:25:50.649062Z 01O | ^ 2026-02-26T04:25:50.649068Z 01O /builds/Rdatatable/data.table/src/nafill.c:105:39: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-02-26T04:25:50.649069Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-02-26T04:25:50.649070Z 01O | ^ 2026-02-26T04:25:50.649070Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-02-26T04:25:50.649071Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.649071Z 01O | ^~~~~~~~~~~~~ 2026-02-26T04:25:50.649074Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-02-26T04:25:50.649075Z 01O 124 | if (!xlength(obj)) 2026-02-26T04:25:50.649075Z 01O | ^ 2026-02-26T04:25:50.649076Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-02-26T04:25:50.649076Z 01O 128 | if (verbose) 2026-02-26T04:25:50.649077Z 01O | ^~~~~~~ 2026-02-26T04:25:50.649077Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-02-26T04:25:50.649078Z 01O 128 | if (verbose) 2026-02-26T04:25:50.649078Z 01O | ^ 2026-02-26T04:25:50.649136Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.649136Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.649137Z 01O | ^ 2026-02-26T04:25:50.649137Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.649138Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.649139Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649139Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.649140Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.649140Z 01O | ^ 2026-02-26T04:25:50.649141Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.649141Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.649142Z 01O | ^ 2026-02-26T04:25:50.649143Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.649143Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.649144Z 01O | ^ 2026-02-26T04:25:50.649148Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.649149Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.649149Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.649150Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-02-26T04:25:50.649151Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.649151Z 01O | ^ 2026-02-26T04:25:50.649172Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.649177Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.649177Z 01O | ^ 2026-02-26T04:25:50.649178Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-02-26T04:25:50.649179Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.649179Z 01O | ^ 2026-02-26T04:25:50.649180Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.649180Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.649181Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649181Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-02-26T04:25:50.649182Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-02-26T04:25:50.649183Z 01O | ^ 2026-02-26T04:25:50.649183Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-02-26T04:25:50.649184Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.649184Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.649185Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-02-26T04:25:50.649185Z 01O 138 | if (obj_scalar) { 2026-02-26T04:25:50.649186Z 01O | ^ 2026-02-26T04:25:50.649188Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-02-26T04:25:50.649189Z 01O 151 | for (int i=0; i= 'nx' 2026-02-26T04:25:50.649347Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-02-26T04:25:50.649575Z 01O | ^ 2026-02-26T04:25:50.649576Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-02-26T04:25:50.649577Z 01O 136 | SEXP x = R_NilValue; 2026-02-26T04:25:50.649577Z 01O | ^ ~~~~~~~~~~ 2026-02-26T04:25:50.649579Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-02-26T04:25:50.649580Z 01O 136 | SEXP x = R_NilValue; 2026-02-26T04:25:50.649580Z 01O | ^ ~~~~~~~~~~ 2026-02-26T04:25:50.649689Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: warning: Potential out of bound access to the region with tainted index [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.649690Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-02-26T04:25:50.649691Z 01O | ^ 2026-02-26T04:25:50.649691Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-02-26T04:25:50.649692Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-02-26T04:25:50.649692Z 01O | ^ 2026-02-26T04:25:50.649693Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-02-26T04:25:50.649693Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-02-26T04:25:50.649694Z 01O | ^ 2026-02-26T04:25:50.649741Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-02-26T04:25:50.649741Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-02-26T04:25:50.649742Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649742Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-02-26T04:25:50.649743Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-02-26T04:25:50.649744Z 01O | ^ 2026-02-26T04:25:50.649744Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-02-26T04:25:50.649745Z 01O 131 | if (length(throttle)) { 2026-02-26T04:25:50.649745Z 01O | ^ 2026-02-26T04:25:50.649746Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-02-26T04:25:50.649746Z 01O 999 | #define length(x) Rf_length(x) 2026-02-26T04:25:50.649747Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.649747Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-02-26T04:25:50.649748Z 01O 131 | if (length(throttle)) { 2026-02-26T04:25:50.649748Z 01O | ^ 2026-02-26T04:25:50.649749Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-02-26T04:25:50.649749Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-02-26T04:25:50.649750Z 01O | ^~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649750Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-02-26T04:25:50.649763Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-02-26T04:25:50.649764Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-02-26T04:25:50.649765Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649770Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-02-26T04:25:50.649771Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-02-26T04:25:50.649771Z 01O | ^ 2026-02-26T04:25:50.649772Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-02-26T04:25:50.649772Z 01O 138 | initDTthreads(); 2026-02-26T04:25:50.649773Z 01O | ^~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649811Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-02-26T04:25:50.649812Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-02-26T04:25:50.649812Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649813Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-02-26T04:25:50.649814Z 01O 14 | const char *val = getenv(name); 2026-02-26T04:25:50.649814Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.649815Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-02-26T04:25:50.649815Z 01O 14 | const char *val = getenv(name); 2026-02-26T04:25:50.649816Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.649818Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-02-26T04:25:50.649819Z 01O 14 | const char *val = getenv(name); 2026-02-26T04:25:50.649819Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.649880Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-02-26T04:25:50.649881Z 01O 15 | if (val == NULL) return def; 2026-02-26T04:25:50.649881Z 01O | ^~~ 2026-02-26T04:25:50.649882Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-02-26T04:25:50.649882Z 01O 15 | if (val == NULL) return def; 2026-02-26T04:25:50.649883Z 01O | ^ 2026-02-26T04:25:50.649883Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-02-26T04:25:50.649884Z 01O 17 | if (nchar == 0) return def; 2026-02-26T04:25:50.649884Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.649885Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-02-26T04:25:50.649885Z 01O 17 | if (nchar == 0) return def; 2026-02-26T04:25:50.649886Z 01O | ^ 2026-02-26T04:25:50.649890Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-02-26T04:25:50.649891Z 01O 20 | long int ans = strtol(val, &end, 10); // ignores leading whitespace. If it fully consumed the string, *end=='\0' and isspace('\0')==false 2026-02-26T04:25:50.649892Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649892Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:21:10: note: Access of the region with a tainted index that may be too large 2026-02-26T04:25:50.649893Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-02-26T04:25:50.649894Z 01O | ^ 2026-02-26T04:25:50.649964Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-02-26T04:25:50.649965Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-02-26T04:25:50.649966Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.649966Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-02-26T04:25:50.649967Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-02-26T04:25:50.649972Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:101:19: warning: Call to 'calloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-02-26T04:25:50.650037Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-02-26T04:25:50.650037Z 01O | ^ ~~~~~ 2026-02-26T04:25:50.650046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-02-26T04:25:50.650047Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-26T04:25:50.650047Z 01O | ^ 2026-02-26T04:25:50.650048Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650048Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650049Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650050Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-02-26T04:25:50.650050Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-26T04:25:50.650051Z 01O | ^ 2026-02-26T04:25:50.650051Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650052Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650052Z 01O | ^ 2026-02-26T04:25:50.650113Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-02-26T04:25:50.650114Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-26T04:25:50.650114Z 01O | ^ 2026-02-26T04:25:50.650114Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650115Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650116Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.650116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-02-26T04:25:50.650117Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-26T04:25:50.650117Z 01O | ^ 2026-02-26T04:25:50.650150Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650151Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650152Z 01O | ^ 2026-02-26T04:25:50.650152Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-02-26T04:25:50.650153Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-26T04:25:50.650154Z 01O | ^ 2026-02-26T04:25:50.650154Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650155Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650155Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650156Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-02-26T04:25:50.650157Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-02-26T04:25:50.650157Z 01O | ^ 2026-02-26T04:25:50.650157Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-02-26T04:25:50.650158Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-02-26T04:25:50.650159Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-02-26T04:25:50.650164Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-02-26T04:25:50.650165Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-02-26T04:25:50.650165Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650219Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-02-26T04:25:50.650220Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-02-26T04:25:50.650221Z 01O | ^ 2026-02-26T04:25:50.650221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-02-26T04:25:50.650222Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-26T04:25:50.650222Z 01O | ^ 2026-02-26T04:25:50.650223Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650223Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650224Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-02-26T04:25:50.650225Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-26T04:25:50.650226Z 01O | ^ 2026-02-26T04:25:50.650228Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650229Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650230Z 01O | ^ 2026-02-26T04:25:50.650232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-02-26T04:25:50.650233Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-26T04:25:50.650233Z 01O | ^ 2026-02-26T04:25:50.650289Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650290Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650291Z 01O | ^~~~~~~~~~~~ 2026-02-26T04:25:50.650291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-02-26T04:25:50.650292Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-26T04:25:50.650292Z 01O | ^ 2026-02-26T04:25:50.650296Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650296Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650297Z 01O | ^ 2026-02-26T04:25:50.650298Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-02-26T04:25:50.650298Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-26T04:25:50.650299Z 01O | ^ 2026-02-26T04:25:50.650372Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-02-26T04:25:50.650373Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-02-26T04:25:50.650374Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650374Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-02-26T04:25:50.650375Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-02-26T04:25:50.650376Z 01O | ^ 2026-02-26T04:25:50.650376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-02-26T04:25:50.650377Z 01O 13 | if (!length(l)) return(l); 2026-02-26T04:25:50.650377Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.650384Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-02-26T04:25:50.650385Z 01O 13 | if (!length(l)) return(l); 2026-02-26T04:25:50.650385Z 01O | ^ 2026-02-26T04:25:50.650386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-02-26T04:25:50.650386Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-02-26T04:25:50.650387Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-02-26T04:25:50.650391Z 01O 14 | if (TYPEOF(l) != VECSXP) error(_("Input to rbindlist must be a list. This list can contain data.tables, data.frames or plain lists.")); 2026-02-26T04:25:50.650392Z 01O | ^ 2026-02-26T04:25:50.650393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-02-26T04:25:50.650393Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-02-26T04:25:50.650394Z 01O | ^~~~ 2026-02-26T04:25:50.650394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-02-26T04:25:50.650395Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-02-26T04:25:50.650395Z 01O | ^ 2026-02-26T04:25:50.650398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-02-26T04:25:50.650398Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-02-26T04:25:50.650399Z 01O | ^~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-02-26T04:25:50.650444Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-02-26T04:25:50.650445Z 01O | ^~~~~ 2026-02-26T04:25:50.650445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-02-26T04:25:50.650446Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-02-26T04:25:50.650447Z 01O | ^ 2026-02-26T04:25:50.650447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-02-26T04:25:50.650448Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.650448Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.650451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.650451Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.650452Z 01O | ^ 2026-02-26T04:25:50.650510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-26T04:25:50.650511Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.650512Z 01O | ^ 2026-02-26T04:25:50.650512Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.650514Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.650515Z 01O | ^ 2026-02-26T04:25:50.650515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-26T04:25:50.650516Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.650517Z 01O | ^ 2026-02-26T04:25:50.650530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-26T04:25:50.650531Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.650531Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-26T04:25:50.650537Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.650538Z 01O | ^ 2026-02-26T04:25:50.650538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-26T04:25:50.650539Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.650539Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.650540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-26T04:25:50.650540Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.650541Z 01O | ^ 2026-02-26T04:25:50.650541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-26T04:25:50.650542Z 01O 37 | if (fill) { 2026-02-26T04:25:50.650542Z 01O | ^~~~ 2026-02-26T04:25:50.650543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-26T04:25:50.650543Z 01O 37 | if (fill) { 2026-02-26T04:25:50.650544Z 01O | ^ 2026-02-26T04:25:50.650544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-26T04:25:50.650545Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.650545Z 01O | ^~~~ 2026-02-26T04:25:50.650546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-26T04:25:50.650546Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.650547Z 01O | ^ 2026-02-26T04:25:50.650590Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-26T04:25:50.650591Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.650592Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.650630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-26T04:25:50.650631Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.650632Z 01O | ^ 2026-02-26T04:25:50.650632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-26T04:25:50.650633Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.650633Z 01O | ^~~~~~ 2026-02-26T04:25:50.650634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-26T04:25:50.650634Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.650635Z 01O | ^ 2026-02-26T04:25:50.650635Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-26T04:25:50.650636Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.650637Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.650637Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-26T04:25:50.650638Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.650638Z 01O | ^ 2026-02-26T04:25:50.650639Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-26T04:25:50.650639Z 01O 49 | for (int j=0; j0 checked above 2026-02-26T04:25:50.650668Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.650669Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-26T04:25:50.650669Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.650670Z 01O | ^ 2026-02-26T04:25:50.650672Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-26T04:25:50.650673Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.650674Z 01O | ^~~~~~~ 2026-02-26T04:25:50.650674Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-26T04:25:50.650675Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.650675Z 01O | ^ 2026-02-26T04:25:50.650737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-26T04:25:50.650738Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.650739Z 01O | ^~~~ 2026-02-26T04:25:50.650739Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-26T04:25:50.650740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-26T04:25:50.650740Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.650741Z 01O | ^~~~ 2026-02-26T04:25:50.650748Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-26T04:25:50.650749Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.650750Z 01O | ^ 2026-02-26T04:25:50.650750Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-26T04:25:50.650751Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.650752Z 01O | ^~~~ 2026-02-26T04:25:50.650752Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-26T04:25:50.650753Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.650753Z 01O | ^ 2026-02-26T04:25:50.650814Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-26T04:25:50.650814Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.650815Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.650816Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-26T04:25:50.650816Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.650817Z 01O | ^ 2026-02-26T04:25:50.650817Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.650818Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.650819Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.650819Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-26T04:25:50.650820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-26T04:25:50.650820Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.650821Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.650886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-26T04:25:50.650887Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.650887Z 01O | ^ 2026-02-26T04:25:50.650892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-26T04:25:50.650893Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.650893Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.650894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-26T04:25:50.650895Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.650895Z 01O | ^ 2026-02-26T04:25:50.650898Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-02-26T04:25:50.650899Z 01O 83 | int nuniq=0; 2026-02-26T04:25:50.650899Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.650900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-02-26T04:25:50.650900Z 01O 85 | for (int i=0; i0 checked above 2026-02-26T04:25:50.651384Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.651431Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.651432Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.651432Z 01O | ^ 2026-02-26T04:25:50.651433Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-26T04:25:50.651433Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.651434Z 01O | ^ 2026-02-26T04:25:50.651434Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.651435Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.651435Z 01O | ^ 2026-02-26T04:25:50.651436Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-26T04:25:50.651437Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.651437Z 01O | ^ 2026-02-26T04:25:50.651437Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-26T04:25:50.651438Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.651439Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.651439Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-26T04:25:50.651440Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.651441Z 01O | ^ 2026-02-26T04:25:50.651441Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-26T04:25:50.651442Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.651442Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.651443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-26T04:25:50.651443Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.651444Z 01O | ^ 2026-02-26T04:25:50.651444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-26T04:25:50.651445Z 01O 37 | if (fill) { 2026-02-26T04:25:50.651445Z 01O | ^~~~ 2026-02-26T04:25:50.651446Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-26T04:25:50.651446Z 01O 37 | if (fill) { 2026-02-26T04:25:50.651447Z 01O | ^ 2026-02-26T04:25:50.651509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-26T04:25:50.651510Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.651510Z 01O | ^~~~ 2026-02-26T04:25:50.651511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-26T04:25:50.651512Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.651513Z 01O | ^ 2026-02-26T04:25:50.651519Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-26T04:25:50.651520Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.651520Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.651521Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-26T04:25:50.651522Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.651522Z 01O | ^ 2026-02-26T04:25:50.651523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-26T04:25:50.651523Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.651529Z 01O | ^~~~~~ 2026-02-26T04:25:50.651529Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-26T04:25:50.651530Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.651531Z 01O | ^ 2026-02-26T04:25:50.651582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-26T04:25:50.651583Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.651584Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.651584Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-26T04:25:50.651585Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.651585Z 01O | ^ 2026-02-26T04:25:50.651586Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-26T04:25:50.651586Z 01O 49 | for (int j=0; j0 checked above 2026-02-26T04:25:50.651598Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.651598Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-26T04:25:50.651599Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.651599Z 01O | ^ 2026-02-26T04:25:50.651600Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-26T04:25:50.651600Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.651601Z 01O | ^~~~~~~ 2026-02-26T04:25:50.651601Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-26T04:25:50.651602Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.651602Z 01O | ^ 2026-02-26T04:25:50.651603Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-26T04:25:50.651604Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.651604Z 01O | ^~~~ 2026-02-26T04:25:50.651605Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-26T04:25:50.651605Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-26T04:25:50.651606Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.651606Z 01O | ^~~~ 2026-02-26T04:25:50.651655Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-26T04:25:50.651656Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.651656Z 01O | ^ 2026-02-26T04:25:50.651658Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-26T04:25:50.651659Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.651660Z 01O | ^~~~ 2026-02-26T04:25:50.651711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-26T04:25:50.651712Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.651718Z 01O | ^ 2026-02-26T04:25:50.651718Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-26T04:25:50.651719Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.651719Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.651720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-26T04:25:50.651720Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.651721Z 01O | ^ 2026-02-26T04:25:50.651722Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.651722Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.651723Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.651723Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-26T04:25:50.651797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-26T04:25:50.651798Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.651799Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.651799Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-26T04:25:50.651800Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.651800Z 01O | ^ 2026-02-26T04:25:50.651801Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-26T04:25:50.651801Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.651802Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.651831Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-26T04:25:50.651832Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.651833Z 01O | ^ 2026-02-26T04:25:50.651833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-02-26T04:25:50.651834Z 01O 85 | for (int i=0; i= 'thisncol' 2026-02-26T04:25:50.651912Z 01O 92 | for (int j=0; j 'ncol' 2026-02-26T04:25:50.652045Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-26T04:25:50.652045Z 01O | ^~~~~~ 2026-02-26T04:25:50.652046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-02-26T04:25:50.652046Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-26T04:25:50.652047Z 01O | ^ 2026-02-26T04:25:50.652076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-02-26T04:25:50.652077Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-26T04:25:50.652077Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.652078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-02-26T04:25:50.652078Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-02-26T04:25:50.652079Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.652148Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:153:40: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-02-26T04:25:50.652149Z 01O 153 | for (int j=0; j0 checked above 2026-02-26T04:25:50.652582Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.652582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.652583Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.652583Z 01O | ^ 2026-02-26T04:25:50.652584Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-26T04:25:50.652584Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.652585Z 01O | ^ 2026-02-26T04:25:50.652585Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.652586Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.652586Z 01O | ^ 2026-02-26T04:25:50.652587Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-26T04:25:50.652588Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.652588Z 01O | ^ 2026-02-26T04:25:50.652588Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-26T04:25:50.652589Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.652590Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.652604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-26T04:25:50.652605Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.652606Z 01O | ^ 2026-02-26T04:25:50.652606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-26T04:25:50.652607Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.652607Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.652626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-26T04:25:50.652627Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.652628Z 01O | ^ 2026-02-26T04:25:50.652628Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-26T04:25:50.652629Z 01O 37 | if (fill) { 2026-02-26T04:25:50.652629Z 01O | ^~~~ 2026-02-26T04:25:50.652630Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-26T04:25:50.652630Z 01O 37 | if (fill) { 2026-02-26T04:25:50.652631Z 01O | ^ 2026-02-26T04:25:50.652687Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-26T04:25:50.652688Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.652688Z 01O | ^~~~ 2026-02-26T04:25:50.652694Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-26T04:25:50.652694Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.652695Z 01O | ^ 2026-02-26T04:25:50.652695Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-26T04:25:50.652696Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.652697Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.652697Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-26T04:25:50.652698Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.652698Z 01O | ^ 2026-02-26T04:25:50.652699Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-26T04:25:50.652699Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.652700Z 01O | ^~~~~~ 2026-02-26T04:25:50.652700Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-26T04:25:50.652701Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.652702Z 01O | ^ 2026-02-26T04:25:50.652756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-26T04:25:50.652757Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.652757Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.652758Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-26T04:25:50.652759Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.652759Z 01O | ^ 2026-02-26T04:25:50.652760Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-26T04:25:50.652760Z 01O 49 | for (int j=0; j0 checked above 2026-02-26T04:25:50.652798Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.652798Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-26T04:25:50.652799Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.652800Z 01O | ^ 2026-02-26T04:25:50.652800Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-26T04:25:50.652801Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.652801Z 01O | ^~~~~~~ 2026-02-26T04:25:50.652802Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-26T04:25:50.652802Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.652803Z 01O | ^ 2026-02-26T04:25:50.652803Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-26T04:25:50.652804Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.652804Z 01O | ^~~~ 2026-02-26T04:25:50.652805Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-26T04:25:50.652845Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-26T04:25:50.652851Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.652851Z 01O | ^~~~ 2026-02-26T04:25:50.652852Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-26T04:25:50.652852Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.652853Z 01O | ^ 2026-02-26T04:25:50.652914Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-26T04:25:50.652915Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.652915Z 01O | ^~~~ 2026-02-26T04:25:50.652916Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-26T04:25:50.652916Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.652917Z 01O | ^ 2026-02-26T04:25:50.652918Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-26T04:25:50.652918Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.652919Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.652920Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-26T04:25:50.652920Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.652921Z 01O | ^ 2026-02-26T04:25:50.652973Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.652974Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.652975Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.652975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-26T04:25:50.652976Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-26T04:25:50.652977Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.652977Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.652981Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-26T04:25:50.652981Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.652982Z 01O | ^ 2026-02-26T04:25:50.652982Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-26T04:25:50.652983Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.652983Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.652984Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-26T04:25:50.652985Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.652985Z 01O | ^ 2026-02-26T04:25:50.652986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-02-26T04:25:50.652986Z 01O 85 | for (int i=0; i= 'thisncol' 2026-02-26T04:25:50.653124Z 01O 92 | for (int j=0; j= 'thisncol' 2026-02-26T04:25:50.653252Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-02-26T04:25:50.653304Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.653304Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-02-26T04:25:50.653305Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-02-26T04:25:50.653310Z 01O | ^ 2026-02-26T04:25:50.653310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-02-26T04:25:50.653311Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-02-26T04:25:50.653319Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.653379Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-02-26T04:25:50.653380Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-26T04:25:50.653381Z 01O | ^ 2026-02-26T04:25:50.653381Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-02-26T04:25:50.653382Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.653382Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.653383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-26T04:25:50.653386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-02-26T04:25:50.653387Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.653387Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.653388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-26T04:25:50.653388Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.653389Z 01O | ^ 2026-02-26T04:25:50.653389Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-02-26T04:25:50.653390Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.653390Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.653391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-02-26T04:25:50.653392Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.653392Z 01O | ^ 2026-02-26T04:25:50.653424Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-02-26T04:25:50.653425Z 01O 142 | for (int i=0; i= 'ncol' 2026-02-26T04:25:50.653429Z 01O 143 | for (int i=0; i0 checked above 2026-02-26T04:25:50.654052Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.654055Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.654056Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.654057Z 01O | ^ 2026-02-26T04:25:50.654057Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-26T04:25:50.654058Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.654058Z 01O | ^ 2026-02-26T04:25:50.654059Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.654059Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.654060Z 01O | ^ 2026-02-26T04:25:50.654060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-26T04:25:50.654061Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.654061Z 01O | ^ 2026-02-26T04:25:50.654116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-26T04:25:50.654117Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.654118Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.654118Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-26T04:25:50.654119Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.654124Z 01O | ^ 2026-02-26T04:25:50.654124Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-26T04:25:50.654125Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.654125Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.654126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-26T04:25:50.654126Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.654127Z 01O | ^ 2026-02-26T04:25:50.654129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-26T04:25:50.654130Z 01O 37 | if (fill) { 2026-02-26T04:25:50.654130Z 01O | ^~~~ 2026-02-26T04:25:50.654131Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-26T04:25:50.654131Z 01O 37 | if (fill) { 2026-02-26T04:25:50.654132Z 01O | ^ 2026-02-26T04:25:50.654137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-26T04:25:50.654138Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.654139Z 01O | ^~~~ 2026-02-26T04:25:50.654139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-26T04:25:50.654140Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.654140Z 01O | ^ 2026-02-26T04:25:50.654184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-26T04:25:50.654184Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.654185Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.654186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-26T04:25:50.654186Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.654187Z 01O | ^ 2026-02-26T04:25:50.654187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-26T04:25:50.654188Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.654189Z 01O | ^~~~~~ 2026-02-26T04:25:50.654189Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-26T04:25:50.654190Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.654190Z 01O | ^ 2026-02-26T04:25:50.654193Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-26T04:25:50.654193Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.654194Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.654256Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-26T04:25:50.654257Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.654258Z 01O | ^ 2026-02-26T04:25:50.654259Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-02-26T04:25:50.654259Z 01O 49 | for (int j=0; j0 checked above 2026-02-26T04:25:50.654290Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.654290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-26T04:25:50.654291Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.654292Z 01O | ^ 2026-02-26T04:25:50.654292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-26T04:25:50.654293Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.654293Z 01O | ^~~~~~~ 2026-02-26T04:25:50.654294Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-26T04:25:50.654294Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.654295Z 01O | ^ 2026-02-26T04:25:50.654295Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-26T04:25:50.654296Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.654296Z 01O | ^~~~ 2026-02-26T04:25:50.654297Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-26T04:25:50.654297Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-26T04:25:50.654298Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.654298Z 01O | ^~~~ 2026-02-26T04:25:50.654299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-26T04:25:50.654299Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.654300Z 01O | ^ 2026-02-26T04:25:50.654334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-26T04:25:50.654335Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.654336Z 01O | ^~~~ 2026-02-26T04:25:50.654357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-26T04:25:50.654358Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.654358Z 01O | ^ 2026-02-26T04:25:50.654359Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-26T04:25:50.654359Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.654360Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.654361Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-26T04:25:50.654361Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.654362Z 01O | ^ 2026-02-26T04:25:50.654362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.654363Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.654364Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.654364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-26T04:25:50.654402Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-02-26T04:25:50.654403Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.654403Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.654404Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-02-26T04:25:50.654404Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.654405Z 01O | ^ 2026-02-26T04:25:50.654422Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-02-26T04:25:50.654430Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.654431Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.654432Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-02-26T04:25:50.654432Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-02-26T04:25:50.654433Z 01O | ^ 2026-02-26T04:25:50.654433Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-02-26T04:25:50.654434Z 01O 85 | for (int i=0; i= 'thisncol' 2026-02-26T04:25:50.654554Z 01O 92 | for (int j=0; j= 'thisncol' 2026-02-26T04:25:50.654689Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-02-26T04:25:50.654716Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.654716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-02-26T04:25:50.654717Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-02-26T04:25:50.654718Z 01O | ^ 2026-02-26T04:25:50.654720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-02-26T04:25:50.654720Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-02-26T04:25:50.654749Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.654751Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-02-26T04:25:50.654752Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-02-26T04:25:50.654752Z 01O | ^ 2026-02-26T04:25:50.654783Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-02-26T04:25:50.654784Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.654785Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.654785Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-26T04:25:50.654788Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-02-26T04:25:50.654788Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.654789Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.654791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-02-26T04:25:50.654791Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.654792Z 01O | ^ 2026-02-26T04:25:50.654798Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-02-26T04:25:50.654803Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.654803Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.654804Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-02-26T04:25:50.654805Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-02-26T04:25:50.654805Z 01O | ^ 2026-02-26T04:25:50.654892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-02-26T04:25:50.654893Z 01O 142 | for (int i=0; i= 'ncol' 2026-02-26T04:25:50.654896Z 01O 143 | for (int i=0; i0 checked above 2026-02-26T04:25:50.655536Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.655536Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.655537Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.655538Z 01O | ^ 2026-02-26T04:25:50.655538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-26T04:25:50.655539Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.655539Z 01O | ^ 2026-02-26T04:25:50.655540Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.655540Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.655541Z 01O | ^ 2026-02-26T04:25:50.655541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-26T04:25:50.655542Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.655542Z 01O | ^ 2026-02-26T04:25:50.655597Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-26T04:25:50.655598Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.655598Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.655599Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-26T04:25:50.655599Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.655600Z 01O | ^ 2026-02-26T04:25:50.655607Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-26T04:25:50.655607Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.655608Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.655608Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-26T04:25:50.655609Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.655609Z 01O | ^ 2026-02-26T04:25:50.655610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-26T04:25:50.655610Z 01O 37 | if (fill) { 2026-02-26T04:25:50.655611Z 01O | ^~~~ 2026-02-26T04:25:50.655611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-26T04:25:50.655612Z 01O 37 | if (fill) { 2026-02-26T04:25:50.655612Z 01O | ^ 2026-02-26T04:25:50.655613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-26T04:25:50.655613Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.655614Z 01O | ^~~~ 2026-02-26T04:25:50.655614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-26T04:25:50.655615Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.655615Z 01O | ^ 2026-02-26T04:25:50.655676Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-26T04:25:50.655677Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.655677Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.655678Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-26T04:25:50.655679Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.655679Z 01O | ^ 2026-02-26T04:25:50.655684Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-26T04:25:50.655685Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.655685Z 01O | ^~~~~~ 2026-02-26T04:25:50.655686Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-26T04:25:50.655686Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.655687Z 01O | ^ 2026-02-26T04:25:50.655690Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-02-26T04:25:50.655691Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.655692Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.655692Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.655693Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.655693Z 01O | ^ 2026-02-26T04:25:50.655763Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-02-26T04:25:50.655764Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.655765Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.655793Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-02-26T04:25:50.655793Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.655794Z 01O | ^ 2026-02-26T04:25:50.655795Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-26T04:25:50.655795Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.655796Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.655797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-26T04:25:50.655797Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.655798Z 01O | ^ 2026-02-26T04:25:50.655798Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.655799Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-02-26T04:25:50.655802Z 01O | ^~~~ 2026-02-26T04:25:50.655802Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-02-26T04:25:50.655803Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-02-26T04:25:50.655804Z 01O | ^ 2026-02-26T04:25:50.655873Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-02-26T04:25:50.655874Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-26T04:25:50.655874Z 01O | ^~~~~ 2026-02-26T04:25:50.655875Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-02-26T04:25:50.655880Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-26T04:25:50.655880Z 01O | ^ 2026-02-26T04:25:50.655881Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-02-26T04:25:50.655881Z 01O 49 | for (int j=0; j0 checked above 2026-02-26T04:25:50.655887Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.655887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-26T04:25:50.655888Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.655888Z 01O | ^ 2026-02-26T04:25:50.655889Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-26T04:25:50.655889Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.655890Z 01O | ^~~~~~~ 2026-02-26T04:25:50.655890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-26T04:25:50.655891Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.655891Z 01O | ^ 2026-02-26T04:25:50.655898Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-02-26T04:25:50.655899Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.655899Z 01O | ^~~~ 2026-02-26T04:25:50.655900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-02-26T04:25:50.655902Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-02-26T04:25:50.655903Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.655903Z 01O | ^~~~ 2026-02-26T04:25:50.655975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-02-26T04:25:50.655976Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.655976Z 01O | ^ 2026-02-26T04:25:50.655977Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-26T04:25:50.655978Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.655978Z 01O | ^~~~ 2026-02-26T04:25:50.655981Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-26T04:25:50.655982Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.655983Z 01O | ^ 2026-02-26T04:25:50.655983Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-26T04:25:50.655984Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.655985Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.656058Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-26T04:25:50.656059Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.656059Z 01O | ^ 2026-02-26T04:25:50.656060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-02-26T04:25:50.656061Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-02-26T04:25:50.656061Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.656062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.656067Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.656067Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.656068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-26T04:25:50.656068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-02-26T04:25:50.656069Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.656069Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.656070Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-02-26T04:25:50.656071Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.656071Z 01O | ^ 2026-02-26T04:25:50.656074Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-02-26T04:25:50.656075Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-02-26T04:25:50.656075Z 01O | ^~~~ 2026-02-26T04:25:50.656078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-02-26T04:25:50.656079Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-02-26T04:25:50.656080Z 01O | ^ 2026-02-26T04:25:50.656080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-02-26T04:25:50.656081Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.656081Z 01O | ^~~~ 2026-02-26T04:25:50.656135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-02-26T04:25:50.656136Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.656136Z 01O | ^ 2026-02-26T04:25:50.656137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.656137Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.656138Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.656138Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-02-26T04:25:50.656143Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-02-26T04:25:50.656143Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.656144Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.656145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-02-26T04:25:50.656145Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.656146Z 01O | ^ 2026-02-26T04:25:50.656146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-02-26T04:25:50.656147Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-26T04:25:50.656147Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.656148Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-02-26T04:25:50.656148Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-26T04:25:50.656149Z 01O | ^ 2026-02-26T04:25:50.656149Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-02-26T04:25:50.656150Z 01O 251 | if (idcol) { 2026-02-26T04:25:50.656150Z 01O | ^~~~~ 2026-02-26T04:25:50.656151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-02-26T04:25:50.656151Z 01O 251 | if (idcol) { 2026-02-26T04:25:50.656152Z 01O | ^ 2026-02-26T04:25:50.656152Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.656157Z 01O 276 | for(int j=0; j0 checked above 2026-02-26T04:25:50.656741Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.656741Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.656742Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.656742Z 01O | ^ 2026-02-26T04:25:50.656748Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-02-26T04:25:50.656749Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.656750Z 01O | ^ 2026-02-26T04:25:50.656750Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-02-26T04:25:50.656751Z 01O 968 | #define isNull Rf_isNull 2026-02-26T04:25:50.656751Z 01O | ^ 2026-02-26T04:25:50.656833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-02-26T04:25:50.656834Z 01O 32 | if (isNull(li)) continue; 2026-02-26T04:25:50.656835Z 01O | ^ 2026-02-26T04:25:50.656857Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-02-26T04:25:50.656858Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.656859Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.656859Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-02-26T04:25:50.656860Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-02-26T04:25:50.656861Z 01O | ^ 2026-02-26T04:25:50.656861Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-02-26T04:25:50.656862Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.656862Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.656863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-02-26T04:25:50.656863Z 01O 35 | if (!thisncol) continue; 2026-02-26T04:25:50.656864Z 01O | ^ 2026-02-26T04:25:50.656864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-02-26T04:25:50.656865Z 01O 37 | if (fill) { 2026-02-26T04:25:50.656865Z 01O | ^~~~ 2026-02-26T04:25:50.656866Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-02-26T04:25:50.656866Z 01O 37 | if (fill) { 2026-02-26T04:25:50.656867Z 01O | ^ 2026-02-26T04:25:50.656867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-02-26T04:25:50.656868Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.656868Z 01O | ^~~~ 2026-02-26T04:25:50.656869Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-02-26T04:25:50.656869Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-02-26T04:25:50.656870Z 01O | ^ 2026-02-26T04:25:50.656968Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-02-26T04:25:50.656968Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.656975Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.656975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-02-26T04:25:50.656976Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-02-26T04:25:50.656977Z 01O | ^ 2026-02-26T04:25:50.656977Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-02-26T04:25:50.656978Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.656978Z 01O | ^~~~~~ 2026-02-26T04:25:50.656979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-02-26T04:25:50.656979Z 01O 45 | if (nNames>0) anyNames=true; 2026-02-26T04:25:50.656980Z 01O | ^ 2026-02-26T04:25:50.656985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-02-26T04:25:50.656985Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.656986Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.656987Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.656987Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.656988Z 01O | ^ 2026-02-26T04:25:50.656988Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-02-26T04:25:50.656989Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.656990Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.656990Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-02-26T04:25:50.656991Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.656992Z 01O | ^ 2026-02-26T04:25:50.657038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-02-26T04:25:50.657039Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.657039Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.657040Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-02-26T04:25:50.657041Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-02-26T04:25:50.657041Z 01O | ^ 2026-02-26T04:25:50.657043Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.657044Z 01O 49 | for (int j=0; j1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-02-26T04:25:50.657052Z 01O | ^~~~ 2026-02-26T04:25:50.657126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-02-26T04:25:50.657127Z 01O 51 | if (tt>1 && tt!=maxLen) error(_("Column %d of item %d is length %d inconsistent with column %d which is length %d. Only length-1 columns are recycled."), j+1, i+1, tt, whichMax+1, maxLen); 2026-02-26T04:25:50.657132Z 01O | ^ 2026-02-26T04:25:50.657137Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-02-26T04:25:50.657138Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-26T04:25:50.657138Z 01O | ^~~~~ 2026-02-26T04:25:50.657139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-02-26T04:25:50.657139Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-02-26T04:25:50.657140Z 01O | ^ 2026-02-26T04:25:50.657140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-02-26T04:25:50.657141Z 01O 49 | for (int j=0; j0 checked above 2026-02-26T04:25:50.657143Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.657144Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-02-26T04:25:50.657144Z 01O 29 | for (int i=0; i0 checked above 2026-02-26T04:25:50.657145Z 01O | ^ 2026-02-26T04:25:50.657145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-02-26T04:25:50.657146Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.657147Z 01O | ^~~~~~~ 2026-02-26T04:25:50.657149Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-02-26T04:25:50.657149Z 01O 57 | if (numZero) { // #1871 2026-02-26T04:25:50.657150Z 01O | ^ 2026-02-26T04:25:50.657199Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-02-26T04:25:50.657200Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.657201Z 01O | ^~~~ 2026-02-26T04:25:50.657201Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-02-26T04:25:50.657202Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-02-26T04:25:50.657202Z 01O | ^ 2026-02-26T04:25:50.657205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-02-26T04:25:50.657206Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.657207Z 01O | ^~~~ 2026-02-26T04:25:50.657207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-02-26T04:25:50.657208Z 01O 66 | if (nrow>INT32_MAX) error(_("Total rows in the list is %"PRId64" which is larger than the maximum number of rows, currently %d"), (int64_t)nrow, INT32_MAX); 2026-02-26T04:25:50.657209Z 01O | ^ 2026-02-26T04:25:50.657211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-02-26T04:25:50.657212Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.657212Z 01O | ^~~~~~~~~~~~~~ 2026-02-26T04:25:50.657272Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-02-26T04:25:50.657273Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-02-26T04:25:50.657274Z 01O | ^ 2026-02-26T04:25:50.657276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-02-26T04:25:50.657276Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-02-26T04:25:50.657282Z 01O | ^~~~~~~~~~~ 2026-02-26T04:25:50.657284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.657284Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.657285Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.657286Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-02-26T04:25:50.657326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-02-26T04:25:50.657327Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.657328Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.657328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-02-26T04:25:50.657329Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-02-26T04:25:50.657330Z 01O | ^ 2026-02-26T04:25:50.657334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-02-26T04:25:50.657335Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-02-26T04:25:50.657335Z 01O | ^~~~ 2026-02-26T04:25:50.657336Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-02-26T04:25:50.657337Z 01O 194 | if (fill && usenames==NA_LOGICAL) internal_error(__func__, "usenames==NA but fill=TRUE. usenames should have been set to TRUE earlier with warning"); // # nocov 2026-02-26T04:25:50.657337Z 01O | ^ 2026-02-26T04:25:50.657338Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-02-26T04:25:50.657338Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.657339Z 01O | ^~~~ 2026-02-26T04:25:50.657339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-02-26T04:25:50.657340Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.657341Z 01O | ^ 2026-02-26T04:25:50.657347Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-02-26T04:25:50.657348Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.657348Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.657349Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-02-26T04:25:50.657352Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-02-26T04:25:50.657352Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.657353Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.657353Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-02-26T04:25:50.657354Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-02-26T04:25:50.657355Z 01O | ^ 2026-02-26T04:25:50.657386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-02-26T04:25:50.657387Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-26T04:25:50.657387Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.657388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-02-26T04:25:50.657388Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-02-26T04:25:50.657389Z 01O | ^ 2026-02-26T04:25:50.657406Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-02-26T04:25:50.657407Z 01O 251 | if (idcol) { 2026-02-26T04:25:50.657407Z 01O | ^~~~~ 2026-02-26T04:25:50.657408Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-02-26T04:25:50.657414Z 01O 251 | if (idcol) { 2026-02-26T04:25:50.657414Z 01O | ^ 2026-02-26T04:25:50.657415Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.657416Z 01O 276 | for(int j=0; j= 1 2026-02-26T04:25:50.657924Z 01O 27 | if (n<1) return 0; 2026-02-26T04:25:50.657924Z 01O | ^~~ 2026-02-26T04:25:50.657925Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-02-26T04:25:50.657925Z 01O 27 | if (n<1) return 0; 2026-02-26T04:25:50.657926Z 01O | ^ 2026-02-26T04:25:50.657926Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-02-26T04:25:50.657927Z 01O 29 | va_start(ap, fmt); 2026-02-26T04:25:50.657927Z 01O | ^ 2026-02-26T04:25:50.658007Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-02-26T04:25:50.658007Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-02-26T04:25:50.658008Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-02-26T04:25:50.658009Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-02-26T04:25:50.658009Z 01O 40 | while (*ch!='\0') { 2026-02-26T04:25:50.658010Z 01O | ^~~~~~~~~ 2026-02-26T04:25:50.658010Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-02-26T04:25:50.658011Z 01O 40 | while (*ch!='\0') { 2026-02-26T04:25:50.658011Z 01O | ^ 2026-02-26T04:25:50.658012Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-02-26T04:25:50.658012Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-02-26T04:25:50.658013Z 01O | ^~~~~~~~ 2026-02-26T04:25:50.658013Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-02-26T04:25:50.658014Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-02-26T04:25:50.658014Z 01O | ^ 2026-02-26T04:25:50.658086Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-02-26T04:25:50.658087Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-02-26T04:25:50.658088Z 01O | ^~~~~~~~~~ 2026-02-26T04:25:50.658088Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-02-26T04:25:50.658089Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-02-26T04:25:50.658089Z 01O | ^ 2026-02-26T04:25:50.658090Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-02-26T04:25:50.658090Z 01O 47 | if (!end) { 2026-02-26T04:25:50.658091Z 01O | ^~~~ 2026-02-26T04:25:50.658091Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-02-26T04:25:50.658092Z 01O 47 | if (!end) { 2026-02-26T04:25:50.658092Z 01O | ^ 2026-02-26T04:25:50.658096Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-02-26T04:25:50.658097Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-02-26T04:25:50.658097Z 01O | ^ 2026-02-26T04:25:50.658098Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-02-26T04:25:50.658103Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-02-26T04:25:50.658104Z 01O | ^~~~~~ 2026-02-26T04:25:50.658159Z 01O /builds/Rdatatable/data.table/src/snprintf.c:112:5: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-02-26T04:25:50.658161Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-02-26T04:25:50.658161Z 01O | ^~~~~~ 2026-02-26T04:25:50.675745Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-02-26T04:25:51.205082Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-02-26T04:25:51.205099Z 01O * using R Under development (unstable) (2026-02-25 r89479) 2026-02-26T04:25:51.205381Z 01O * using platform: x86_64-pc-linux-gnu 2026-02-26T04:25:51.205537Z 01O * R was compiled by 2026-02-26T04:25:51.205693Z 01O Debian clang version 21.1.8 (3+b1) 2026-02-26T04:25:51.205694Z 01O GNU Fortran (Debian 15.2.0-13) 15.2.0 2026-02-26T04:25:51.205923Z 01O * running under: Debian GNU/Linux forky/sid 2026-02-26T04:25:51.206128Z 01O * using session charset: UTF-8 2026-02-26T04:25:51.206626Z 01O * current time: 2026-02-26 04:25:51 UTC 2026-02-26T04:25:51.947783Z 01O * using option ‘--as-cran’ 2026-02-26T04:25:51.948052Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-02-26T04:25:51.950246Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-02-26T04:25:51.950491Z 01O * package encoding: UTF-8 2026-02-26T04:25:51.950745Z 01O * checking CRAN incoming feasibility ... OK 2026-02-26T04:25:52.479127Z 01O * checking package namespace information ... OK 2026-02-26T04:25:52.487072Z 01O * checking package dependencies ... OK 2026-02-26T04:25:53.525583Z 01O * checking if this is a source package ... OK 2026-02-26T04:25:53.528886Z 01O * checking if there is a namespace ... OK 2026-02-26T04:25:53.533379Z 01O * checking for .dll and .exe files ... OK 2026-02-26T04:25:53.534034Z 01O * checking for hidden files and directories ... OK 2026-02-26T04:25:53.537149Z 01O * checking for portable file names ... OK 2026-02-26T04:25:53.541794Z 01O * checking for sufficient/correct file permissions ... OK 2026-02-26T04:25:53.545607Z 01O * checking whether package ‘data.table’ can be installed ... [21s/21s] OK 2026-02-26T04:26:14.438972Z 01O * used C compiler: ‘Debian clang version 21.1.8 (3+b1)’ 2026-02-26T04:26:14.439358Z 01O * checking installed package size ... INFO 2026-02-26T04:26:14.450960Z 01O installed size is 7.9Mb 2026-02-26T04:26:14.451631Z 01O sub-directories of 1Mb or more: 2026-02-26T04:26:14.452164Z 01O doc 1.1Mb 2026-02-26T04:26:14.452165Z 01O libs 1.5Mb 2026-02-26T04:26:14.452165Z 01O po 1.7Mb 2026-02-26T04:26:14.452166Z 01O tests 2.2Mb 2026-02-26T04:26:14.462309Z 01O * checking package directory ... OK 2026-02-26T04:26:14.462756Z 01O * checking for future file timestamps ... OK 2026-02-26T04:26:14.463364Z 01O * checking ‘build’ directory ... OK 2026-02-26T04:26:14.464179Z 01O * checking DESCRIPTION meta-information ... OK 2026-02-26T04:26:15.251294Z 01O * checking top-level files ... OK 2026-02-26T04:26:16.854556Z 01O * checking for left-over files ... OK 2026-02-26T04:26:16.858342Z 01O * checking index information ... OK 2026-02-26T04:26:17.038905Z 01O * checking package subdirectories ... OK 2026-02-26T04:26:17.430156Z 01O * checking code files for non-ASCII characters ... OK 2026-02-26T04:26:17.482527Z 01O * checking R files for syntax errors ... OK 2026-02-26T04:26:17.565242Z 01O * checking whether the package can be loaded ... OK 2026-02-26T04:26:17.764440Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-02-26T04:26:17.928046Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-02-26T04:26:18.092756Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-02-26T04:26:18.254097Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-02-26T04:26:18.459371Z 01O * checking loading without being on the library search path ... OK 2026-02-26T04:26:18.880878Z 01O * checking whether startup messages can be suppressed ... OK 2026-02-26T04:26:19.086292Z 01O * checking use of S3 registration ... OK 2026-02-26T04:26:19.117467Z 01O * checking dependencies in R code ... OK 2026-02-26T04:26:19.967267Z 01O * checking S3 generic/method consistency ... OK 2026-02-26T04:26:20.310259Z 01O * checking replacement functions ... OK 2026-02-26T04:26:20.512068Z 01O * checking foreign function calls ... OK 2026-02-26T04:26:21.317966Z 01O * checking R code for possible problems ... [16s/16s] OK 2026-02-26T04:26:37.158664Z 01O * checking Rd files ... OK 2026-02-26T04:26:38.006580Z 01O * checking Rd metadata ... OK 2026-02-26T04:26:38.050904Z 01O * checking Rd line widths ... OK 2026-02-26T04:26:38.339174Z 01O * checking Rd cross-references ... OK 2026-02-26T04:26:38.898799Z 01O * checking for missing documentation entries ... OK 2026-02-26T04:26:39.132996Z 01O * checking for code/documentation mismatches ... OK 2026-02-26T04:26:40.129450Z 01O * checking Rd \usage sections ... OK 2026-02-26T04:26:41.011918Z 01O * checking Rd contents ... OK 2026-02-26T04:26:41.450206Z 01O * checking for unstated dependencies in examples ... OK 2026-02-26T04:26:41.934943Z 01O * checking line endings in shell scripts ... OK 2026-02-26T04:26:41.935414Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-02-26T04:26:41.954330Z 01O * checking line endings in Makefiles ... OK 2026-02-26T04:26:41.954825Z 01O * checking compilation flags in Makevars ... OK 2026-02-26T04:26:42.010353Z 01O * checking for GNU extensions in Makefiles ... OK 2026-02-26T04:26:42.011340Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-02-26T04:26:42.012688Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-02-26T04:26:42.017057Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-02-26T04:26:42.023939Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-02-26T04:26:42.048206Z 01O * checking compilation flags used ... OK 2026-02-26T04:26:42.049926Z 01O * checking compiled code ... OK 2026-02-26T04:26:42.172232Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-02-26T04:26:42.372938Z 01O * checking files in ‘vignettes’ ... OK 2026-02-26T04:26:43.210904Z 01O * checking examples ... OK 2026-02-26T04:26:49.994627Z 01O * checking examples with --run-donttest ... OK 2026-02-26T04:26:59.543037Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-02-26T04:26:59.612253Z 01O * checking tests ... 2026-02-26T04:26:59.758799Z 01O Running ‘autoprint.R’ 2026-02-26T04:27:00.010686Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-02-26T04:27:00.017487Z 01O Running ‘froll.R’ [383s/383s] 2026-02-26T04:33:23.217189Z 01O Running ‘litedown.R’ 2026-02-26T04:33:23.526482Z 01O Running ‘main.R’ [41s/41s] 2026-02-26T04:34:04.669347Z 01O Running ‘mergelist.R’ 2026-02-26T04:34:06.179129Z 01O Running ‘nafill.R’ 2026-02-26T04:34:06.673384Z 01O Running ‘optimize.R’ 2026-02-26T04:34:07.993049Z 01O Running ‘other.R’ 2026-02-26T04:34:08.198174Z 01O Running ‘programming.R’ 2026-02-26T04:34:08.794906Z 01O Running ‘S4.R’ 2026-02-26T04:34:09.121999Z 01O Running ‘types.R’ 2026-02-26T04:34:09.366945Z 01O [430s/430s] OK 2026-02-26T04:34:09.469114Z 01O * checking for unstated dependencies in vignettes ... OK 2026-02-26T04:34:09.750219Z 01O * checking package vignettes ... OK 2026-02-26T04:34:10.383670Z 01O * checking re-building of vignette outputs ... [30s/31s] OK 2026-02-26T04:34:41.202094Z 01O * checking PDF version of manual ... OK 2026-02-26T04:34:47.191216Z 01O * checking HTML version of manual ... NOTE 2026-02-26T04:34:53.645661Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-02-26T04:34:53.645787Z 01O * checking for non-standard things in the check directory ... OK 2026-02-26T04:34:53.646395Z 01O * checking for detritus in the temp directory ... OK 2026-02-26T04:34:53.647105Z 01O * DONE 2026-02-26T04:34:53.647640Z 01E 2026-02-26T04:34:53.647739Z 01O Status: 1 NOTE 2026-02-26T04:34:53.647833Z 01E See 2026-02-26T04:34:53.647833Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-02-26T04:34:53.647835Z 01E for details. 2026-02-26T04:34:53.648147Z 01E 2026-02-26T04:34:53.669418Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-02-26T04:34:53.671389Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2026-02-26T04:34:54.013231Z 00O section_end:1772080494:step_script 2026-02-26T04:34:54.013235Z 00O+section_start:1772080494:after_script 2026-02-26T04:34:54.013613Z 00O+Running after_script 2026-02-26T04:34:54.376885Z 01O Running after script... 2026-02-26T04:34:54.376902Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-02-26T04:34:54.378030Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-02-26T04:34:54.378074Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-02-26T04:34:54.378165Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-02-26T04:34:54.378217Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-02-26T04:34:54.552207Z 00O section_end:1772080494:after_script 2026-02-26T04:34:54.552210Z 00O+section_start:1772080494:upload_artifacts_on_success 2026-02-26T04:34:54.552881Z 00O+Uploading artifacts for successful job 2026-02-26T04:34:54.945182Z 01O Uploading artifacts... 2026-02-26T04:34:55.015121Z 01E bus/test-lin-dev-clang-cran: found 713 matching artifact files and directories 2026-02-26T04:34:57.332759Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=96da82cc643a476c82a957e9c6055228 id=13270516156 responseStatus=201 Created token=6c_WXTrr3 2026-02-26T04:34:57.509170Z 00O section_end:1772080497:upload_artifacts_on_success 2026-02-26T04:34:57.509174Z 00O+section_start:1772080497:cleanup_file_variables 2026-02-26T04:34:57.509256Z 00O+Cleaning up project directory and file based variables 2026-02-26T04:34:58.036218Z 00O section_end:1772080498:cleanup_file_variables 2026-02-26T04:34:58.036223Z 00O+ 2026-02-26T04:34:58.074529Z 00O Job succeeded