2026-03-17T04:21:34.205908Z 00O Running with gitlab-runner 18.10.0~pre.705.ge11dde90 (e11dde90) 2026-03-17T04:21:34.205920Z 00O  on blue-4.saas-linux-medium-amd64.runners-manager.gitlab.com/default DS1-6aDu5, system ID: s_eacbc5a4b586 2026-03-17T04:21:34.205925Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true 2026-03-17T04:21:34.205943Z 00O Resolving secrets 2026-03-17T04:21:34.206077Z 00O section_start:1773721294:prepare_executor 2026-03-17T04:21:34.206078Z 00O+Preparing the "docker+machine" executor 2026-03-17T04:21:34.338027Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-03-17T04:21:38.231427Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-03-17T04:21:38.231868Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-03-17T04:21:38.231878Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-03-17T04:21:53.835245Z 00O Using docker image sha256:77f866eda0754f7662ac82697a54ed0a5a815ec3629b25cd8a78187eff2db70b for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:1c6d17b8c5c8342e41773a82a7e7e23716f5dc30a9d9db03698f5c063ba48506 ... 2026-03-17T04:21:53.835327Z 00O section_end:1773721313:prepare_executor 2026-03-17T04:21:53.835329Z 00O+section_start:1773721313:prepare_script 2026-03-17T04:21:53.835416Z 00O+Preparing environment 2026-03-17T04:21:53.836076Z 00O Using effective pull policy of [always] for container sha256:6a483581c4d638c578c06f1f22be21d2b560e1a5b65d696583f89c4a47134e91 2026-03-17T04:22:05.235523Z 01O Running on runner-ds1-6adu5-project-3622566-concurrent-0 via runner-ds1-6adu5-s-l-m-amd64-1773721241-ae6ac612... 2026-03-17T04:22:05.396487Z 00O section_end:1773721325:prepare_script 2026-03-17T04:22:05.396507Z 00O+section_start:1773721325:get_sources 2026-03-17T04:22:05.397043Z 00O+Getting source from Git repository 2026-03-17T04:22:05.757361Z 01O Gitaly correlation ID: 98d749a52bef414ca8cf4e38c90ccf4e 2026-03-17T04:22:05.763570Z 01O Fetching changes... 2026-03-17T04:22:05.766711Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-03-17T04:22:05.768902Z 01O Created fresh repository. 2026-03-17T04:22:11.411080Z 01O Checking out 7db13b99 as detached HEAD (ref is master)... 2026-03-17T04:22:11.599536Z 01O 2026-03-17T04:22:11.599540Z 01O Skipping Git submodules setup 2026-03-17T04:22:11.599541Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-03-17T04:22:11.834979Z 00O section_end:1773721331:get_sources 2026-03-17T04:22:11.834989Z 00O+section_start:1773721331:download_artifacts 2026-03-17T04:22:11.835731Z 00O+Downloading artifacts 2026-03-17T04:22:12.224629Z 01O Downloading artifacts for mirror-packages (13520321980)... 2026-03-17T04:22:13.092246Z 01E Downloading artifacts from coordinator... ok  correlation_id=f68636ea8d37457ea81e3addc6a83d9e host=storage.googleapis.com id=13520321980 responseStatus=200 OK token=6d_9CTLNx 2026-03-17T04:22:13.314402Z 01O Downloading artifacts for build (13520321982)... 2026-03-17T04:22:13.585396Z 01E Downloading artifacts from coordinator... ok  correlation_id=9abe4f0087af42c38ef1b5bbc065f5ae host=storage.googleapis.com id=13520321982 responseStatus=200 OK token=6d_9CTLNx 2026-03-17T04:22:14.277656Z 00O section_end:1773721334:download_artifacts 2026-03-17T04:22:14.277663Z 00O+section_start:1773721334:step_script 2026-03-17T04:22:14.278099Z 00O+Executing "step_script" stage of the job script 2026-03-17T04:22:14.278118Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-03-17T04:22:14.278837Z 00O Using docker image sha256:77f866eda0754f7662ac82697a54ed0a5a815ec3629b25cd8a78187eff2db70b for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:1c6d17b8c5c8342e41773a82a7e7e23716f5dc30a9d9db03698f5c063ba48506 ... 2026-03-17T04:22:14.625742Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-03-17T04:22:14.634920Z 01O $ mkdir -p ~/.R 2026-03-17T04:22:14.636228Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-03-17T04:22:14.636300Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-03-17T04:22:14.636396Z 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-03-17T04:22:14.841534Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-03-17T04:22:14.841542Z 01E 2026-03-17T04:23:26.222586Z 01E Updating HTML index of packages in '.Library' 2026-03-17T04:23:26.222962Z 01E Making 'packages.html' ... done 2026-03-17T04:23:26.237462Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-03-17T04:23:26.255690Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-03-17T04:23:33.375342Z 01E 3 warnings generated. 2026-03-17T04:23:33.375619Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-03-17T04:23:36.331998Z 01E 3 warnings generated. 2026-03-17T04:23:36.334118Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-03-17T04:23:42.982863Z 01E 3 warnings generated. 2026-03-17T04:23:42.982882Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-03-17T04:23:43.208792Z 01E 7 warnings generated. 2026-03-17T04:23:43.208978Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-03-17T04:23:45.723738Z 01E 7 warnings generated. 2026-03-17T04:23:45.723926Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-03-17T04:23:47.919713Z 01E 7 warnings generated. 2026-03-17T04:23:47.919928Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-03-17T04:23:52.004835Z 01E 7 warnings generated. 2026-03-17T04:23:52.005225Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-03-17T04:23:52.070110Z 01E 7 warnings generated. 2026-03-17T04:23:52.070594Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-03-17T04:23:54.866521Z 01E 10 warnings generated. 2026-03-17T04:23:54.866693Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-03-17T04:23:59.893313Z 01E 11 warnings generated. 2026-03-17T04:23:59.893507Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-03-17T04:24:03.633401Z 01E 12 warnings generated. 2026-03-17T04:24:03.633654Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-03-17T04:24:11.541935Z 01E 13 warnings generated. 2026-03-17T04:24:11.541956Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-03-17T04:24:14.749541Z 01E 13 warnings generated. 2026-03-17T04:24:14.749757Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-03-17T04:24:19.943357Z 01E 25 warnings generated. 2026-03-17T04:24:19.943516Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-03-17T04:24:28.184524Z 01E 29 warnings generated. 2026-03-17T04:24:28.184543Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-03-17T04:24:38.433845Z 01E 35 warnings generated. 2026-03-17T04:24:38.433861Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-03-17T04:24:41.956649Z 01E 36 warnings generated. 2026-03-17T04:24:41.956882Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-03-17T04:24:44.345200Z 01E 39 warnings generated. 2026-03-17T04:24:44.345525Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-03-17T04:24:44.397689Z 01E 39 warnings generated. 2026-03-17T04:24:44.398042Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-03-17T04:24:44.720540Z 01E 39 warnings generated. 2026-03-17T04:24:44.720903Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-03-17T04:24:50.748007Z 01E 41 warnings generated. 2026-03-17T04:24:50.748021Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-03-17T04:24:54.078305Z 01E 41 warnings generated. 2026-03-17T04:24:54.078544Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-03-17T04:25:07.115847Z 01E 46 warnings generated. 2026-03-17T04:25:07.115867Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-03-17T04:25:07.231363Z 01E 47 warnings generated. 2026-03-17T04:25:07.231637Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-03-17T04:25:07.471648Z 01E 47 warnings generated. 2026-03-17T04:25:07.471961Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-03-17T04:25:12.058071Z 01E 50 warnings generated. 2026-03-17T04:25:12.058398Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-03-17T04:25:12.107595Z 01E 50 warnings generated. 2026-03-17T04:25:12.107886Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-03-17T04:25:12.141566Z 01E 50 warnings generated. 2026-03-17T04:25:12.141895Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-03-17T04:25:12.988283Z 01E 50 warnings generated. 2026-03-17T04:25:12.988513Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-03-17T04:25:15.962262Z 01E 63 warnings generated. 2026-03-17T04:25:15.962554Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-03-17T04:25:15.993260Z 01E 63 warnings generated. 2026-03-17T04:25:15.993517Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-03-17T04:25:16.041861Z 01E 63 warnings generated. 2026-03-17T04:25:16.042150Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-03-17T04:25:16.184365Z 01E 64 warnings generated. 2026-03-17T04:25:16.184685Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-03-17T04:25:16.628993Z 01E 64 warnings generated. 2026-03-17T04:25:16.629324Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-03-17T04:25:17.381455Z 01E 64 warnings generated. 2026-03-17T04:25:17.381747Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-03-17T04:25:20.547369Z 01E 70 warnings generated. 2026-03-17T04:25:20.547587Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-03-17T04:25:23.083758Z 01E 70 warnings generated. 2026-03-17T04:25:23.084047Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-03-17T04:25:23.113788Z 01E 70 warnings generated. 2026-03-17T04:25:23.114099Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-03-17T04:25:25.872146Z 01E 70 warnings generated. 2026-03-17T04:25:25.872416Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-03-17T04:25:27.070119Z 01E 72 warnings generated. 2026-03-17T04:25:27.070421Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-03-17T04:25:27.417055Z 01E 72 warnings generated. 2026-03-17T04:25:27.417343Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-03-17T04:25:30.037214Z 01E 72 warnings generated. 2026-03-17T04:25:30.037509Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-03-17T04:25:30.362358Z 01E 72 warnings generated. 2026-03-17T04:25:30.362631Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-03-17T04:25:36.974993Z 01E 72 warnings generated. 2026-03-17T04:25:36.975011Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-03-17T04:25:37.816167Z 01E 72 warnings generated. 2026-03-17T04:25:37.816658Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-03-17T04:25:37.855366Z 01E 72 warnings generated. 2026-03-17T04:25:37.855655Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-03-17T04:25:37.931900Z 01E 72 warnings generated. 2026-03-17T04:25:37.932781Z 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-03-17T04:25:37.932784Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-03-17T04:25:37.932785Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932786Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-03-17T04:25:37.932787Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932787Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-03-17T04:25:37.932788Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932789Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-03-17T04:25:37.932790Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932790Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-03-17T04:25:37.932791Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932792Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-03-17T04:25:37.932792Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932793Z 01O 15 | R_NilValue 2026-03-17T04:25:37.932793Z 01O | ~~~~~~~~~~ 2026-03-17T04:25:37.932794Z 01O 16 | )) 2026-03-17T04:25:37.932794Z 01O | ~~ 2026-03-17T04:25:37.932795Z 01O 17 | )); 2026-03-17T04:25:37.932795Z 01O | ~ 2026-03-17T04:25:37.932796Z 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-03-17T04:25:37.932796Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-03-17T04:25:37.932797Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932798Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-03-17T04:25:37.932798Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932799Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-03-17T04:25:37.932800Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932800Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-03-17T04:25:37.932801Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932802Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-03-17T04:25:37.932802Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932803Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-03-17T04:25:37.932836Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932837Z 01O 15 | R_NilValue 2026-03-17T04:25:37.932837Z 01O | ~~~~~~~~~~ 2026-03-17T04:25:37.932837Z 01O 16 | )) 2026-03-17T04:25:37.932838Z 01O | ~~ 2026-03-17T04:25:37.932838Z 01O 17 | )); 2026-03-17T04:25:37.932839Z 01O | ~ 2026-03-17T04:25:37.932839Z 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-03-17T04:25:37.932840Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-03-17T04:25:37.932841Z 01O | ^ 2026-03-17T04:25:37.932841Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-03-17T04:25:37.932842Z 01O 937 | const STYPE val = sd[soff]; \ 2026-03-17T04:25:37.932842Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.932843Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-03-17T04:25:37.932843Z 01O 714 | if (len<1) return NULL; 2026-03-17T04:25:37.932844Z 01O | ^~~~~ 2026-03-17T04:25:37.932850Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-03-17T04:25:37.932851Z 01O 714 | if (len<1) return NULL; 2026-03-17T04:25:37.932851Z 01O | ^ 2026-03-17T04:25:37.932852Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-03-17T04:25:37.932852Z 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-03-17T04:25:37.932853Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.932854Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-03-17T04:25:37.932854Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-03-17T04:25:37.932855Z 01O 716 | if (slen==0) return NULL; 2026-03-17T04:25:37.932855Z 01O | ^~~~~~~ 2026-03-17T04:25:37.932856Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-03-17T04:25:37.932856Z 01O 716 | if (slen==0) return NULL; 2026-03-17T04:25:37.932857Z 01O | ^ 2026-03-17T04:25:37.932864Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-03-17T04:25:37.932864Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-03-17T04:25:37.932865Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.932866Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-03-17T04:25:37.932866Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-03-17T04:25:37.932867Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-03-17T04:25:37.932867Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.932868Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-03-17T04:25:37.932868Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-03-17T04:25:37.932869Z 01O | ^ 2026-03-17T04:25:37.932873Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-03-17T04:25:37.932874Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-03-17T04:25:37.932874Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.932878Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-03-17T04:25:37.932879Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-03-17T04:25:37.932879Z 01O | ^ 2026-03-17T04:25:37.932885Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-03-17T04:25:37.932890Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-03-17T04:25:37.932891Z 01O | ^~~~~~ 2026-03-17T04:25:37.932891Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-03-17T04:25:37.932892Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-03-17T04:25:37.932892Z 01O | ^ 2026-03-17T04:25:37.932895Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-03-17T04:25:37.932896Z 01O 726 | if (colname==NULL) 2026-03-17T04:25:37.932896Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.932897Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-03-17T04:25:37.932897Z 01O 726 | if (colname==NULL) 2026-03-17T04:25:37.932898Z 01O | ^ 2026-03-17T04:25:37.932950Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-03-17T04:25:37.932950Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-03-17T04:25:37.932951Z 01O | ^ 2026-03-17T04:25:37.933078Z 01O /usr/local/lib/R/include/Rinternals.h:976:18: note: expanded from macro 'isReal' 2026-03-17T04:25:37.933079Z 01O 976 | #define isReal Rf_isReal 2026-03-17T04:25:37.933079Z 01O | ^ 2026-03-17T04:25:37.933080Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-03-17T04:25:37.933081Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-03-17T04:25:37.933081Z 01O | ^ 2026-03-17T04:25:37.933082Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-03-17T04:25:37.933082Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-03-17T04:25:37.933083Z 01O | ^ 2026-03-17T04:25:37.933083Z 01O /usr/local/lib/R/include/Rinternals.h:976:18: note: expanded from macro 'isReal' 2026-03-17T04:25:37.933084Z 01O 976 | #define isReal Rf_isReal 2026-03-17T04:25:37.933084Z 01O | ^ 2026-03-17T04:25:37.933085Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-03-17T04:25:37.933086Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-03-17T04:25:37.933086Z 01O | ^ 2026-03-17T04:25:37.933087Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-03-17T04:25:37.933087Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-03-17T04:25:37.933088Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.933088Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-03-17T04:25:37.933089Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-03-17T04:25:37.933090Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-03-17T04:25:37.933090Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.933091Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-03-17T04:25:37.933091Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-03-17T04:25:37.933092Z 01O | ^ 2026-03-17T04:25:37.933092Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-03-17T04:25:37.933093Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-03-17T04:25:37.933093Z 01O | ^ 2026-03-17T04:25:37.933094Z 01O /usr/local/lib/R/include/Rinternals.h:979:19: note: expanded from macro 'isString' 2026-03-17T04:25:37.933094Z 01O 979 | #define isString Rf_isString 2026-03-17T04:25:37.933099Z 01O | ^ 2026-03-17T04:25:37.933136Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-03-17T04:25:37.933137Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-03-17T04:25:37.933137Z 01O | ^ 2026-03-17T04:25:37.933138Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-03-17T04:25:37.933138Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-03-17T04:25:37.933139Z 01O | ^ 2026-03-17T04:25:37.933139Z 01O /usr/local/lib/R/include/Rinternals.h:968:20: note: expanded from macro 'isNewList' 2026-03-17T04:25:37.933140Z 01O 968 | #define isNewList Rf_isNewList 2026-03-17T04:25:37.933140Z 01O | ^ 2026-03-17T04:25:37.933141Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-03-17T04:25:37.933142Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-03-17T04:25:37.933142Z 01O | ^ 2026-03-17T04:25:37.933148Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-03-17T04:25:37.933148Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-03-17T04:25:37.933149Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.933150Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-03-17T04:25:37.933217Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-03-17T04:25:37.933218Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-03-17T04:25:37.933219Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.933219Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-03-17T04:25:37.933220Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-03-17T04:25:37.933221Z 01O | ^ 2026-03-17T04:25:37.933221Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-03-17T04:25:37.933222Z 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-03-17T04:25:37.933223Z 01O | ^ 2026-03-17T04:25:37.933223Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933224Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933224Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.933276Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-03-17T04:25:37.933277Z 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-03-17T04:25:37.933278Z 01O | ^ 2026-03-17T04:25:37.933278Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933279Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933279Z 01O | ^ 2026-03-17T04:25:37.933284Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-03-17T04:25:37.933285Z 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-03-17T04:25:37.933286Z 01O | ^ 2026-03-17T04:25:37.933286Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933296Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933297Z 01O | ^ 2026-03-17T04:25:37.933358Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-03-17T04:25:37.933359Z 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-03-17T04:25:37.933360Z 01O | ^ 2026-03-17T04:25:37.933360Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933361Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933362Z 01O | ^ 2026-03-17T04:25:37.933362Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-03-17T04:25:37.933363Z 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-03-17T04:25:37.933364Z 01O | ^~~~~~ 2026-03-17T04:25:37.933429Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-03-17T04:25:37.933430Z 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-03-17T04:25:37.933431Z 01O | ^ 2026-03-17T04:25:37.933432Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933432Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933433Z 01O | ^ 2026-03-17T04:25:37.933443Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-03-17T04:25:37.933443Z 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-03-17T04:25:37.933444Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.933445Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-03-17T04:25:37.933446Z 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-03-17T04:25:37.933447Z 01O | ^ 2026-03-17T04:25:37.933447Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933448Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933448Z 01O | ^ 2026-03-17T04:25:37.933515Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-03-17T04:25:37.933516Z 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-03-17T04:25:37.933517Z 01O | ^~~~~~~ 2026-03-17T04:25:37.933517Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-03-17T04:25:37.933518Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-03-17T04:25:37.933519Z 01O | ^ 2026-03-17T04:25:37.933519Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933520Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933528Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.933528Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-03-17T04:25:37.933529Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-03-17T04:25:37.933530Z 01O | ^ 2026-03-17T04:25:37.933530Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933531Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933531Z 01O | ^ 2026-03-17T04:25:37.933534Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-03-17T04:25:37.933535Z 01O 977 | switch (TYPEOF(target)) { 2026-03-17T04:25:37.933536Z 01O | ^ 2026-03-17T04:25:37.933589Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-03-17T04:25:37.933589Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-03-17T04:25:37.933590Z 01O | ^~~ 2026-03-17T04:25:37.933590Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-03-17T04:25:37.933591Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-03-17T04:25:37.933592Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-03-17T04:25:37.933592Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.933597Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-03-17T04:25:37.933598Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-03-17T04:25:37.933598Z 01O | ^ 2026-03-17T04:25:37.933599Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-03-17T04:25:37.933599Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-03-17T04:25:37.933600Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.933601Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-03-17T04:25:37.933601Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-03-17T04:25:37.933602Z 01O | ^ 2026-03-17T04:25:37.933611Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-03-17T04:25:37.933612Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-03-17T04:25:37.933613Z 01O | ^ 2026-03-17T04:25:37.933613Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-03-17T04:25:37.933614Z 01O 935 | if (length(where)) { \ 2026-03-17T04:25:37.933614Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.933615Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.933615Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.933616Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.933682Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-03-17T04:25:37.933683Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-03-17T04:25:37.933683Z 01O | ^ 2026-03-17T04:25:37.933684Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-03-17T04:25:37.933684Z 01O 935 | if (length(where)) { \ 2026-03-17T04:25:37.933685Z 01O | ^ 2026-03-17T04:25:37.933685Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-03-17T04:25:37.933686Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-03-17T04:25:37.933687Z 01O | ^ 2026-03-17T04:25:37.933692Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-03-17T04:25:37.933692Z 01O 936 | if (slen==1) { \ 2026-03-17T04:25:37.933693Z 01O | ^~~~ 2026-03-17T04:25:37.933693Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-03-17T04:25:37.933694Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-03-17T04:25:37.933695Z 01O | ^ 2026-03-17T04:25:37.933695Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-03-17T04:25:37.933696Z 01O 936 | if (slen==1) { \ 2026-03-17T04:25:37.933696Z 01O | ^ 2026-03-17T04:25:37.933697Z 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-03-17T04:25:37.933697Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-03-17T04:25:37.933698Z 01O | ^ 2026-03-17T04:25:37.933698Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-03-17T04:25:37.933699Z 01O 937 | const STYPE val = sd[soff]; \ 2026-03-17T04:25:37.933700Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.933779Z 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-03-17T04:25:37.933780Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-03-17T04:25:37.933780Z 01O | ^~~~~ 2026-03-17T04:25:37.933781Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-03-17T04:25:37.933781Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-03-17T04:25:37.933782Z 01O | ^~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.933782Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-03-17T04:25:37.933783Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-03-17T04:25:37.933784Z 01O | ^ 2026-03-17T04:25:37.933784Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-03-17T04:25:37.933785Z 01O 6 | if (chin && chmatchdup) 2026-03-17T04:25:37.933785Z 01O | ^~~~ 2026-03-17T04:25:37.933786Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-03-17T04:25:37.933786Z 01O 6 | if (chin && chmatchdup) 2026-03-17T04:25:37.933787Z 01O | ^ 2026-03-17T04:25:37.933787Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-03-17T04:25:37.933788Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-03-17T04:25:37.933788Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.933789Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-03-17T04:25:37.933789Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-03-17T04:25:37.933790Z 01O | ^ 2026-03-17T04:25:37.933845Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-03-17T04:25:37.933846Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-03-17T04:25:37.933847Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.933847Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-03-17T04:25:37.933848Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-03-17T04:25:37.933848Z 01O | ^ 2026-03-17T04:25:37.933851Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-03-17T04:25:37.933852Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-03-17T04:25:37.933853Z 01O | ^ 2026-03-17T04:25:37.933858Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-03-17T04:25:37.933858Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-03-17T04:25:37.933859Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-03-17T04:25:37.933860Z 01O | ^~~~~~~ 2026-03-17T04:25:37.933869Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-03-17T04:25:37.933870Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-03-17T04:25:37.933870Z 01O | ^ 2026-03-17T04:25:37.933871Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-03-17T04:25:37.933872Z 01O 31 | if (tablelen==0) { 2026-03-17T04:25:37.933872Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.933872Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-03-17T04:25:37.933873Z 01O 31 | if (tablelen==0) { 2026-03-17T04:25:37.933874Z 01O | ^ 2026-03-17T04:25:37.933874Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-03-17T04:25:37.933875Z 01O 40 | if (isSymbol(x)) { 2026-03-17T04:25:37.933875Z 01O | ^ 2026-03-17T04:25:37.933877Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isSymbol' 2026-03-17T04:25:37.933878Z 01O 966 | #define isSymbol Rf_isSymbol 2026-03-17T04:25:37.933878Z 01O | ^ 2026-03-17T04:25:37.933879Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-03-17T04:25:37.933880Z 01O 40 | if (isSymbol(x)) { 2026-03-17T04:25:37.933880Z 01O | ^ 2026-03-17T04:25:37.933907Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-03-17T04:25:37.933908Z 01O 46 | if (xlen==1) { 2026-03-17T04:25:37.933908Z 01O | ^~~~~~~ 2026-03-17T04:25:37.933909Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-03-17T04:25:37.933909Z 01O 46 | if (xlen==1) { 2026-03-17T04:25:37.933910Z 01O | ^ 2026-03-17T04:25:37.933916Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-03-17T04:25:37.933917Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.933917Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.933918Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-03-17T04:25:37.933918Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-03-17T04:25:37.933919Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.933920Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.933920Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-03-17T04:25:37.933921Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.933921Z 01O | ^ 2026-03-17T04:25:37.933945Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-03-17T04:25:37.933946Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-03-17T04:25:37.933947Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.933947Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.933948Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-03-17T04:25:37.933948Z 01O | ^ 2026-03-17T04:25:37.933978Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-03-17T04:25:37.933979Z 01O 66 | if (tl == 0) { 2026-03-17T04:25:37.933980Z 01O | ^~~~~~~ 2026-03-17T04:25:37.933980Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-03-17T04:25:37.933981Z 01O 66 | if (tl == 0) { 2026-03-17T04:25:37.933985Z 01O | ^ 2026-03-17T04:25:37.933986Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-03-17T04:25:37.933986Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-03-17T04:25:37.933987Z 01O | ^ 2026-03-17T04:25:37.933987Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.933988Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-03-17T04:25:37.933989Z 01O | ^ 2026-03-17T04:25:37.934005Z 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-03-17T04:25:37.934006Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-03-17T04:25:37.934007Z 01O | ^~~~~ 2026-03-17T04:25:37.934007Z 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-03-17T04:25:37.934008Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-03-17T04:25:37.934009Z 01O | ^~~~~ 2026-03-17T04:25:37.934009Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-03-17T04:25:37.934010Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-03-17T04:25:37.934010Z 01O | ^~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.934040Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-03-17T04:25:37.934040Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-03-17T04:25:37.934041Z 01O | ^ 2026-03-17T04:25:37.934042Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-03-17T04:25:37.934042Z 01O 6 | if (chin && chmatchdup) 2026-03-17T04:25:37.934043Z 01O | ^~~~ 2026-03-17T04:25:37.934043Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-03-17T04:25:37.934044Z 01O 6 | if (chin && chmatchdup) 2026-03-17T04:25:37.934044Z 01O | ^ 2026-03-17T04:25:37.934045Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-03-17T04:25:37.934045Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-03-17T04:25:37.934046Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.934048Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-03-17T04:25:37.934048Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-03-17T04:25:37.934049Z 01O | ^ 2026-03-17T04:25:37.934107Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-03-17T04:25:37.934108Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-03-17T04:25:37.934108Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.934109Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-03-17T04:25:37.934109Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-03-17T04:25:37.934110Z 01O | ^ 2026-03-17T04:25:37.934110Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-03-17T04:25:37.934111Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-03-17T04:25:37.934112Z 01O | ^ 2026-03-17T04:25:37.934112Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-03-17T04:25:37.934115Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-03-17T04:25:37.934116Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-03-17T04:25:37.934117Z 01O | ^~~~~~~ 2026-03-17T04:25:37.934117Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-03-17T04:25:37.934122Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-03-17T04:25:37.934123Z 01O | ^ 2026-03-17T04:25:37.934169Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-03-17T04:25:37.934170Z 01O 31 | if (tablelen==0) { 2026-03-17T04:25:37.934170Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.934171Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-03-17T04:25:37.934171Z 01O 31 | if (tablelen==0) { 2026-03-17T04:25:37.934172Z 01O | ^ 2026-03-17T04:25:37.934177Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-03-17T04:25:37.934177Z 01O 40 | if (isSymbol(x)) { 2026-03-17T04:25:37.934178Z 01O | ^ 2026-03-17T04:25:37.934178Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isSymbol' 2026-03-17T04:25:37.934179Z 01O 966 | #define isSymbol Rf_isSymbol 2026-03-17T04:25:37.934179Z 01O | ^ 2026-03-17T04:25:37.934180Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-03-17T04:25:37.934180Z 01O 40 | if (isSymbol(x)) { 2026-03-17T04:25:37.934181Z 01O | ^ 2026-03-17T04:25:37.934181Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-03-17T04:25:37.934182Z 01O 46 | if (xlen==1) { 2026-03-17T04:25:37.934182Z 01O | ^~~~~~~ 2026-03-17T04:25:37.934183Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-03-17T04:25:37.934183Z 01O 46 | if (xlen==1) { 2026-03-17T04:25:37.934184Z 01O | ^ 2026-03-17T04:25:37.934184Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-03-17T04:25:37.934185Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934185Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.934238Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-03-17T04:25:37.934239Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934239Z 01O | ^ 2026-03-17T04:25:37.934240Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-03-17T04:25:37.934240Z 01O 99 | for (int i=0; i= 'tablelen' 2026-03-17T04:25:37.934315Z 01O 123 | for (int i=0; i= 'tablelen' 2026-03-17T04:25:37.934382Z 01O 125 | for (int i=0; i= 0 2026-03-17T04:25:37.934429Z 01O 129 | if (u<0) { 2026-03-17T04:25:37.934430Z 01O | ^~~ 2026-03-17T04:25:37.934430Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-03-17T04:25:37.934431Z 01O 129 | if (u<0) { 2026-03-17T04:25:37.934431Z 01O | ^ 2026-03-17T04:25:37.934431Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-03-17T04:25:37.934432Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-03-17T04:25:37.934699Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.934700Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-03-17T04:25:37.934700Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934701Z 01O | ^ 2026-03-17T04:25:37.934704Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-03-17T04:25:37.934705Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934706Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.934709Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-03-17T04:25:37.934709Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934710Z 01O | ^ 2026-03-17T04:25:37.934710Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-03-17T04:25:37.934711Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-03-17T04:25:37.934980Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.934981Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-03-17T04:25:37.934982Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-03-17T04:25:37.934982Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934983Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.934983Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-03-17T04:25:37.934984Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-03-17T04:25:37.934984Z 01O | ^ 2026-03-17T04:25:37.934985Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-03-17T04:25:37.934985Z 01O 99 | for (int i=0; i= 0 2026-03-17T04:25:37.935043Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-03-17T04:25:37.935044Z 01O | ^~~ 2026-03-17T04:25:37.935044Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-03-17T04:25:37.935045Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-03-17T04:25:37.935045Z 01O | ^ 2026-03-17T04:25:37.935046Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-03-17T04:25:37.935046Z 01O 144 | for (int i=0; i= 'nlhs' 2026-03-17T04:25:37.935146Z 01O 14 | for (int i=0; i= 'nlhs' 2026-03-17T04:25:37.935322Z 01O 14 | for (int i=0; i= 'nlhs' 2026-03-17T04:25:37.935571Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-03-17T04:25:37.936797Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.936845Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-03-17T04:25:37.936846Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-03-17T04:25:37.936846Z 01O | ^ 2026-03-17T04:25:37.936847Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.936848Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.936848Z 01O | ^ 2026-03-17T04:25:37.936849Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-03-17T04:25:37.936849Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-03-17T04:25:37.936850Z 01O | ^ 2026-03-17T04:25:37.936850Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.936851Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.936851Z 01O | ^ 2026-03-17T04:25:37.936852Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-03-17T04:25:37.936852Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-03-17T04:25:37.936853Z 01O | ^ 2026-03-17T04:25:37.936853Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.936854Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.936854Z 01O | ^ 2026-03-17T04:25:37.936855Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-03-17T04:25:37.936855Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-03-17T04:25:37.936856Z 01O | ^ 2026-03-17T04:25:37.936856Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-03-17T04:25:37.936857Z 01O 228 | for (int i=0; i= 'ncol' 2026-03-17T04:25:37.936860Z 01O 234 | for (int i=0; i= 'nidx' 2026-03-17T04:25:37.936945Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-03-17T04:25:37.936993Z 01O | ^~~~ 2026-03-17T04:25:37.936993Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-03-17T04:25:37.936994Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-03-17T04:25:37.936994Z 01O | ^ 2026-03-17T04:25:37.936995Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-03-17T04:25:37.936995Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-03-17T04:25:37.937062Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-03-17T04:25:37.938001Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-03-17T04:25:37.938232Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938285Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-03-17T04:25:37.938285Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-03-17T04:25:37.938286Z 01O | ^ 2026-03-17T04:25:37.938287Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-03-17T04:25:37.938287Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-03-17T04:25:37.938288Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938291Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-03-17T04:25:37.938291Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-03-17T04:25:37.938292Z 01O | ^ 2026-03-17T04:25:37.938292Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-03-17T04:25:37.938293Z 01O 326 | if (new_marks != marks) { 2026-03-17T04:25:37.938293Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938294Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-03-17T04:25:37.938295Z 01O 326 | if (new_marks != marks) { 2026-03-17T04:25:37.938295Z 01O | ^ 2026-03-17T04:25:37.938298Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-03-17T04:25:37.938298Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-03-17T04:25:37.938299Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938299Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-03-17T04:25:37.938300Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-03-17T04:25:37.938300Z 01O | ^ 2026-03-17T04:25:37.938341Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-03-17T04:25:37.938342Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-03-17T04:25:37.938343Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.938343Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-03-17T04:25:37.938344Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-03-17T04:25:37.938344Z 01O | ^ 2026-03-17T04:25:37.938345Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-03-17T04:25:37.938345Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-03-17T04:25:37.938346Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.938347Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-03-17T04:25:37.938347Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-03-17T04:25:37.938348Z 01O | ^ 2026-03-17T04:25:37.938350Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-03-17T04:25:37.938351Z 01O 338 | if (!anynotascii) 2026-03-17T04:25:37.938351Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.938352Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-03-17T04:25:37.938352Z 01O 338 | if (!anynotascii) 2026-03-17T04:25:37.938353Z 01O | ^ 2026-03-17T04:25:37.938384Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-03-17T04:25:37.938390Z 01O 340 | if (!IS_UTF8(s)) 2026-03-17T04:25:37.938390Z 01O | ^ 2026-03-17T04:25:37.938391Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-03-17T04:25:37.938391Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-03-17T04:25:37.938392Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938395Z 01O /usr/local/lib/R/include/Rinternals.h:938:20: note: expanded from macro 'getCharCE' 2026-03-17T04:25:37.938396Z 01O 938 | #define getCharCE Rf_getCharCE 2026-03-17T04:25:37.938396Z 01O | ^ 2026-03-17T04:25:37.938397Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-03-17T04:25:37.938397Z 01O 340 | if (!IS_UTF8(s)) 2026-03-17T04:25:37.938398Z 01O | ^ 2026-03-17T04:25:37.938404Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-03-17T04:25:37.938405Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-03-17T04:25:37.938499Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-03-17T04:25:37.938507Z 01O 364 | for (int i=0; i> 2026-03-17T04:25:37.938832Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938832Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-03-17T04:25:37.938833Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938834Z 01O 43 | 2026-03-17T04:25:37.938834Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-03-17T04:25:37.938835Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938835Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-03-17T04:25:37.938836Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938836Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-03-17T04:25:37.938837Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938837Z 01O 47 | 2026-03-17T04:25:37.938838Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-03-17T04:25:37.938838Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938839Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-03-17T04:25:37.938840Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938840Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-03-17T04:25:37.938841Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938841Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-03-17T04:25:37.938842Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938843Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-03-17T04:25:37.938843Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938844Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-03-17T04:25:37.938849Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.938850Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Calling 'freadCleanup' 2026-03-17T04:25:37.938850Z 01O 1406 | if (freadCleanup()) { 2026-03-17T04:25:37.938851Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.938851Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-03-17T04:25:37.938852Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-03-17T04:25:37.938852Z 01O | ^~~~ 2026-03-17T04:25:37.938853Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-03-17T04:25:37.938854Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-03-17T04:25:37.938854Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-03-17T04:25:37.938855Z 01O | ^~~~~~~ 2026-03-17T04:25:37.938855Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-03-17T04:25:37.938856Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-03-17T04:25:37.938857Z 01O | ^ 2026-03-17T04:25:37.938911Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-03-17T04:25:37.938911Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-03-17T04:25:37.938912Z 01O | ^~~~ 2026-03-17T04:25:37.938913Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-03-17T04:25:37.938913Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-03-17T04:25:37.938914Z 01O | ^ 2026-03-17T04:25:37.938915Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-03-17T04:25:37.938915Z 01O 169 | if (mmp != NULL) { 2026-03-17T04:25:37.938916Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.938916Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-03-17T04:25:37.938917Z 01O 169 | if (mmp != NULL) { 2026-03-17T04:25:37.938917Z 01O | ^ 2026-03-17T04:25:37.938919Z 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-03-17T04:25:37.938920Z 01O 193 | quoteRule = -1; 2026-03-17T04:25:37.938921Z 01O | ^~ 2026-03-17T04:25:37.938926Z 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-03-17T04:25:37.938927Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-03-17T04:25:37.938927Z 01O | ^ ~~ 2026-03-17T04:25:37.938928Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-03-17T04:25:37.938928Z 01O 1406 | if (freadCleanup()) { 2026-03-17T04:25:37.938929Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.938929Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-03-17T04:25:37.938930Z 01O 1406 | if (freadCleanup()) { 2026-03-17T04:25:37.938930Z 01O | ^ 2026-03-17T04:25:37.938931Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.938931Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-03-17T04:25:37.938932Z 01O | ^~~~~~~ 2026-03-17T04:25:37.938932Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-03-17T04:25:37.938933Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-03-17T04:25:37.938938Z 01O | ^ 2026-03-17T04:25:37.938941Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-03-17T04:25:37.938941Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-03-17T04:25:37.938942Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.938942Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-03-17T04:25:37.938943Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-03-17T04:25:37.938944Z 01O | ^ 2026-03-17T04:25:37.938986Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-03-17T04:25:37.938987Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-03-17T04:25:37.938987Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.938988Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-03-17T04:25:37.938988Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-03-17T04:25:37.938989Z 01O | ^ 2026-03-17T04:25:37.938989Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-03-17T04:25:37.938990Z 01O 1416 | if (nth <= 0) nth = 1; 2026-03-17T04:25:37.938990Z 01O | ^~~ 2026-03-17T04:25:37.938991Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-03-17T04:25:37.938991Z 01O 1416 | if (nth <= 0) nth = 1; 2026-03-17T04:25:37.938992Z 01O | ^ 2026-03-17T04:25:37.939015Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-03-17T04:25:37.939016Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-03-17T04:25:37.939016Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939017Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-03-17T04:25:37.939017Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-03-17T04:25:37.939018Z 01O | ^ 2026-03-17T04:25:37.939023Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-03-17T04:25:37.939024Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-03-17T04:25:37.939025Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939025Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-03-17T04:25:37.939026Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-03-17T04:25:37.939026Z 01O | ^ 2026-03-17T04:25:37.939027Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-03-17T04:25:37.939027Z 01O 1432 | while (*nastr) { 2026-03-17T04:25:37.939028Z 01O | ^ 2026-03-17T04:25:37.939028Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-03-17T04:25:37.939029Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-03-17T04:25:37.939030Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939058Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-03-17T04:25:37.939059Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-03-17T04:25:37.939060Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939060Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-03-17T04:25:37.939061Z 01O 1460 | if (verbose) { 2026-03-17T04:25:37.939061Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939062Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-03-17T04:25:37.939062Z 01O 1460 | if (verbose) { 2026-03-17T04:25:37.939063Z 01O | ^ 2026-03-17T04:25:37.939072Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-03-17T04:25:37.939078Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-03-17T04:25:37.939078Z 01O | ^ 2026-03-17T04:25:37.939166Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-03-17T04:25:37.939167Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-03-17T04:25:37.939168Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939168Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-03-17T04:25:37.939169Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-03-17T04:25:37.939170Z 01O | ^ 2026-03-17T04:25:37.939170Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-03-17T04:25:37.939171Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939171Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939172Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-03-17T04:25:37.939172Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939173Z 01O | ^ 2026-03-17T04:25:37.939182Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-03-17T04:25:37.939183Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939184Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.939184Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-03-17T04:25:37.939185Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939185Z 01O | ^ 2026-03-17T04:25:37.939186Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-03-17T04:25:37.939186Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-03-17T04:25:37.939187Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939187Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-03-17T04:25:37.939188Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-03-17T04:25:37.939188Z 01O | ^ 2026-03-17T04:25:37.939189Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-03-17T04:25:37.939189Z 01O 1511 | if (args.input) { 2026-03-17T04:25:37.939190Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.939190Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-03-17T04:25:37.939191Z 01O 1511 | if (args.input) { 2026-03-17T04:25:37.939191Z 01O | ^ 2026-03-17T04:25:37.939236Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is non-null 2026-03-17T04:25:37.939237Z 01O 1518 | else if (args.filename) { 2026-03-17T04:25:37.939237Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.939237Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking true branch 2026-03-17T04:25:37.939238Z 01O 1518 | else if (args.filename) { 2026-03-17T04:25:37.939239Z 01O | ^ 2026-03-17T04:25:37.939242Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:9: note: 'verbose' is false 2026-03-17T04:25:37.939243Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-03-17T04:25:37.939244Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939244Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:5: note: Taking false branch 2026-03-17T04:25:37.939245Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-03-17T04:25:37.939245Z 01O | ^ 2026-03-17T04:25:37.939251Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:16: note: Assuming that 'open' fails 2026-03-17T04:25:37.939251Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-03-17T04:25:37.939252Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939252Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:7: note: 'fd' initialized here 2026-03-17T04:25:37.939253Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-03-17T04:25:37.939254Z 01O | ^~~~~~ 2026-03-17T04:25:37.939320Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:7: note: Taking true branch 2026-03-17T04:25:37.939321Z 01O 1523 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-03-17T04:25:37.939322Z 01O | ^ 2026-03-17T04:25:37.939322Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-03-17T04:25:37.939323Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-03-17T04:25:37.939324Z 01O | ^ ~~ 2026-03-17T04:25:37.939327Z 01O /builds/Rdatatable/data.table/src/fread.c:1776:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.939328Z 01O 1776 | pos = ch; 2026-03-17T04:25:37.939329Z 01O | ^ ~~ 2026-03-17T04:25:37.939329Z 01O /builds/Rdatatable/data.table/src/fread.c:1776:5: note: Value stored to 'pos' is never read 2026-03-17T04:25:37.939330Z 01O 1776 | pos = ch; 2026-03-17T04:25:37.939330Z 01O | ^ ~~ 2026-03-17T04:25:37.939331Z 01O /builds/Rdatatable/data.table/src/fread.c:1844: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-03-17T04:25:37.939332Z 01O 1844 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-03-17T04:25:37.939332Z 01O | ^~ 2026-03-17T04:25:37.939472Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-03-17T04:25:37.939473Z 01O 38 | enum quote_rule_t 2026-03-17T04:25:37.939473Z 01O | ~~~~~^~~~~~~~~~~~ 2026-03-17T04:25:37.939474Z 01O 39 | { 2026-03-17T04:25:37.939474Z 01O | ~ 2026-03-17T04:25:37.939474Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-03-17T04:25:37.939475Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939476Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-03-17T04:25:37.939476Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939477Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-03-17T04:25:37.939477Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939478Z 01O 43 | 2026-03-17T04:25:37.939478Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-03-17T04:25:37.939479Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939479Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-03-17T04:25:37.939480Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939481Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-03-17T04:25:37.939481Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939482Z 01O 47 | 2026-03-17T04:25:37.939482Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-03-17T04:25:37.939483Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939483Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-03-17T04:25:37.939484Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939484Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-03-17T04:25:37.939489Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939490Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-03-17T04:25:37.939491Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939491Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-03-17T04:25:37.939498Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939499Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-03-17T04:25:37.939499Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939500Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-03-17T04:25:37.939501Z 01O 1406 | if (freadCleanup()) { 2026-03-17T04:25:37.939501Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.939501Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-03-17T04:25:37.939502Z 01O 1406 | if (freadCleanup()) { 2026-03-17T04:25:37.939502Z 01O | ^ 2026-03-17T04:25:37.939503Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.939504Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-03-17T04:25:37.939504Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939505Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-03-17T04:25:37.939505Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-03-17T04:25:37.939506Z 01O | ^ 2026-03-17T04:25:37.939506Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-03-17T04:25:37.939507Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-03-17T04:25:37.939507Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.939568Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-03-17T04:25:37.939569Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-03-17T04:25:37.939569Z 01O | ^ 2026-03-17T04:25:37.939570Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-03-17T04:25:37.939570Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-03-17T04:25:37.939571Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.939571Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-03-17T04:25:37.939572Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-03-17T04:25:37.939572Z 01O | ^ 2026-03-17T04:25:37.939573Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-03-17T04:25:37.939573Z 01O 1416 | if (nth <= 0) nth = 1; 2026-03-17T04:25:37.939574Z 01O | ^~~ 2026-03-17T04:25:37.939576Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-03-17T04:25:37.939576Z 01O 1416 | if (nth <= 0) nth = 1; 2026-03-17T04:25:37.939577Z 01O | ^ 2026-03-17T04:25:37.939580Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-03-17T04:25:37.939581Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-03-17T04:25:37.939582Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939582Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-03-17T04:25:37.939583Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-03-17T04:25:37.939584Z 01O | ^ 2026-03-17T04:25:37.939590Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-03-17T04:25:37.939590Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-03-17T04:25:37.939591Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939598Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-03-17T04:25:37.939598Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-03-17T04:25:37.939599Z 01O | ^ 2026-03-17T04:25:37.939599Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-03-17T04:25:37.939600Z 01O 1432 | while (*nastr) { 2026-03-17T04:25:37.939600Z 01O | ^ 2026-03-17T04:25:37.939601Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-03-17T04:25:37.939602Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-03-17T04:25:37.939602Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939603Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-03-17T04:25:37.939603Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-03-17T04:25:37.939604Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939604Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-03-17T04:25:37.939605Z 01O 1460 | if (verbose) { 2026-03-17T04:25:37.939605Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939606Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-03-17T04:25:37.939606Z 01O 1460 | if (verbose) { 2026-03-17T04:25:37.939607Z 01O | ^ 2026-03-17T04:25:37.939640Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-03-17T04:25:37.939641Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-03-17T04:25:37.939642Z 01O | ^ 2026-03-17T04:25:37.939645Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-03-17T04:25:37.939646Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-03-17T04:25:37.939646Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939647Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-03-17T04:25:37.939647Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-03-17T04:25:37.939648Z 01O | ^ 2026-03-17T04:25:37.939722Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-03-17T04:25:37.939722Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939723Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.939724Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-03-17T04:25:37.939724Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939725Z 01O | ^ 2026-03-17T04:25:37.939729Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-03-17T04:25:37.939730Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939731Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.939731Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-03-17T04:25:37.939732Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-03-17T04:25:37.939733Z 01O | ^ 2026-03-17T04:25:37.939733Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-03-17T04:25:37.939734Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-03-17T04:25:37.939734Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939739Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-03-17T04:25:37.939740Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-03-17T04:25:37.939740Z 01O | ^ 2026-03-17T04:25:37.939741Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-03-17T04:25:37.939741Z 01O 1511 | if (args.input) { 2026-03-17T04:25:37.939742Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.939742Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-03-17T04:25:37.939743Z 01O 1511 | if (args.input) { 2026-03-17T04:25:37.939743Z 01O | ^ 2026-03-17T04:25:37.939799Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is null 2026-03-17T04:25:37.939800Z 01O 1518 | else if (args.filename) { 2026-03-17T04:25:37.939801Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.939801Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking false branch 2026-03-17T04:25:37.939802Z 01O 1518 | else if (args.filename) { 2026-03-17T04:25:37.939802Z 01O | ^ 2026-03-17T04:25:37.939803Z 01O /builds/Rdatatable/data.table/src/fread.c:1593:5: note: Loop condition is false. Exiting loop 2026-03-17T04:25:37.939803Z 01O 1593 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-03-17T04:25:37.939804Z 01O | ^ 2026-03-17T04:25:37.939815Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-03-17T04:25:37.939816Z 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-03-17T04:25:37.939817Z 01O | ^ 2026-03-17T04:25:37.939818Z 01O /builds/Rdatatable/data.table/src/fread.c:1610:7: note: 'verbose' is false 2026-03-17T04:25:37.939818Z 01O 1610 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-03-17T04:25:37.939819Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939819Z 01O /builds/Rdatatable/data.table/src/fread.c:1610:3: note: Taking false branch 2026-03-17T04:25:37.939820Z 01O 1610 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-03-17T04:25:37.939820Z 01O | ^ 2026-03-17T04:25:37.939821Z 01O /builds/Rdatatable/data.table/src/fread.c:1611:7: note: Assuming 'fileSize' is < 3 2026-03-17T04:25:37.939821Z 01O 1611 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-03-17T04:25:37.939822Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.939822Z 01O /builds/Rdatatable/data.table/src/fread.c:1611:21: note: Left side of '&&' is false 2026-03-17T04:25:37.939823Z 01O 1611 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-03-17T04:25:37.939823Z 01O | ^ 2026-03-17T04:25:37.939899Z 01O /builds/Rdatatable/data.table/src/fread.c:1616:12: note: 'fileSize' is < 4 2026-03-17T04:25:37.939900Z 01O 1616 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-03-17T04:25:37.939901Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.939904Z 01O /builds/Rdatatable/data.table/src/fread.c:1616:26: note: Left side of '&&' is false 2026-03-17T04:25:37.939905Z 01O 1616 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-03-17T04:25:37.939905Z 01O | ^ 2026-03-17T04:25:37.939906Z 01O /builds/Rdatatable/data.table/src/fread.c:1621:12: note: Assuming 'fileSize' is < 2 2026-03-17T04:25:37.939907Z 01O 1621 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-03-17T04:25:37.939907Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.939908Z 01O /builds/Rdatatable/data.table/src/fread.c:1621:26: note: Left side of '&&' is false 2026-03-17T04:25:37.939908Z 01O 1621 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-03-17T04:25:37.939913Z 01O | ^ 2026-03-17T04:25:37.939985Z 01O /builds/Rdatatable/data.table/src/fread.c:1624:7: note: Assuming 'eof' is <= 'sof' 2026-03-17T04:25:37.939986Z 01O 1624 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-03-17T04:25:37.939986Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.939987Z 01O /builds/Rdatatable/data.table/src/fread.c:1624:17: note: Left side of '&&' is false 2026-03-17T04:25:37.939987Z 01O 1624 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-03-17T04:25:37.939988Z 01O | ^ 2026-03-17T04:25:37.939988Z 01O /builds/Rdatatable/data.table/src/fread.c:1630:7: note: Assuming 'eof' is > 'sof' 2026-03-17T04:25:37.939989Z 01O 1630 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-03-17T04:25:37.939990Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.939993Z 01O /builds/Rdatatable/data.table/src/fread.c:1630:3: note: Taking false branch 2026-03-17T04:25:37.939994Z 01O 1630 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-03-17T04:25:37.939995Z 01O | ^ 2026-03-17T04:25:37.939995Z 01O /builds/Rdatatable/data.table/src/fread.c:1636:7: note: 'verbose' is false 2026-03-17T04:25:37.939996Z 01O 1636 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-03-17T04:25:37.939996Z 01O | ^~~~~~~ 2026-03-17T04:25:37.939997Z 01O /builds/Rdatatable/data.table/src/fread.c:1636:3: note: Taking false branch 2026-03-17T04:25:37.939997Z 01O 1636 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-03-17T04:25:37.939998Z 01O | ^ 2026-03-17T04:25:37.939998Z 01O /builds/Rdatatable/data.table/src/fread.c:1644:7: note: Assuming the condition is false 2026-03-17T04:25:37.939999Z 01O 1644 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-03-17T04:25:37.940000Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940069Z 01O /builds/Rdatatable/data.table/src/fread.c:1644:3: note: Taking false branch 2026-03-17T04:25:37.940070Z 01O 1644 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-03-17T04:25:37.940070Z 01O | ^ 2026-03-17T04:25:37.940071Z 01O /builds/Rdatatable/data.table/src/fread.c:1645:3: note: Loop condition is false. Execution continues on line 1663 2026-03-17T04:25:37.940072Z 01O 1645 | while (ch < sample_end) { 2026-03-17T04:25:37.940072Z 01O | ^ 2026-03-17T04:25:37.940072Z 01O /builds/Rdatatable/data.table/src/fread.c:1664:7: note: 'verbose' is false 2026-03-17T04:25:37.940073Z 01O 1664 | if (verbose) DTPRINT(eol_one_r ? 2026-03-17T04:25:37.940074Z 01O | ^~~~~~~ 2026-03-17T04:25:37.940074Z 01O /builds/Rdatatable/data.table/src/fread.c:1664:3: note: Taking false branch 2026-03-17T04:25:37.940075Z 01O 1664 | if (verbose) DTPRINT(eol_one_r ? 2026-03-17T04:25:37.940075Z 01O | ^ 2026-03-17T04:25:37.940082Z 01O /builds/Rdatatable/data.table/src/fread.c:1670:7: note: Assuming field 'filename' is null 2026-03-17T04:25:37.940083Z 01O 1670 | if (args.filename) { 2026-03-17T04:25:37.940083Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.940084Z 01O /builds/Rdatatable/data.table/src/fread.c:1670:3: note: Taking false branch 2026-03-17T04:25:37.940085Z 01O 1670 | if (args.filename) { 2026-03-17T04:25:37.940085Z 01O | ^ 2026-03-17T04:25:37.940085Z 01O /builds/Rdatatable/data.table/src/fread.c:1744:7: note: 'verbose' is false 2026-03-17T04:25:37.940086Z 01O 1744 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-03-17T04:25:37.940087Z 01O | ^~~~~~~ 2026-03-17T04:25:37.940087Z 01O /builds/Rdatatable/data.table/src/fread.c:1744:3: note: Taking false branch 2026-03-17T04:25:37.940088Z 01O 1744 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-03-17T04:25:37.940093Z 01O | ^ 2026-03-17T04:25:37.940093Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: Assuming field 'skipString' is null 2026-03-17T04:25:37.940094Z 01O 1748 | if (args.skipString) { 2026-03-17T04:25:37.940094Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940095Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-03-17T04:25:37.940095Z 01O 1748 | if (args.skipString) { 2026-03-17T04:25:37.940096Z 01O | ^ 2026-03-17T04:25:37.940096Z 01O /builds/Rdatatable/data.table/src/fread.c:1760:12: note: Assuming field 'skipNrow' is < 0 2026-03-17T04:25:37.940097Z 01O 1760 | else if (args.skipNrow >= 0) { 2026-03-17T04:25:37.940097Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940098Z 01O /builds/Rdatatable/data.table/src/fread.c:1760:8: note: Taking false branch 2026-03-17T04:25:37.940098Z 01O 1760 | else if (args.skipNrow >= 0) { 2026-03-17T04:25:37.940099Z 01O | ^ 2026-03-17T04:25:37.940164Z 01O /builds/Rdatatable/data.table/src/fread.c:1781:10: note: Assuming 'ch' is >= 'eof' 2026-03-17T04:25:37.940165Z 01O 1781 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-03-17T04:25:37.940166Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.940170Z 01O /builds/Rdatatable/data.table/src/fread.c:1781:19: note: Left side of '&&' is false 2026-03-17T04:25:37.940170Z 01O 1781 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-03-17T04:25:37.940171Z 01O | ^ 2026-03-17T04:25:37.940172Z 01O /builds/Rdatatable/data.table/src/fread.c:1784:7: note: Assuming 'ch' is < 'eof' 2026-03-17T04:25:37.940172Z 01O 1784 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-03-17T04:25:37.940173Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.940173Z 01O /builds/Rdatatable/data.table/src/fread.c:1784:3: note: Taking false branch 2026-03-17T04:25:37.940174Z 01O 1784 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-03-17T04:25:37.940175Z 01O | ^ 2026-03-17T04:25:37.940175Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:7: note: 'verbose' is false 2026-03-17T04:25:37.940176Z 01O 1785 | if (verbose) { 2026-03-17T04:25:37.940176Z 01O | ^~~~~~~ 2026-03-17T04:25:37.940177Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:3: note: Taking false branch 2026-03-17T04:25:37.940177Z 01O 1785 | if (verbose) { 2026-03-17T04:25:37.940178Z 01O | ^ 2026-03-17T04:25:37.940262Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:19: note: Assuming 'nrowLimit' is not equal to 0 2026-03-17T04:25:37.940263Z 01O 1803 | 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-03-17T04:25:37.940264Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.940265Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:19: note: '?' condition is false 2026-03-17T04:25:37.940265Z 01O /builds/Rdatatable/data.table/src/fread.c:1804:7: note: Assuming 'fill' is not equal to INT_MAX 2026-03-17T04:25:37.940266Z 01O 1804 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-03-17T04:25:37.940267Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940271Z 01O /builds/Rdatatable/data.table/src/fread.c:1804:3: note: Taking false branch 2026-03-17T04:25:37.940271Z 01O 1804 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-03-17T04:25:37.940272Z 01O | ^ 2026-03-17T04:25:37.940272Z 01O /builds/Rdatatable/data.table/src/fread.c:1810:9: note: 'verbose' is false 2026-03-17T04:25:37.940273Z 01O 1810 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-03-17T04:25:37.940279Z 01O | ^~~~~~~ 2026-03-17T04:25:37.940279Z 01O /builds/Rdatatable/data.table/src/fread.c:1810:5: note: Taking false branch 2026-03-17T04:25:37.940280Z 01O 1810 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-03-17T04:25:37.940280Z 01O | ^ 2026-03-17T04:25:37.940281Z 01O /builds/Rdatatable/data.table/src/fread.c:1812:9: note: Assuming the condition is false 2026-03-17T04:25:37.940281Z 01O 1812 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-03-17T04:25:37.940282Z 01O | ^~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940340Z 01O /builds/Rdatatable/data.table/src/fread.c:1812:5: note: Taking false branch 2026-03-17T04:25:37.940341Z 01O 1812 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-03-17T04:25:37.940342Z 01O | ^ 2026-03-17T04:25:37.940346Z 01O /builds/Rdatatable/data.table/src/fread.c:1830:20: note: Assuming the condition is false 2026-03-17T04:25:37.940346Z 01O 1830 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-03-17T04:25:37.940347Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.940348Z 01O /builds/Rdatatable/data.table/src/fread.c:1830:20: note: '?' condition is false 2026-03-17T04:25:37.940348Z 01O /builds/Rdatatable/data.table/src/fread.c:1832:11: note: Assuming the condition is true 2026-03-17T04:25:37.940349Z 01O 1832 | if (args.sep == '\0') { 2026-03-17T04:25:37.940349Z 01O | ^~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940350Z 01O /builds/Rdatatable/data.table/src/fread.c:1832:7: note: Taking true branch 2026-03-17T04:25:37.940350Z 01O 1832 | if (args.sep == '\0') { 2026-03-17T04:25:37.940351Z 01O | ^ 2026-03-17T04:25:37.940403Z 01O /builds/Rdatatable/data.table/src/fread.c:1833:13: note: 'verbose' is false 2026-03-17T04:25:37.940404Z 01O 1833 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-03-17T04:25:37.940404Z 01O | ^~~~~~~ 2026-03-17T04:25:37.940405Z 01O /builds/Rdatatable/data.table/src/fread.c:1833:9: note: Taking false branch 2026-03-17T04:25:37.940405Z 01O 1833 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-03-17T04:25:37.940406Z 01O | ^ 2026-03-17T04:25:37.940406Z 01O /builds/Rdatatable/data.table/src/fread.c:1844:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-03-17T04:25:37.940407Z 01O 1844 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-03-17T04:25:37.940413Z 01O | ^~ 2026-03-17T04:25:37.940418Z 01O /builds/Rdatatable/data.table/src/fread.c:1881:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940418Z 01O 1881 | const char *prevLineStart = ch, *lineStart = ch; 2026-03-17T04:25:37.940419Z 01O | ^~~~~~~~~~~~~ ~~ 2026-03-17T04:25:37.940420Z 01O /builds/Rdatatable/data.table/src/fread.c:1881:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-03-17T04:25:37.940420Z 01O 1881 | const char *prevLineStart = ch, *lineStart = ch; 2026-03-17T04:25:37.940421Z 01O | ^~~~~~~~~~~~~ ~~ 2026-03-17T04:25:37.940421Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940422Z 01O 2269 | estnrow = 1; 2026-03-17T04:25:37.940423Z 01O | ^ ~ 2026-03-17T04:25:37.940423Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:3: note: Value stored to 'estnrow' is never read 2026-03-17T04:25:37.940424Z 01O 2269 | estnrow = 1; 2026-03-17T04:25:37.940424Z 01O | ^ ~ 2026-03-17T04:25:37.940472Z 01O /builds/Rdatatable/data.table/src/fread.c:2270:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940473Z 01O 2270 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-03-17T04:25:37.940474Z 01O | ^ ~ 2026-03-17T04:25:37.940474Z 01O /builds/Rdatatable/data.table/src/fread.c:2270:3: note: Value stored to 'allocnrow' is never read 2026-03-17T04:25:37.940475Z 01O 2270 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-03-17T04:25:37.940475Z 01O | ^ ~ 2026-03-17T04:25:37.940476Z 01O /builds/Rdatatable/data.table/src/fread.c:2276:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940477Z 01O 2276 | estnrow = allocnrow = sampleLines; 2026-03-17T04:25:37.940477Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940478Z 01O /builds/Rdatatable/data.table/src/fread.c:2276:5: note: Value stored to 'estnrow' is never read 2026-03-17T04:25:37.940478Z 01O 2276 | estnrow = allocnrow = sampleLines; 2026-03-17T04:25:37.940479Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940533Z 01O /builds/Rdatatable/data.table/src/fread.c:2300:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940534Z 01O 2300 | estnrow = allocnrow = nrowLimit; 2026-03-17T04:25:37.940534Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940535Z 01O /builds/Rdatatable/data.table/src/fread.c:2300:5: note: Value stored to 'estnrow' is never read 2026-03-17T04:25:37.940535Z 01O 2300 | estnrow = allocnrow = nrowLimit; 2026-03-17T04:25:37.940536Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940542Z 01O /builds/Rdatatable/data.table/src/fread.c:2470:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940543Z 01O 2470 | nth = imin(nJumps, nth); 2026-03-17T04:25:37.940544Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940544Z 01O /builds/Rdatatable/data.table/src/fread.c:2470:3: note: Value stored to 'nth' is never read 2026-03-17T04:25:37.940545Z 01O 2470 | nth = imin(nJumps, nth); 2026-03-17T04:25:37.940545Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940546Z 01O /builds/Rdatatable/data.table/src/fread.c:2726: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-03-17T04:25:37.940547Z 01O 2726 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-03-17T04:25:37.940548Z 01O | ^~~~~~ 2026-03-17T04:25:37.940548Z 01O /builds/Rdatatable/data.table/src/fread.c:2726: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-03-17T04:25:37.940549Z 01O 2726 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-03-17T04:25:37.940550Z 01O | ^~~~~~ 2026-03-17T04:25:37.940596Z 01O /builds/Rdatatable/data.table/src/fread.c:2760:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.940597Z 01O 2760 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-03-17T04:25:37.940598Z 01O | ^ ~~~ 2026-03-17T04:25:37.940598Z 01O /builds/Rdatatable/data.table/src/fread.c:2760:73: note: Value stored to 'tLast' is never read 2026-03-17T04:25:37.940599Z 01O 2760 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-03-17T04:25:37.940600Z 01O | ^ ~~~ 2026-03-17T04:25:37.940670Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: warning: Array access (via field 'buffer') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-03-17T04:25:37.940671Z 01O 789 | if (state->buffer[i] == '\n') { 2026-03-17T04:25:37.940672Z 01O | ^ ~~~~~~ 2026-03-17T04:25:37.940672Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-03-17T04:25:37.940673Z 01O 768 | if (state->outfile == NULL) { 2026-03-17T04:25:37.940673Z 01O | ^ 2026-03-17T04:25:37.940674Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-03-17T04:25:37.940674Z 01O 768 | if (state->outfile == NULL) { 2026-03-17T04:25:37.940675Z 01O | ^ 2026-03-17T04:25:37.940675Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-03-17T04:25:37.940676Z 01O 772 | state->buffer = malloc(chunk_size); 2026-03-17T04:25:37.940676Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940753Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-03-17T04:25:37.940753Z 01O 773 | if (!state->buffer) { 2026-03-17T04:25:37.940754Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.940754Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-03-17T04:25:37.940755Z 01O 773 | if (!state->buffer) { 2026-03-17T04:25:37.940755Z 01O | ^ 2026-03-17T04:25:37.940756Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-03-17T04:25:37.940756Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-03-17T04:25:37.940757Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940758Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.940758Z 01O 780 | while (true) { 2026-03-17T04:25:37.940759Z 01O | ^ 2026-03-17T04:25:37.940759Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-03-17T04:25:37.940760Z 01O 782 | if (nread == 0) { 2026-03-17T04:25:37.940760Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.940761Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-03-17T04:25:37.940761Z 01O 782 | if (nread == 0) { 2026-03-17T04:25:37.940762Z 01O | ^ 2026-03-17T04:25:37.940762Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-03-17T04:25:37.940763Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.940763Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.940764Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-03-17T04:25:37.940764Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-03-17T04:25:37.940765Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.940765Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.940766Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-03-17T04:25:37.940767Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.940767Z 01O | ^ 2026-03-17T04:25:37.940768Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-03-17T04:25:37.940768Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-03-17T04:25:37.940769Z 01O | ^ 2026-03-17T04:25:37.940819Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.940820Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-03-17T04:25:37.940821Z 01O | ^ 2026-03-17T04:25:37.940821Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-03-17T04:25:37.940826Z 01O 789 | if (state->buffer[i] == '\n') { 2026-03-17T04:25:37.940827Z 01O | ^ ~~~~~~ 2026-03-17T04:25:37.940832Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-03-17T04:25:37.940832Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-03-17T04:25:37.940833Z 01O | ^ ~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940834Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-03-17T04:25:37.940834Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-03-17T04:25:37.940835Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940835Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-03-17T04:25:37.940836Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-03-17T04:25:37.940837Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940837Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-03-17T04:25:37.940838Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-03-17T04:25:37.940838Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940839Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-03-17T04:25:37.940839Z 01O 768 | if (state->outfile == NULL) { 2026-03-17T04:25:37.940840Z 01O | ^ 2026-03-17T04:25:37.940840Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-03-17T04:25:37.940841Z 01O 768 | if (state->outfile == NULL) { 2026-03-17T04:25:37.940842Z 01O | ^ 2026-03-17T04:25:37.940893Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-03-17T04:25:37.940894Z 01O 773 | if (!state->buffer) { 2026-03-17T04:25:37.940895Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.940895Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-03-17T04:25:37.940896Z 01O 773 | if (!state->buffer) { 2026-03-17T04:25:37.940896Z 01O | ^ 2026-03-17T04:25:37.940897Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-03-17T04:25:37.940897Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-03-17T04:25:37.940898Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940898Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.940899Z 01O 780 | while (true) { 2026-03-17T04:25:37.940899Z 01O | ^ 2026-03-17T04:25:37.940900Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-03-17T04:25:37.940900Z 01O 782 | if (nread == 0) { 2026-03-17T04:25:37.940901Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.940901Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-03-17T04:25:37.940902Z 01O 782 | if (nread == 0) { 2026-03-17T04:25:37.940902Z 01O | ^ 2026-03-17T04:25:37.940909Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-03-17T04:25:37.940910Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.940910Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.940911Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-03-17T04:25:37.940912Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.940912Z 01O | ^ 2026-03-17T04:25:37.940913Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-03-17T04:25:37.940918Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-03-17T04:25:37.940919Z 01O | ^ ~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940960Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: The 1st argument to 'fwrite' is NULL but should not be NULL [clang-analyzer-unix.StdCLibraryFunctions] 2026-03-17T04:25:37.940961Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-03-17T04:25:37.940962Z 01O | ^ ~~~~~~~~~~~~~ 2026-03-17T04:25:37.940963Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-03-17T04:25:37.940963Z 01O 768 | if (state->outfile == NULL) { 2026-03-17T04:25:37.940964Z 01O | ^ 2026-03-17T04:25:37.940964Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-03-17T04:25:37.940965Z 01O 768 | if (state->outfile == NULL) { 2026-03-17T04:25:37.940965Z 01O | ^ 2026-03-17T04:25:37.940967Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-03-17T04:25:37.940968Z 01O 772 | state->buffer = malloc(chunk_size); 2026-03-17T04:25:37.940969Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.940971Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-03-17T04:25:37.940972Z 01O 773 | if (!state->buffer) { 2026-03-17T04:25:37.940972Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.940973Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-03-17T04:25:37.940973Z 01O 773 | if (!state->buffer) { 2026-03-17T04:25:37.940974Z 01O | ^ 2026-03-17T04:25:37.941021Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-03-17T04:25:37.941022Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-03-17T04:25:37.941022Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.941023Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.941024Z 01O 780 | while (true) { 2026-03-17T04:25:37.941024Z 01O | ^ 2026-03-17T04:25:37.941025Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-03-17T04:25:37.941025Z 01O 782 | if (nread == 0) { 2026-03-17T04:25:37.941026Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.941026Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-03-17T04:25:37.941027Z 01O 782 | if (nread == 0) { 2026-03-17T04:25:37.941027Z 01O | ^ 2026-03-17T04:25:37.941028Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-03-17T04:25:37.941028Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.941029Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.941029Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-03-17T04:25:37.941030Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-03-17T04:25:37.941030Z 01O | ^ 2026-03-17T04:25:37.941031Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-03-17T04:25:37.941031Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-03-17T04:25:37.941032Z 01O | ^ ~~~~~~~~~~~~~ 2026-03-17T04:25:37.941161Z 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-03-17T04:25:37.941163Z 01O 1362 | next[p] = tail; 2026-03-17T04:25:37.941170Z 01O | ^ 2026-03-17T04:25:37.941171Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.941171Z 01O 1504 | if (verbose) 2026-03-17T04:25:37.941172Z 01O | ^~~~~~~ 2026-03-17T04:25:37.941172Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-03-17T04:25:37.941173Z 01O 1504 | if (verbose) 2026-03-17T04:25:37.941173Z 01O | ^ 2026-03-17T04:25:37.941173Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-03-17T04:25:37.941174Z 01O 1506 | if (k == 0) { 2026-03-17T04:25:37.941175Z 01O | ^~~~~~ 2026-03-17T04:25:37.941175Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-03-17T04:25:37.941176Z 01O 1506 | if (k == 0) { 2026-03-17T04:25:37.941176Z 01O | ^ 2026-03-17T04:25:37.941209Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-03-17T04:25:37.941210Z 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-03-17T04:25:37.941211Z 01O | ^~~~~~ 2026-03-17T04:25:37.941212Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-03-17T04:25:37.941212Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-03-17T04:25:37.941213Z 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-03-17T04:25:37.941214Z 01O | ^~~~~~ 2026-03-17T04:25:37.941214Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-03-17T04:25:37.941215Z 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-03-17T04:25:37.941215Z 01O | ^ 2026-03-17T04:25:37.941216Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-03-17T04:25:37.941216Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.941217Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941217Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-03-17T04:25:37.941218Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.941218Z 01O | ^ 2026-03-17T04:25:37.941219Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-03-17T04:25:37.941219Z 01O 1565 | if (nx_mod_k) { 2026-03-17T04:25:37.941220Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941220Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-03-17T04:25:37.941221Z 01O 1565 | if (nx_mod_k) { 2026-03-17T04:25:37.941221Z 01O | ^ 2026-03-17T04:25:37.941229Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-03-17T04:25:37.941230Z 01O 1572 | bool even = !(k % 2); 2026-03-17T04:25:37.941230Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941231Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-03-17T04:25:37.941231Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-03-17T04:25:37.941232Z 01O | ^~~~ 2026-03-17T04:25:37.941232Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-03-17T04:25:37.941293Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-03-17T04:25:37.941294Z 01O 1577 | if (!o) { // # nocov start 2026-03-17T04:25:37.941294Z 01O | ^~ 2026-03-17T04:25:37.941295Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-03-17T04:25:37.941295Z 01O 1577 | if (!o) { // # nocov start 2026-03-17T04:25:37.941296Z 01O | ^ 2026-03-17T04:25:37.941298Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-03-17T04:25:37.941299Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-03-17T04:25:37.941304Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941304Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-03-17T04:25:37.941305Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-03-17T04:25:37.941305Z 01O | ^ 2026-03-17T04:25:37.941307Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-03-17T04:25:37.941308Z 01O 1586 | if (!m) { // # nocov start 2026-03-17T04:25:37.941309Z 01O | ^~ 2026-03-17T04:25:37.941315Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-03-17T04:25:37.941316Z 01O 1586 | if (!m) { // # nocov start 2026-03-17T04:25:37.941317Z 01O | ^ 2026-03-17T04:25:37.941317Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-03-17T04:25:37.941318Z 01O 1592 | if (!n) { // # nocov start 2026-03-17T04:25:37.941318Z 01O | ^~ 2026-03-17T04:25:37.941319Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-03-17T04:25:37.941319Z 01O 1592 | if (!n) { // # nocov start 2026-03-17T04:25:37.941320Z 01O | ^ 2026-03-17T04:25:37.941320Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-03-17T04:25:37.941321Z 01O 1598 | if (!s) { // # nocov start 2026-03-17T04:25:37.941321Z 01O | ^~ 2026-03-17T04:25:37.941364Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-03-17T04:25:37.941364Z 01O 1598 | if (!s) { // # nocov start 2026-03-17T04:25:37.941365Z 01O | ^ 2026-03-17T04:25:37.941365Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-03-17T04:25:37.941366Z 01O 1604 | if (!prev) { // # nocov start 2026-03-17T04:25:37.941366Z 01O | ^~~~~ 2026-03-17T04:25:37.941369Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-03-17T04:25:37.941369Z 01O 1604 | if (!prev) { // # nocov start 2026-03-17T04:25:37.941370Z 01O | ^ 2026-03-17T04:25:37.941370Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-03-17T04:25:37.941371Z 01O 1610 | if (!next) { // # nocov start 2026-03-17T04:25:37.941371Z 01O | ^~~~~ 2026-03-17T04:25:37.941373Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-03-17T04:25:37.941374Z 01O 1610 | if (!next) { // # nocov start 2026-03-17T04:25:37.941375Z 01O | ^ 2026-03-17T04:25:37.941375Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-03-17T04:25:37.941376Z 01O 1616 | if (verbose) 2026-03-17T04:25:37.941376Z 01O | ^~~~~~~ 2026-03-17T04:25:37.941378Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-03-17T04:25:37.941379Z 01O 1616 | if (verbose) 2026-03-17T04:25:37.941379Z 01O | ^ 2026-03-17T04:25:37.941441Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-03-17T04:25:37.941442Z 01O 1619 | for (int j=0; j= 'k' 2026-03-17T04:25:37.941526Z 01O 1356 | for (int i=0; i=0) { 2026-03-17T04:25:37.941664Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941665Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-03-17T04:25:37.941665Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.941666Z 01O | ^ 2026-03-17T04:25:37.941666Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-03-17T04:25:37.941667Z 01O 1565 | if (nx_mod_k) { 2026-03-17T04:25:37.941667Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941668Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-03-17T04:25:37.941668Z 01O 1565 | if (nx_mod_k) { 2026-03-17T04:25:37.941669Z 01O | ^ 2026-03-17T04:25:37.941669Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-03-17T04:25:37.941670Z 01O 1572 | bool even = !(k % 2); 2026-03-17T04:25:37.941670Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941671Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-03-17T04:25:37.941671Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-03-17T04:25:37.941672Z 01O | ^~~~ 2026-03-17T04:25:37.941672Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-03-17T04:25:37.941673Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-03-17T04:25:37.941673Z 01O 1577 | if (!o) { // # nocov start 2026-03-17T04:25:37.941674Z 01O | ^~ 2026-03-17T04:25:37.941674Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-03-17T04:25:37.941675Z 01O 1577 | if (!o) { // # nocov start 2026-03-17T04:25:37.941675Z 01O | ^ 2026-03-17T04:25:37.941676Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-03-17T04:25:37.941676Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-03-17T04:25:37.941677Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.941677Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-03-17T04:25:37.941678Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-03-17T04:25:37.941679Z 01O | ^ 2026-03-17T04:25:37.941679Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-03-17T04:25:37.941680Z 01O 1586 | if (!m) { // # nocov start 2026-03-17T04:25:37.941680Z 01O | ^~ 2026-03-17T04:25:37.941687Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-03-17T04:25:37.941688Z 01O 1586 | if (!m) { // # nocov start 2026-03-17T04:25:37.941688Z 01O | ^ 2026-03-17T04:25:37.941689Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-03-17T04:25:37.941689Z 01O 1592 | if (!n) { // # nocov start 2026-03-17T04:25:37.941690Z 01O | ^~ 2026-03-17T04:25:37.941690Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-03-17T04:25:37.941691Z 01O 1592 | if (!n) { // # nocov start 2026-03-17T04:25:37.941691Z 01O | ^ 2026-03-17T04:25:37.941692Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-03-17T04:25:37.941692Z 01O 1598 | if (!s) { // # nocov start 2026-03-17T04:25:37.941693Z 01O | ^~ 2026-03-17T04:25:37.941720Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-03-17T04:25:37.941720Z 01O 1598 | if (!s) { // # nocov start 2026-03-17T04:25:37.941721Z 01O | ^ 2026-03-17T04:25:37.941721Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-03-17T04:25:37.941726Z 01O 1604 | if (!prev) { // # nocov start 2026-03-17T04:25:37.941727Z 01O | ^~~~~ 2026-03-17T04:25:37.941727Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-03-17T04:25:37.941728Z 01O 1604 | if (!prev) { // # nocov start 2026-03-17T04:25:37.941728Z 01O | ^ 2026-03-17T04:25:37.941745Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-03-17T04:25:37.941746Z 01O 1610 | if (!next) { // # nocov start 2026-03-17T04:25:37.941746Z 01O | ^~~~~ 2026-03-17T04:25:37.941747Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-03-17T04:25:37.941747Z 01O 1610 | if (!next) { // # nocov start 2026-03-17T04:25:37.941748Z 01O | ^ 2026-03-17T04:25:37.941748Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2026-03-17T04:25:37.941749Z 01O 1616 | if (verbose) 2026-03-17T04:25:37.941749Z 01O | ^~~~~~~ 2026-03-17T04:25:37.941750Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2026-03-17T04:25:37.941750Z 01O 1616 | if (verbose) 2026-03-17T04:25:37.941751Z 01O | ^ 2026-03-17T04:25:37.941751Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-03-17T04:25:37.941752Z 01O 1619 | for (int j=0; j= 'b' 2026-03-17T04:25:37.941912Z 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-03-17T04:25:37.941958Z 01O | ^~~ 2026-03-17T04:25:37.941959Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2026-03-17T04:25:37.941959Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.941960Z 01O 1631 | for (int i=0; i= 'm' 2026-03-17T04:25:37.942304Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-03-17T04:25:37.942304Z 01O | ^~~~~ 2026-03-17T04:25:37.942305Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2026-03-17T04:25:37.942305Z 01O 1391 | if (SMALL(i)) { 2026-03-17T04:25:37.942306Z 01O | ^ 2026-03-17T04:25:37.942306Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-03-17T04:25:37.942307Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-03-17T04:25:37.942307Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.942311Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2026-03-17T04:25:37.942312Z 01O 1391 | if (SMALL(i)) { 2026-03-17T04:25:37.942312Z 01O | ^ 2026-03-17T04:25:37.942313Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2026-03-17T04:25:37.942313Z 01O 1394 | if (m[0] == i) { 2026-03-17T04:25:37.942314Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.942314Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2026-03-17T04:25:37.942315Z 01O 1394 | if (m[0] == i) { 2026-03-17T04:25:37.942315Z 01O | ^ 2026-03-17T04:25:37.942316Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2026-03-17T04:25:37.942316Z 01O 1397 | if (s[0] > 0) { 2026-03-17T04:25:37.942317Z 01O | ^ 2026-03-17T04:25:37.942317Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2026-03-17T04:25:37.942318Z 01O 1398 | m[0] = prev[m[0]]; 2026-03-17T04:25:37.942318Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.942424Z 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-03-17T04:25:37.942430Z 01O 1469 | m[0] = prev[m[0]]; 2026-03-17T04:25:37.942430Z 01O | ^ 2026-03-17T04:25:37.942431Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.942431Z 01O 1504 | if (verbose) 2026-03-17T04:25:37.942432Z 01O | ^~~~~~~ 2026-03-17T04:25:37.942432Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-03-17T04:25:37.942433Z 01O 1504 | if (verbose) 2026-03-17T04:25:37.942433Z 01O | ^ 2026-03-17T04:25:37.942434Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-03-17T04:25:37.942434Z 01O 1506 | if (k == 0) { 2026-03-17T04:25:37.942435Z 01O | ^~~~~~ 2026-03-17T04:25:37.942435Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-03-17T04:25:37.942436Z 01O 1506 | if (k == 0) { 2026-03-17T04:25:37.942436Z 01O | ^ 2026-03-17T04:25:37.942437Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-03-17T04:25:37.942437Z 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-03-17T04:25:37.942438Z 01O | ^~~~~~ 2026-03-17T04:25:37.942438Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-03-17T04:25:37.942463Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-03-17T04:25:37.942463Z 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-03-17T04:25:37.942464Z 01O | ^~~~~~ 2026-03-17T04:25:37.942467Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-03-17T04:25:37.942468Z 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-03-17T04:25:37.942468Z 01O | ^ 2026-03-17T04:25:37.942469Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-03-17T04:25:37.942470Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.942470Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.942470Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-03-17T04:25:37.942471Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.942471Z 01O | ^ 2026-03-17T04:25:37.942474Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-03-17T04:25:37.942474Z 01O 1565 | if (nx_mod_k) { 2026-03-17T04:25:37.942475Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.942475Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-03-17T04:25:37.942476Z 01O 1565 | if (nx_mod_k) { 2026-03-17T04:25:37.942476Z 01O | ^ 2026-03-17T04:25:37.942478Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2026-03-17T04:25:37.942479Z 01O 1572 | bool even = !(k % 2); 2026-03-17T04:25:37.942480Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.942511Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2026-03-17T04:25:37.942512Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-03-17T04:25:37.942512Z 01O | ^~~~ 2026-03-17T04:25:37.942513Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2026-03-17T04:25:37.942513Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-03-17T04:25:37.942514Z 01O 1577 | if (!o) { // # nocov start 2026-03-17T04:25:37.942514Z 01O | ^~ 2026-03-17T04:25:37.942515Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-03-17T04:25:37.942515Z 01O 1577 | if (!o) { // # nocov start 2026-03-17T04:25:37.942516Z 01O | ^ 2026-03-17T04:25:37.942536Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-03-17T04:25:37.942537Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-03-17T04:25:37.942538Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.942538Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-03-17T04:25:37.942539Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-03-17T04:25:37.942539Z 01O | ^ 2026-03-17T04:25:37.942540Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-03-17T04:25:37.942540Z 01O 1586 | if (!m) { // # nocov start 2026-03-17T04:25:37.942541Z 01O | ^~ 2026-03-17T04:25:37.942541Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-03-17T04:25:37.942542Z 01O 1586 | if (!m) { // # nocov start 2026-03-17T04:25:37.942542Z 01O | ^ 2026-03-17T04:25:37.942543Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-03-17T04:25:37.942543Z 01O 1592 | if (!n) { // # nocov start 2026-03-17T04:25:37.942544Z 01O | ^~ 2026-03-17T04:25:37.942544Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-03-17T04:25:37.942545Z 01O 1592 | if (!n) { // # nocov start 2026-03-17T04:25:37.942545Z 01O | ^ 2026-03-17T04:25:37.942546Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-03-17T04:25:37.942546Z 01O 1598 | if (!s) { // # nocov start 2026-03-17T04:25:37.942547Z 01O | ^~ 2026-03-17T04:25:37.942547Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-03-17T04:25:37.942548Z 01O 1598 | if (!s) { // # nocov start 2026-03-17T04:25:37.942548Z 01O | ^ 2026-03-17T04:25:37.942549Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-03-17T04:25:37.942549Z 01O 1604 | if (!prev) { // # nocov start 2026-03-17T04:25:37.942550Z 01O | ^~~~~ 2026-03-17T04:25:37.942550Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-03-17T04:25:37.942551Z 01O 1604 | if (!prev) { // # nocov start 2026-03-17T04:25:37.942551Z 01O | ^ 2026-03-17T04:25:37.942552Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-03-17T04:25:37.942552Z 01O 1610 | if (!next) { // # nocov start 2026-03-17T04:25:37.942553Z 01O | ^~~~~ 2026-03-17T04:25:37.942579Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-03-17T04:25:37.942580Z 01O 1610 | if (!next) { // # nocov start 2026-03-17T04:25:37.942581Z 01O | ^ 2026-03-17T04:25:37.942581Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-03-17T04:25:37.942582Z 01O 1616 | if (verbose) 2026-03-17T04:25:37.942582Z 01O | ^~~~~~~ 2026-03-17T04:25:37.942582Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-03-17T04:25:37.942583Z 01O 1616 | if (verbose) 2026-03-17T04:25:37.942583Z 01O | ^ 2026-03-17T04:25:37.942605Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-03-17T04:25:37.942606Z 01O 1619 | for (int j=0; j= 'b' 2026-03-17T04:25:37.942724Z 01O 1619 | for (int j=0; j= 'm' 2026-03-17T04:25:37.943064Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-03-17T04:25:37.943065Z 01O | ^~~~~ 2026-03-17T04:25:37.943066Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2026-03-17T04:25:37.943066Z 01O 1458 | if (SMALL(i)) { 2026-03-17T04:25:37.943067Z 01O | ^ 2026-03-17T04:25:37.943072Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-03-17T04:25:37.943073Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-03-17T04:25:37.943074Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.943074Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2026-03-17T04:25:37.943080Z 01O 1458 | if (SMALL(i)) { 2026-03-17T04:25:37.943080Z 01O | ^ 2026-03-17T04:25:37.943081Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2026-03-17T04:25:37.943081Z 01O 1461 | if (m[0] == i) { 2026-03-17T04:25:37.943082Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.943106Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2026-03-17T04:25:37.943107Z 01O 1461 | if (m[0] == i) { 2026-03-17T04:25:37.943107Z 01O | ^ 2026-03-17T04:25:37.943108Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2026-03-17T04:25:37.943108Z 01O 1465 | } else if (even && n[0] == i) { 2026-03-17T04:25:37.943109Z 01O | ^~~~ 2026-03-17T04:25:37.943109Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2026-03-17T04:25:37.943110Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2026-03-17T04:25:37.943111Z 01O 1465 | } else if (even && n[0] == i) { 2026-03-17T04:25:37.943111Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.943112Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2026-03-17T04:25:37.943112Z 01O 1465 | } else if (even && n[0] == i) { 2026-03-17T04:25:37.943113Z 01O | ^ 2026-03-17T04:25:37.943113Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2026-03-17T04:25:37.943114Z 01O 1468 | if (s[0] > 0) { 2026-03-17T04:25:37.943114Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.943115Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2026-03-17T04:25:37.943115Z 01O 1468 | if (s[0] > 0) { 2026-03-17T04:25:37.943116Z 01O | ^ 2026-03-17T04:25:37.943151Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2026-03-17T04:25:37.943152Z 01O 1469 | m[0] = prev[m[0]]; 2026-03-17T04:25:37.943152Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.943156Z 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-03-17T04:25:37.943157Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-03-17T04:25:37.943158Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.943159Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.943160Z 01O 1504 | if (verbose) 2026-03-17T04:25:37.943160Z 01O | ^~~~~~~ 2026-03-17T04:25:37.943161Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-03-17T04:25:37.943162Z 01O 1504 | if (verbose) 2026-03-17T04:25:37.943163Z 01O | ^ 2026-03-17T04:25:37.943164Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-03-17T04:25:37.943165Z 01O 1506 | if (k == 0) { 2026-03-17T04:25:37.943165Z 01O | ^~~~~~ 2026-03-17T04:25:37.943165Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-03-17T04:25:37.943166Z 01O 1506 | if (k == 0) { 2026-03-17T04:25:37.943166Z 01O | ^ 2026-03-17T04:25:37.943199Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-03-17T04:25:37.943200Z 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-03-17T04:25:37.943200Z 01O | ^~~~~~ 2026-03-17T04:25:37.943201Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-03-17T04:25:37.943228Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-03-17T04:25:37.943229Z 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-03-17T04:25:37.943234Z 01O | ^~~~~~ 2026-03-17T04:25:37.943234Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-03-17T04:25:37.943235Z 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-03-17T04:25:37.943236Z 01O | ^ 2026-03-17T04:25:37.943236Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2026-03-17T04:25:37.943237Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.943237Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.943238Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-03-17T04:25:37.943238Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.943239Z 01O | ^ 2026-03-17T04:25:37.943258Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2026-03-17T04:25:37.943259Z 01O 1547 | for (uint64_t i=0; i= 0 2026-03-17T04:25:37.943449Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.943449Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.943450Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-03-17T04:25:37.943450Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.943451Z 01O | ^ 2026-03-17T04:25:37.943451Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-03-17T04:25:37.943452Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-03-17T04:25:37.943609Z 01O 1547 | for (uint64_t i=0; i= 0 2026-03-17T04:25:37.944070Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.944071Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.944071Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-03-17T04:25:37.944072Z 01O 1546 | if (hasnf>=0) { 2026-03-17T04:25:37.944072Z 01O | ^ 2026-03-17T04:25:37.944073Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-03-17T04:25:37.944073Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-03-17T04:25:37.944110Z 01O 1547 | for (uint64_t i=0; i 0 2026-03-17T04:25:37.944677Z 01O 533 | bool truehasnf = hasnf>0; 2026-03-17T04:25:37.944677Z 01O | ^~~~~~~ 2026-03-17T04:25:37.944679Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2026-03-17T04:25:37.944680Z 01O 534 | for (uint64_t i=0; i= 'nx' 2026-03-17T04:25:37.944754Z 01O 534 | for (uint64_t i=0; i 0 2026-03-17T04:25:37.945036Z 01O 608 | bool truehasnf = hasnf>0; 2026-03-17T04:25:37.945036Z 01O | ^~~~~~~ 2026-03-17T04:25:37.945037Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2026-03-17T04:25:37.945037Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-03-17T04:25:37.945105Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-03-17T04:25:37.945317Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2026-03-17T04:25:37.945567Z 01O | ^ 2026-03-17T04:25:37.945568Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2026-03-17T04:25:37.945568Z 01O 880 | if (i+1 == ik) { 2026-03-17T04:25:37.945569Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.945569Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2026-03-17T04:25:37.945570Z 01O 880 | if (i+1 == ik) { 2026-03-17T04:25:37.945570Z 01O | ^ 2026-03-17T04:25:37.945571Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2026-03-17T04:25:37.945571Z 01O 882 | } else if (i+1 < ik) { 2026-03-17T04:25:37.945572Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.945572Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2026-03-17T04:25:37.945573Z 01O 882 | } else if (i+1 < ik) { 2026-03-17T04:25:37.945574Z 01O | ^ 2026-03-17T04:25:37.945581Z 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-03-17T04:25:37.945582Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-03-17T04:25:37.945583Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.945583Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2026-03-17T04:25:37.945584Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2026-03-17T04:25:37.945585Z 01O | ^ 2026-03-17T04:25:37.945585Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2026-03-17T04:25:37.945586Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-03-17T04:25:37.945586Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.945587Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2026-03-17T04:25:37.945587Z 01O 990 | if (!nc) { // total NA for x 2026-03-17T04:25:37.945588Z 01O | ^~ 2026-03-17T04:25:37.945588Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2026-03-17T04:25:37.945589Z 01O 990 | if (!nc) { // total NA for x 2026-03-17T04:25:37.945589Z 01O | ^ 2026-03-17T04:25:37.945590Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.945590Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2026-03-17T04:25:37.946036Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-03-17T04:25:37.946219Z 01O | ^~~~~~~ 2026-03-17T04:25:37.946220Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-03-17T04:25:37.946220Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-03-17T04:25:37.946221Z 01O | ^ 2026-03-17T04:25:37.946221Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-03-17T04:25:37.946222Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-03-17T04:25:37.946223Z 01O | ^ 2026-03-17T04:25:37.946223Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-03-17T04:25:37.946224Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-03-17T04:25:37.946224Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.946225Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-03-17T04:25:37.946257Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-03-17T04:25:37.946258Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-03-17T04:25:37.946259Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.946259Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-03-17T04:25:37.946264Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-03-17T04:25:37.946265Z 01O | ^ 2026-03-17T04:25:37.946265Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-03-17T04:25:37.946266Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-03-17T04:25:37.946267Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.946267Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-03-17T04:25:37.946268Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-03-17T04:25:37.946268Z 01O | ^ 2026-03-17T04:25:37.946269Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-03-17T04:25:37.946269Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-03-17T04:25:37.946414Z 01O | ^~~~~~~ 2026-03-17T04:25:37.946415Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-03-17T04:25:37.946416Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-03-17T04:25:37.946416Z 01O | ^ 2026-03-17T04:25:37.946461Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-03-17T04:25:37.946462Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-03-17T04:25:37.946463Z 01O | ^ 2026-03-17T04:25:37.946463Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-03-17T04:25:37.946464Z 01O 122 | if (!counts || !TMP ) { 2026-03-17T04:25:37.946464Z 01O | ^~~~~~~ 2026-03-17T04:25:37.946465Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-03-17T04:25:37.946465Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-03-17T04:25:37.946466Z 01O 122 | if (!counts || !TMP ) { 2026-03-17T04:25:37.946466Z 01O | ^~~~ 2026-03-17T04:25:37.946467Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-03-17T04:25:37.946472Z 01O 122 | if (!counts || !TMP ) { 2026-03-17T04:25:37.946472Z 01O | ^ 2026-03-17T04:25:37.946473Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-03-17T04:25:37.946473Z 01O 127 | for (int b=0; b= 'howMany' 2026-03-17T04:25:37.946482Z 01O 131 | for (int i=0; i= 'highSize' 2026-03-17T04:25:37.946511Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-03-17T04:25:37.946777Z 01O | ^ 2026-03-17T04:25:37.946777Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-03-17T04:25:37.946778Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-03-17T04:25:37.946779Z 01O | ^ ~ 2026-03-17T04:25:37.946779Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-03-17T04:25:37.946780Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-03-17T04:25:37.946780Z 01O | ^ ~ 2026-03-17T04:25:37.946781Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-03-17T04:25:37.946781Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.946782Z 01O | ^ 2026-03-17T04:25:37.946782Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.946783Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.946784Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.946784Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-03-17T04:25:37.946785Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.946785Z 01O | ^ 2026-03-17T04:25:37.946841Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.946842Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.946842Z 01O | ^ 2026-03-17T04:25:37.946843Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-03-17T04:25:37.946844Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.946844Z 01O | ^ 2026-03-17T04:25:37.946847Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.946847Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.946848Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.946851Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-03-17T04:25:37.946852Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.946853Z 01O | ^ 2026-03-17T04:25:37.946907Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.946908Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.946909Z 01O | ^ 2026-03-17T04:25:37.946909Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-03-17T04:25:37.946910Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.946910Z 01O | ^ 2026-03-17T04:25:37.946948Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.946949Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.946950Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.946955Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-03-17T04:25:37.946955Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.946956Z 01O | ^ 2026-03-17T04:25:37.946956Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-03-17T04:25:37.946957Z 01O 1120 | if (!isVectorAtomic(x)) 2026-03-17T04:25:37.946957Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.946958Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-03-17T04:25:37.946959Z 01O 1120 | if (!isVectorAtomic(x)) 2026-03-17T04:25:37.946959Z 01O | ^ 2026-03-17T04:25:37.946959Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-03-17T04:25:37.946960Z 01O 1122 | if (inherits(x, "factor")) 2026-03-17T04:25:37.946961Z 01O | ^ 2026-03-17T04:25:37.946961Z 01O /usr/local/lib/R/include/Rinternals.h:946:19: note: expanded from macro 'inherits' 2026-03-17T04:25:37.946962Z 01O 946 | #define inherits Rf_inherits 2026-03-17T04:25:37.946962Z 01O | ^ 2026-03-17T04:25:37.946963Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-03-17T04:25:37.946963Z 01O 1122 | if (inherits(x, "factor")) 2026-03-17T04:25:37.946964Z 01O | ^ 2026-03-17T04:25:37.946964Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-03-17T04:25:37.946965Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-03-17T04:25:37.946965Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.946966Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-03-17T04:25:37.946966Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-03-17T04:25:37.946967Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.946967Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-03-17T04:25:37.946976Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-03-17T04:25:37.946976Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-03-17T04:25:37.946977Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.946977Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-03-17T04:25:37.946978Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-03-17T04:25:37.946979Z 01O | ^ 2026-03-17T04:25:37.946982Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-03-17T04:25:37.946983Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-03-17T04:25:37.946983Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.946984Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-03-17T04:25:37.946985Z 01O 1129 | if (!s) 2026-03-17T04:25:37.946985Z 01O | ^~ 2026-03-17T04:25:37.946985Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-03-17T04:25:37.946986Z 01O 1129 | if (!s) 2026-03-17T04:25:37.946987Z 01O | ^ 2026-03-17T04:25:37.947069Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-03-17T04:25:37.947070Z 01O 1131 | for (int i=0; i= 'n' 2026-03-17T04:25:37.947086Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-03-17T04:25:37.947139Z 01O | ^ 2026-03-17T04:25:37.947140Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-03-17T04:25:37.947140Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-03-17T04:25:37.947141Z 01O | ^ ~ 2026-03-17T04:25:37.947145Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-03-17T04:25:37.947146Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-03-17T04:25:37.947146Z 01O | ^ ~ 2026-03-17T04:25:37.947147Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-03-17T04:25:37.947148Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-03-17T04:25:37.947148Z 01O | ~~~~ ^ 2026-03-17T04:25:37.947149Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-03-17T04:25:37.947149Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.947150Z 01O | ^ 2026-03-17T04:25:37.947209Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.947210Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.947210Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947211Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-03-17T04:25:37.947212Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.947212Z 01O | ^ 2026-03-17T04:25:37.947237Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.947243Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.947243Z 01O | ^ 2026-03-17T04:25:37.947244Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-03-17T04:25:37.947244Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.947245Z 01O | ^ 2026-03-17T04:25:37.947245Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.947246Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.947247Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.947247Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-03-17T04:25:37.947248Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.947248Z 01O | ^ 2026-03-17T04:25:37.947279Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.947279Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.947280Z 01O | ^ 2026-03-17T04:25:37.947281Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-03-17T04:25:37.947281Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.947282Z 01O | ^ 2026-03-17T04:25:37.947319Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.947320Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.947321Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947321Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-03-17T04:25:37.947322Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-03-17T04:25:37.947322Z 01O | ^ 2026-03-17T04:25:37.947323Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-03-17T04:25:37.947323Z 01O 1120 | if (!isVectorAtomic(x)) 2026-03-17T04:25:37.947324Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947324Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-03-17T04:25:37.947325Z 01O 1120 | if (!isVectorAtomic(x)) 2026-03-17T04:25:37.947326Z 01O | ^ 2026-03-17T04:25:37.947353Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-03-17T04:25:37.947354Z 01O 1122 | if (inherits(x, "factor")) 2026-03-17T04:25:37.947355Z 01O | ^ 2026-03-17T04:25:37.947355Z 01O /usr/local/lib/R/include/Rinternals.h:946:19: note: expanded from macro 'inherits' 2026-03-17T04:25:37.947356Z 01O 946 | #define inherits Rf_inherits 2026-03-17T04:25:37.947356Z 01O | ^ 2026-03-17T04:25:37.947357Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-03-17T04:25:37.947357Z 01O 1122 | if (inherits(x, "factor")) 2026-03-17T04:25:37.947358Z 01O | ^ 2026-03-17T04:25:37.947358Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-03-17T04:25:37.947359Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-03-17T04:25:37.947359Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.947360Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-03-17T04:25:37.947360Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-03-17T04:25:37.947361Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.947361Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-03-17T04:25:37.947367Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-03-17T04:25:37.947367Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-03-17T04:25:37.947368Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.947403Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-03-17T04:25:37.947404Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-03-17T04:25:37.947405Z 01O | ^ 2026-03-17T04:25:37.947405Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-03-17T04:25:37.947406Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-03-17T04:25:37.947406Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947407Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-03-17T04:25:37.947412Z 01O 1129 | if (!s) 2026-03-17T04:25:37.947412Z 01O | ^~ 2026-03-17T04:25:37.947413Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-03-17T04:25:37.947413Z 01O 1129 | if (!s) 2026-03-17T04:25:37.947414Z 01O | ^ 2026-03-17T04:25:37.947414Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-03-17T04:25:37.947415Z 01O 1131 | for (int i=0; i= 'n' 2026-03-17T04:25:37.947449Z 01O 1135 | for (int i=0; i' is a garbage value 2026-03-17T04:25:37.947520Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-03-17T04:25:37.947520Z 01O | ~~~~ ^ 2026-03-17T04:25:37.947566Z 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-03-17T04:25:37.947567Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-03-17T04:25:37.947567Z 01O | ^ 2026-03-17T04:25:37.947568Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-03-17T04:25:37.947568Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-03-17T04:25:37.947569Z 01O | ^ 2026-03-17T04:25:37.947569Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-03-17T04:25:37.947570Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-03-17T04:25:37.947571Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.947571Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-03-17T04:25:37.947572Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-03-17T04:25:37.947572Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947573Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-03-17T04:25:37.947573Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-03-17T04:25:37.947574Z 01O | ^ 2026-03-17T04:25:37.947619Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-03-17T04:25:37.947620Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-03-17T04:25:37.947621Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947621Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-03-17T04:25:37.947622Z 01O 54 | if (!ret) 2026-03-17T04:25:37.947622Z 01O | ^~~~ 2026-03-17T04:25:37.947623Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-03-17T04:25:37.947624Z 01O 54 | if (!ret) 2026-03-17T04:25:37.947624Z 01O | ^ 2026-03-17T04:25:37.947626Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-03-17T04:25:37.947627Z 01O 59 | if (!table) { 2026-03-17T04:25:37.947627Z 01O | ^~~~~~ 2026-03-17T04:25:37.947628Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-03-17T04:25:37.947628Z 01O 59 | if (!table) { 2026-03-17T04:25:37.947629Z 01O | ^ 2026-03-17T04:25:37.947647Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-03-17T04:25:37.947648Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-03-17T04:25:37.947648Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947649Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-03-17T04:25:37.947650Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-03-17T04:25:37.947650Z 01O | ^ 2026-03-17T04:25:37.947651Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-03-17T04:25:37.947651Z 01O 71 | ret->shift = HASH_BITS - k; 2026-03-17T04:25:37.947652Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947652Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-03-17T04:25:37.947653Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-03-17T04:25:37.947653Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947654Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-03-17T04:25:37.947655Z 01O 133 | if (!new_h) return NULL; 2026-03-17T04:25:37.947659Z 01O | ^~~~~ 2026-03-17T04:25:37.947660Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-03-17T04:25:37.947660Z 01O 133 | if (!new_h) return NULL; 2026-03-17T04:25:37.947661Z 01O | ^ 2026-03-17T04:25:37.947667Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-03-17T04:25:37.947668Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-03-17T04:25:37.947668Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.947669Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.947670Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-03-17T04:25:37.947670Z 01O | ^ 2026-03-17T04:25:37.947702Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-03-17T04:25:37.947703Z 01O 138 | if (h->table[i].key) 2026-03-17T04:25:37.947704Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947704Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-03-17T04:25:37.947705Z 01O 138 | if (h->table[i].key) 2026-03-17T04:25:37.947705Z 01O | ^ 2026-03-17T04:25:37.947726Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-03-17T04:25:37.947727Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-03-17T04:25:37.947728Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947728Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-03-17T04:25:37.947729Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-03-17T04:25:37.947729Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.947730Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-03-17T04:25:37.947731Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-03-17T04:25:37.947731Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947783Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-03-17T04:25:37.947784Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-03-17T04:25:37.947785Z 01O | ^ 2026-03-17T04:25:37.947785Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-03-17T04:25:37.947786Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-03-17T04:25:37.947786Z 01O | ^ 2026-03-17T04:25:37.947787Z 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-03-17T04:25:37.947788Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-03-17T04:25:37.947788Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-03-17T04:25:37.947864Z 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-03-17T04:25:37.947865Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-03-17T04:25:37.947866Z 01O | ^ 2026-03-17T04:25:37.947866Z 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-03-17T04:25:37.947937Z 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-03-17T04:25:37.947938Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-03-17T04:25:37.947944Z 01O | ^ 2026-03-17T04:25:37.947944Z 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-03-17T04:25:37.947945Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-03-17T04:25:37.947946Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-03-17T04:25:37.947947Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.947947Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-03-17T04:25:37.947948Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-03-17T04:25:37.947948Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.948010Z 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-03-17T04:25:37.948011Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-03-17T04:25:37.948012Z 01O | ^ 2026-03-17T04:25:37.948012Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.948013Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.948014Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.948014Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.948015Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.948015Z 01O | ^ 2026-03-17T04:25:37.948016Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.948016Z 01O 128 | if (verbose) 2026-03-17T04:25:37.948017Z 01O | ^~~~~~~ 2026-03-17T04:25:37.948017Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.948018Z 01O 128 | if (verbose) 2026-03-17T04:25:37.948018Z 01O | ^ 2026-03-17T04:25:37.948039Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.948040Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948041Z 01O | ^ 2026-03-17T04:25:37.948041Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948042Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948042Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.948043Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.948044Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948044Z 01O | ^ 2026-03-17T04:25:37.948045Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948045Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948046Z 01O | ^ 2026-03-17T04:25:37.948194Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.948195Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948196Z 01O | ^ 2026-03-17T04:25:37.948196Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948197Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948197Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.948198Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.948208Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948209Z 01O | ^ 2026-03-17T04:25:37.948209Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948210Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948211Z 01O | ^ 2026-03-17T04:25:37.948211Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.948212Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948212Z 01O | ^ 2026-03-17T04:25:37.948213Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948213Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948214Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.948215Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.948215Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948216Z 01O | ^ 2026-03-17T04:25:37.948265Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.948266Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.948267Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.948267Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.948268Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.948268Z 01O | ^ 2026-03-17T04:25:37.948269Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.948269Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.948377Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-03-17T04:25:37.948598Z 01O | ^ 2026-03-17T04:25:37.948599Z 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-03-17T04:25:37.948600Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-03-17T04:25:37.948600Z 01O | ^ 2026-03-17T04:25:37.948601Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.948601Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.948602Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.948602Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.948603Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.948603Z 01O | ^ 2026-03-17T04:25:37.948606Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.948606Z 01O 128 | if (verbose) 2026-03-17T04:25:37.948607Z 01O | ^~~~~~~ 2026-03-17T04:25:37.948607Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.948608Z 01O 128 | if (verbose) 2026-03-17T04:25:37.948608Z 01O | ^ 2026-03-17T04:25:37.948614Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.948614Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948615Z 01O | ^ 2026-03-17T04:25:37.948615Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948616Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948616Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.948617Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.948618Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948618Z 01O | ^ 2026-03-17T04:25:37.948681Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948682Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948682Z 01O | ^ 2026-03-17T04:25:37.948683Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.948684Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948684Z 01O | ^ 2026-03-17T04:25:37.948685Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948685Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948686Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.948686Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.948687Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948687Z 01O | ^ 2026-03-17T04:25:37.948688Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948689Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948693Z 01O | ^ 2026-03-17T04:25:37.948706Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.948706Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948707Z 01O | ^ 2026-03-17T04:25:37.948707Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.948708Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.948709Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.948709Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.948710Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.948711Z 01O | ^ 2026-03-17T04:25:37.948713Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.948714Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.948715Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.948715Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.948716Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.948716Z 01O | ^ 2026-03-17T04:25:37.948717Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.948717Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.948870Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-03-17T04:25:37.949246Z 01O | ^ 2026-03-17T04:25:37.949246Z 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-03-17T04:25:37.949247Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-03-17T04:25:37.949248Z 01O | ^ 2026-03-17T04:25:37.949248Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.949249Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.949249Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.949250Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.949250Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.949251Z 01O | ^ 2026-03-17T04:25:37.949251Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.949252Z 01O 128 | if (verbose) 2026-03-17T04:25:37.949252Z 01O | ^~~~~~~ 2026-03-17T04:25:37.949253Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.949253Z 01O 128 | if (verbose) 2026-03-17T04:25:37.949254Z 01O | ^ 2026-03-17T04:25:37.949254Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.949255Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949255Z 01O | ^ 2026-03-17T04:25:37.949256Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949256Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949257Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.949257Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.949258Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949259Z 01O | ^ 2026-03-17T04:25:37.949259Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949260Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949260Z 01O | ^ 2026-03-17T04:25:37.949261Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.949261Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949262Z 01O | ^ 2026-03-17T04:25:37.949262Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949263Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949264Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.949264Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.949265Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949265Z 01O | ^ 2026-03-17T04:25:37.949273Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949274Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949274Z 01O | ^ 2026-03-17T04:25:37.949275Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.949275Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949276Z 01O | ^ 2026-03-17T04:25:37.949307Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949312Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949313Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.949314Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.949314Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949315Z 01O | ^ 2026-03-17T04:25:37.949315Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.949316Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.949316Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.949317Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.949317Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.949318Z 01O | ^ 2026-03-17T04:25:37.949318Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.949319Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.949470Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-03-17T04:25:37.949768Z 01O | ^ 2026-03-17T04:25:37.949768Z 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-03-17T04:25:37.949769Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-03-17T04:25:37.949770Z 01O | ^ 2026-03-17T04:25:37.949770Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.949771Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.949771Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.949772Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.949772Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.949773Z 01O | ^ 2026-03-17T04:25:37.949773Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.949774Z 01O 128 | if (verbose) 2026-03-17T04:25:37.949774Z 01O | ^~~~~~~ 2026-03-17T04:25:37.949775Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.949775Z 01O 128 | if (verbose) 2026-03-17T04:25:37.949776Z 01O | ^ 2026-03-17T04:25:37.949776Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.949777Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949777Z 01O | ^ 2026-03-17T04:25:37.949777Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949778Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949779Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.949779Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.949780Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949780Z 01O | ^ 2026-03-17T04:25:37.949819Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949819Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949820Z 01O | ^ 2026-03-17T04:25:37.949821Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.949821Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949822Z 01O | ^ 2026-03-17T04:25:37.949822Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949823Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949823Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.949824Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.949825Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949825Z 01O | ^ 2026-03-17T04:25:37.949867Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949867Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949868Z 01O | ^ 2026-03-17T04:25:37.949869Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.949869Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949870Z 01O | ^ 2026-03-17T04:25:37.949874Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.949875Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.949876Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.949880Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.949881Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.949881Z 01O | ^ 2026-03-17T04:25:37.949882Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.949883Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.949883Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.949883Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.949884Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.949884Z 01O | ^ 2026-03-17T04:25:37.949885Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.949885Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.949969Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-03-17T04:25:37.950280Z 01O | ^ 2026-03-17T04:25:37.950280Z 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-03-17T04:25:37.950281Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-03-17T04:25:37.950282Z 01O | ^ 2026-03-17T04:25:37.950282Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.950283Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.950283Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.950284Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.950284Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.950285Z 01O | ^ 2026-03-17T04:25:37.950285Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.950286Z 01O 128 | if (verbose) 2026-03-17T04:25:37.950286Z 01O | ^~~~~~~ 2026-03-17T04:25:37.950326Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.950327Z 01O 128 | if (verbose) 2026-03-17T04:25:37.950328Z 01O | ^ 2026-03-17T04:25:37.950328Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.950329Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.950329Z 01O | ^ 2026-03-17T04:25:37.950396Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.950397Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.950397Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.950398Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.950399Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.950399Z 01O | ^ 2026-03-17T04:25:37.950400Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.950400Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.950401Z 01O | ^ 2026-03-17T04:25:37.950447Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.950448Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.950448Z 01O | ^ 2026-03-17T04:25:37.950449Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.950449Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.950450Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.950451Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.950451Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.950452Z 01O | ^ 2026-03-17T04:25:37.950452Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.950453Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.950454Z 01O | ^ 2026-03-17T04:25:37.950454Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.950459Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.950460Z 01O | ^ 2026-03-17T04:25:37.950468Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.950469Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.950469Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.950470Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.950471Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.950471Z 01O | ^ 2026-03-17T04:25:37.950472Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.950472Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.950473Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.950582Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.950583Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.950584Z 01O | ^ 2026-03-17T04:25:37.950584Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.950585Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.950713Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-03-17T04:25:37.951025Z 01O | ^ 2026-03-17T04:25:37.951025Z 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-03-17T04:25:37.951026Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-03-17T04:25:37.951027Z 01O | ^ 2026-03-17T04:25:37.951027Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.951028Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.951028Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.951029Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.951029Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.951030Z 01O | ^ 2026-03-17T04:25:37.951030Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.951031Z 01O 128 | if (verbose) 2026-03-17T04:25:37.951031Z 01O | ^~~~~~~ 2026-03-17T04:25:37.951032Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.951032Z 01O 128 | if (verbose) 2026-03-17T04:25:37.951033Z 01O | ^ 2026-03-17T04:25:37.951033Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.951034Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951034Z 01O | ^ 2026-03-17T04:25:37.951035Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951035Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951036Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.951095Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.951096Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951096Z 01O | ^ 2026-03-17T04:25:37.951100Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951100Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951101Z 01O | ^ 2026-03-17T04:25:37.951101Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.951102Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951107Z 01O | ^ 2026-03-17T04:25:37.951150Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951150Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951151Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.951152Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.951152Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951153Z 01O | ^ 2026-03-17T04:25:37.951153Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951154Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951155Z 01O | ^ 2026-03-17T04:25:37.951155Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.951156Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951156Z 01O | ^ 2026-03-17T04:25:37.951157Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951157Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951158Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.951159Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.951161Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951162Z 01O | ^ 2026-03-17T04:25:37.951162Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.951163Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.951164Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.951164Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.951165Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.951165Z 01O | ^ 2026-03-17T04:25:37.951168Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.951169Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.951320Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-03-17T04:25:37.951666Z 01O | ^ 2026-03-17T04:25:37.951667Z 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-03-17T04:25:37.951668Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-03-17T04:25:37.951668Z 01O | ^ 2026-03-17T04:25:37.951669Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.951669Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.951670Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.951670Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.951671Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.951671Z 01O | ^ 2026-03-17T04:25:37.951672Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.951672Z 01O 128 | if (verbose) 2026-03-17T04:25:37.951673Z 01O | ^~~~~~~ 2026-03-17T04:25:37.951673Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.951674Z 01O 128 | if (verbose) 2026-03-17T04:25:37.951674Z 01O | ^ 2026-03-17T04:25:37.951675Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.951675Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951680Z 01O | ^ 2026-03-17T04:25:37.951681Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951681Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951682Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.951682Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.951683Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951684Z 01O | ^ 2026-03-17T04:25:37.951730Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951731Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951732Z 01O | ^ 2026-03-17T04:25:37.951732Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.951733Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951734Z 01O | ^ 2026-03-17T04:25:37.951761Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951762Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951763Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.951763Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.951764Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951765Z 01O | ^ 2026-03-17T04:25:37.951765Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951766Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951766Z 01O | ^ 2026-03-17T04:25:37.951767Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.951767Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951768Z 01O | ^ 2026-03-17T04:25:37.951816Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.951817Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.951817Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.951818Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.951819Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.951819Z 01O | ^ 2026-03-17T04:25:37.951820Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.951820Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.951821Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.951821Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.951822Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.951822Z 01O | ^ 2026-03-17T04:25:37.951823Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.951823Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.951916Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-03-17T04:25:37.952161Z 01O | ^ 2026-03-17T04:25:37.952212Z 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-03-17T04:25:37.952214Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-03-17T04:25:37.952214Z 01O | ^ 2026-03-17T04:25:37.952215Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.952215Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.952216Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.952216Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.952217Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.952217Z 01O | ^ 2026-03-17T04:25:37.952220Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.952221Z 01O 128 | if (verbose) 2026-03-17T04:25:37.952222Z 01O | ^~~~~~~ 2026-03-17T04:25:37.952222Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.952223Z 01O 128 | if (verbose) 2026-03-17T04:25:37.952223Z 01O | ^ 2026-03-17T04:25:37.952223Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.952224Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952225Z 01O | ^ 2026-03-17T04:25:37.952271Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952272Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952273Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.952273Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.952274Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952274Z 01O | ^ 2026-03-17T04:25:37.952275Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952275Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952281Z 01O | ^ 2026-03-17T04:25:37.952284Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.952285Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952285Z 01O | ^ 2026-03-17T04:25:37.952286Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952286Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952287Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.952341Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.952342Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952343Z 01O | ^ 2026-03-17T04:25:37.952343Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952344Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952344Z 01O | ^ 2026-03-17T04:25:37.952345Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.952346Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952346Z 01O | ^ 2026-03-17T04:25:37.952347Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952347Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952348Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.952348Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.952349Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952350Z 01O | ^ 2026-03-17T04:25:37.952350Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.952351Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.952351Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.952414Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.952415Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.952415Z 01O | ^ 2026-03-17T04:25:37.952415Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.952416Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.952472Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-03-17T04:25:37.952745Z 01O | ^ 2026-03-17T04:25:37.952782Z 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-03-17T04:25:37.952783Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-03-17T04:25:37.952783Z 01O | ^ 2026-03-17T04:25:37.952784Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.952784Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.952785Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.952785Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.952786Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.952786Z 01O | ^ 2026-03-17T04:25:37.952787Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.952787Z 01O 128 | if (verbose) 2026-03-17T04:25:37.952788Z 01O | ^~~~~~~ 2026-03-17T04:25:37.952788Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.952789Z 01O 128 | if (verbose) 2026-03-17T04:25:37.952789Z 01O | ^ 2026-03-17T04:25:37.952790Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.952790Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952791Z 01O | ^ 2026-03-17T04:25:37.952791Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952792Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952792Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.952793Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.952794Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952794Z 01O | ^ 2026-03-17T04:25:37.952846Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952847Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952847Z 01O | ^ 2026-03-17T04:25:37.952852Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.952853Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952859Z 01O | ^ 2026-03-17T04:25:37.952860Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952860Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952861Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.952862Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.952862Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952863Z 01O | ^ 2026-03-17T04:25:37.952882Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952883Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952884Z 01O | ^ 2026-03-17T04:25:37.952884Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.952885Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952885Z 01O | ^ 2026-03-17T04:25:37.952889Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.952890Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.952890Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.952891Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.952892Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.952892Z 01O | ^ 2026-03-17T04:25:37.952893Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.952893Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.952894Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.952909Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.952910Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.952911Z 01O | ^ 2026-03-17T04:25:37.952944Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.952945Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.953036Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-03-17T04:25:37.953367Z 01O | ^ 2026-03-17T04:25:37.953367Z 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-03-17T04:25:37.953368Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-03-17T04:25:37.953369Z 01O | ^ 2026-03-17T04:25:37.953369Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.953370Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.953370Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.953371Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.953371Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.953372Z 01O | ^ 2026-03-17T04:25:37.953372Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.953373Z 01O 128 | if (verbose) 2026-03-17T04:25:37.953373Z 01O | ^~~~~~~ 2026-03-17T04:25:37.953374Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.953374Z 01O 128 | if (verbose) 2026-03-17T04:25:37.953375Z 01O | ^ 2026-03-17T04:25:37.953442Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.953443Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953444Z 01O | ^ 2026-03-17T04:25:37.953448Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953449Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953450Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.953455Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.953456Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953456Z 01O | ^ 2026-03-17T04:25:37.953511Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953513Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953513Z 01O | ^ 2026-03-17T04:25:37.953514Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.953514Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953515Z 01O | ^ 2026-03-17T04:25:37.953515Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953516Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953517Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.953517Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.953518Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953518Z 01O | ^ 2026-03-17T04:25:37.953519Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953519Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953520Z 01O | ^ 2026-03-17T04:25:37.953526Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.953527Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953528Z 01O | ^ 2026-03-17T04:25:37.953531Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953531Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953532Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.953533Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.953533Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953534Z 01O | ^ 2026-03-17T04:25:37.953592Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.953593Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.953594Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.953594Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.953595Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.953595Z 01O | ^ 2026-03-17T04:25:37.953595Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.953596Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.953665Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-03-17T04:25:37.953879Z 01O | ^ 2026-03-17T04:25:37.953919Z 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-03-17T04:25:37.953920Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-03-17T04:25:37.953921Z 01O | ^ 2026-03-17T04:25:37.953973Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.953974Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.953974Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.953975Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.953975Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.953976Z 01O | ^ 2026-03-17T04:25:37.953976Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.953977Z 01O 128 | if (verbose) 2026-03-17T04:25:37.953977Z 01O | ^~~~~~~ 2026-03-17T04:25:37.953978Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.953978Z 01O 128 | if (verbose) 2026-03-17T04:25:37.953979Z 01O | ^ 2026-03-17T04:25:37.953979Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.953980Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953980Z 01O | ^ 2026-03-17T04:25:37.953980Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953981Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953982Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.953982Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.953983Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.953983Z 01O | ^ 2026-03-17T04:25:37.953984Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.953985Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.953985Z 01O | ^ 2026-03-17T04:25:37.954039Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.954040Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954040Z 01O | ^ 2026-03-17T04:25:37.954041Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954042Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954042Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.954047Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.954048Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954049Z 01O | ^ 2026-03-17T04:25:37.954049Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954050Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954050Z 01O | ^ 2026-03-17T04:25:37.954122Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.954122Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954123Z 01O | ^ 2026-03-17T04:25:37.954123Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954124Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954125Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.954125Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.954126Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954126Z 01O | ^ 2026-03-17T04:25:37.954127Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.954127Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.954128Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.954128Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.954129Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.954129Z 01O | ^ 2026-03-17T04:25:37.954130Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.954130Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.954216Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-03-17T04:25:37.954456Z 01O | ^ 2026-03-17T04:25:37.954474Z 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-03-17T04:25:37.954475Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-03-17T04:25:37.954476Z 01O | ^ 2026-03-17T04:25:37.954476Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-03-17T04:25:37.954477Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.954477Z 01O | ^~~~~~~~~~~~~ 2026-03-17T04:25:37.954478Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-03-17T04:25:37.954478Z 01O 124 | if (!xlength(obj)) 2026-03-17T04:25:37.954479Z 01O | ^ 2026-03-17T04:25:37.954479Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-03-17T04:25:37.954480Z 01O 128 | if (verbose) 2026-03-17T04:25:37.954480Z 01O | ^~~~~~~ 2026-03-17T04:25:37.954481Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-03-17T04:25:37.954481Z 01O 128 | if (verbose) 2026-03-17T04:25:37.954482Z 01O | ^ 2026-03-17T04:25:37.954482Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.954483Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954483Z 01O | ^ 2026-03-17T04:25:37.954528Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954529Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954530Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.954530Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.954531Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954531Z 01O | ^ 2026-03-17T04:25:37.954567Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954568Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954568Z 01O | ^ 2026-03-17T04:25:37.954569Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.954569Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954570Z 01O | ^ 2026-03-17T04:25:37.954570Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954571Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954572Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.954572Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-03-17T04:25:37.954573Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954573Z 01O | ^ 2026-03-17T04:25:37.954574Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954574Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954575Z 01O | ^ 2026-03-17T04:25:37.954576Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-03-17T04:25:37.954576Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954583Z 01O | ^ 2026-03-17T04:25:37.954640Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.954641Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.954642Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.954643Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-03-17T04:25:37.954643Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-03-17T04:25:37.954644Z 01O | ^ 2026-03-17T04:25:37.954644Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-03-17T04:25:37.954645Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.954645Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.954646Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-03-17T04:25:37.954646Z 01O 138 | if (obj_scalar) { 2026-03-17T04:25:37.954647Z 01O | ^ 2026-03-17T04:25:37.954647Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-03-17T04:25:37.954648Z 01O 151 | for (int i=0; i= 'nx' 2026-03-17T04:25:37.954760Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-03-17T04:25:37.955086Z 01O | ^ 2026-03-17T04:25:37.955086Z 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-03-17T04:25:37.955087Z 01O 136 | SEXP x = R_NilValue; 2026-03-17T04:25:37.955087Z 01O | ^ ~~~~~~~~~~ 2026-03-17T04:25:37.955088Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-03-17T04:25:37.955089Z 01O 136 | SEXP x = R_NilValue; 2026-03-17T04:25:37.955089Z 01O | ^ ~~~~~~~~~~ 2026-03-17T04:25:37.955153Z 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-03-17T04:25:37.955154Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-03-17T04:25:37.955154Z 01O | ^ 2026-03-17T04:25:37.955204Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-03-17T04:25:37.955205Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-03-17T04:25:37.955205Z 01O | ^ 2026-03-17T04:25:37.955206Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-03-17T04:25:37.955206Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-03-17T04:25:37.955207Z 01O | ^ 2026-03-17T04:25:37.955207Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-03-17T04:25:37.955208Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-03-17T04:25:37.955208Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955209Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-03-17T04:25:37.955209Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-03-17T04:25:37.955210Z 01O | ^ 2026-03-17T04:25:37.955232Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-03-17T04:25:37.955233Z 01O 131 | if (length(throttle)) { 2026-03-17T04:25:37.955234Z 01O | ^ 2026-03-17T04:25:37.955234Z 01O /usr/local/lib/R/include/Rinternals.h:1000:20: note: expanded from macro 'length' 2026-03-17T04:25:37.955235Z 01O 1000 | #define length(x) Rf_length(x) 2026-03-17T04:25:37.955235Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.955236Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-03-17T04:25:37.955236Z 01O 131 | if (length(throttle)) { 2026-03-17T04:25:37.955237Z 01O | ^ 2026-03-17T04:25:37.955237Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-03-17T04:25:37.955238Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-03-17T04:25:37.955239Z 01O | ^~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955239Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-03-17T04:25:37.955277Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-03-17T04:25:37.955278Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-03-17T04:25:37.955278Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955279Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-03-17T04:25:37.955290Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-03-17T04:25:37.955290Z 01O | ^ 2026-03-17T04:25:37.955291Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-03-17T04:25:37.955291Z 01O 138 | initDTthreads(); 2026-03-17T04:25:37.955292Z 01O | ^~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955323Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-03-17T04:25:37.955323Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-03-17T04:25:37.955324Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955325Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-03-17T04:25:37.955325Z 01O 14 | const char *val = getenv(name); 2026-03-17T04:25:37.955326Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.955326Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-03-17T04:25:37.955327Z 01O 14 | const char *val = getenv(name); 2026-03-17T04:25:37.955327Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.955328Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-03-17T04:25:37.955329Z 01O 14 | const char *val = getenv(name); 2026-03-17T04:25:37.955329Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.955330Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-03-17T04:25:37.955330Z 01O 15 | if (val == NULL) return def; 2026-03-17T04:25:37.955331Z 01O | ^~~ 2026-03-17T04:25:37.955331Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-03-17T04:25:37.955332Z 01O 15 | if (val == NULL) return def; 2026-03-17T04:25:37.955332Z 01O | ^ 2026-03-17T04:25:37.955346Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-03-17T04:25:37.955347Z 01O 17 | if (nchar == 0) return def; 2026-03-17T04:25:37.955347Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.955348Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-03-17T04:25:37.955348Z 01O 17 | if (nchar == 0) return def; 2026-03-17T04:25:37.955349Z 01O | ^ 2026-03-17T04:25:37.955366Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-03-17T04:25:37.955367Z 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-03-17T04:25:37.955367Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955368Z 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-03-17T04:25:37.955369Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-03-17T04:25:37.955369Z 01O | ^ 2026-03-17T04:25:37.955422Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-03-17T04:25:37.955423Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-03-17T04:25:37.955424Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955424Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-03-17T04:25:37.955425Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-03-17T04:25:37.955426Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955531Z 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-03-17T04:25:37.955532Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-03-17T04:25:37.955533Z 01O | ^ ~~~~~ 2026-03-17T04:25:37.955540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-03-17T04:25:37.955540Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-03-17T04:25:37.955541Z 01O | ^ 2026-03-17T04:25:37.955541Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955542Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955542Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-03-17T04:25:37.955544Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-03-17T04:25:37.955544Z 01O | ^ 2026-03-17T04:25:37.955604Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955605Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955605Z 01O | ^ 2026-03-17T04:25:37.955606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-03-17T04:25:37.955606Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-03-17T04:25:37.955607Z 01O | ^ 2026-03-17T04:25:37.955611Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955612Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955612Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.955613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-03-17T04:25:37.955613Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-03-17T04:25:37.955614Z 01O | ^ 2026-03-17T04:25:37.955660Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955661Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955661Z 01O | ^ 2026-03-17T04:25:37.955662Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-03-17T04:25:37.955662Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-03-17T04:25:37.955663Z 01O | ^ 2026-03-17T04:25:37.955663Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955664Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955665Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-03-17T04:25:37.955666Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-03-17T04:25:37.955666Z 01O | ^ 2026-03-17T04:25:37.955667Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-03-17T04:25:37.955667Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-03-17T04:25:37.955668Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955668Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-03-17T04:25:37.955669Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-03-17T04:25:37.955670Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-03-17T04:25:37.955670Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955671Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-03-17T04:25:37.955671Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-03-17T04:25:37.955676Z 01O | ^ 2026-03-17T04:25:37.955683Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-03-17T04:25:37.955684Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-03-17T04:25:37.955685Z 01O | ^ 2026-03-17T04:25:37.955777Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955778Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955779Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955780Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-03-17T04:25:37.955780Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-03-17T04:25:37.955781Z 01O | ^ 2026-03-17T04:25:37.955781Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955782Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955782Z 01O | ^ 2026-03-17T04:25:37.955787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-03-17T04:25:37.955788Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-03-17T04:25:37.955788Z 01O | ^ 2026-03-17T04:25:37.955789Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955789Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955790Z 01O | ^~~~~~~~~~~~ 2026-03-17T04:25:37.955791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-03-17T04:25:37.955791Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-03-17T04:25:37.955792Z 01O | ^ 2026-03-17T04:25:37.955792Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955793Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955793Z 01O | ^ 2026-03-17T04:25:37.955863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-03-17T04:25:37.955864Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-03-17T04:25:37.955864Z 01O | ^ 2026-03-17T04:25:37.955865Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-03-17T04:25:37.955865Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-03-17T04:25:37.955866Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-03-17T04:25:37.955867Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-03-17T04:25:37.955868Z 01O | ^ 2026-03-17T04:25:37.955871Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-03-17T04:25:37.955871Z 01O 13 | if (!length(l)) return(l); 2026-03-17T04:25:37.955872Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.955872Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-03-17T04:25:37.955873Z 01O 13 | if (!length(l)) return(l); 2026-03-17T04:25:37.955873Z 01O | ^ 2026-03-17T04:25:37.955917Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-03-17T04:25:37.955918Z 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-03-17T04:25:37.955923Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955923Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-03-17T04:25:37.955924Z 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-03-17T04:25:37.955925Z 01O | ^ 2026-03-17T04:25:37.955925Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-03-17T04:25:37.955926Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-03-17T04:25:37.955926Z 01O | ^~~~ 2026-03-17T04:25:37.955927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-03-17T04:25:37.955927Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-03-17T04:25:37.955928Z 01O | ^ 2026-03-17T04:25:37.955928Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-03-17T04:25:37.955929Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-03-17T04:25:37.955930Z 01O | ^~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955930Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-03-17T04:25:37.955931Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-03-17T04:25:37.955932Z 01O | ^~~~~ 2026-03-17T04:25:37.955932Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-03-17T04:25:37.955933Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-03-17T04:25:37.955933Z 01O | ^ 2026-03-17T04:25:37.955985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-03-17T04:25:37.955986Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.955986Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.955987Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.955988Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.955988Z 01O | ^ 2026-03-17T04:25:37.955989Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-03-17T04:25:37.955989Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.955990Z 01O | ^ 2026-03-17T04:25:37.955990Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.955991Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.955991Z 01O | ^ 2026-03-17T04:25:37.955992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-03-17T04:25:37.955992Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.955993Z 01O | ^ 2026-03-17T04:25:37.955993Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-03-17T04:25:37.955994Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.955995Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.955997Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-03-17T04:25:37.955998Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.955999Z 01O | ^ 2026-03-17T04:25:37.955999Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-03-17T04:25:37.956000Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.956000Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.956057Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-03-17T04:25:37.956058Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.956058Z 01O | ^ 2026-03-17T04:25:37.956059Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-03-17T04:25:37.956059Z 01O 37 | if (fill) { 2026-03-17T04:25:37.956060Z 01O | ^~~~ 2026-03-17T04:25:37.956060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-03-17T04:25:37.956061Z 01O 37 | if (fill) { 2026-03-17T04:25:37.956061Z 01O | ^ 2026-03-17T04:25:37.956062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-03-17T04:25:37.956062Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.956063Z 01O | ^~~~ 2026-03-17T04:25:37.956063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-03-17T04:25:37.956064Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.956064Z 01O | ^ 2026-03-17T04:25:37.956067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-03-17T04:25:37.956068Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.956068Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.956130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-03-17T04:25:37.956131Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.956132Z 01O | ^ 2026-03-17T04:25:37.956132Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-03-17T04:25:37.956133Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.956134Z 01O | ^~~~~~ 2026-03-17T04:25:37.956134Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-03-17T04:25:37.956135Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.956135Z 01O | ^ 2026-03-17T04:25:37.956170Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-03-17T04:25:37.956171Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.956171Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.956172Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-03-17T04:25:37.956173Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.956173Z 01O | ^ 2026-03-17T04:25:37.956174Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-03-17T04:25:37.956174Z 01O 49 | for (int j=0; j0 checked above 2026-03-17T04:25:37.956178Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.956179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-03-17T04:25:37.956179Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.956180Z 01O | ^ 2026-03-17T04:25:37.956185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-03-17T04:25:37.956185Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.956186Z 01O | ^~~~~~~ 2026-03-17T04:25:37.956186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-03-17T04:25:37.956187Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.956187Z 01O | ^ 2026-03-17T04:25:37.956188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-03-17T04:25:37.956188Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.956189Z 01O | ^~~~ 2026-03-17T04:25:37.956189Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-03-17T04:25:37.956215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-03-17T04:25:37.956216Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.956217Z 01O | ^~~~ 2026-03-17T04:25:37.956217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-03-17T04:25:37.956218Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.956218Z 01O | ^ 2026-03-17T04:25:37.956238Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-03-17T04:25:37.956239Z 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-03-17T04:25:37.956240Z 01O | ^~~~ 2026-03-17T04:25:37.956288Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-03-17T04:25:37.956289Z 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-03-17T04:25:37.956290Z 01O | ^ 2026-03-17T04:25:37.956290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-03-17T04:25:37.956291Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.956292Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.956292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-03-17T04:25:37.956293Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.956293Z 01O | ^ 2026-03-17T04:25:37.956376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.956377Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.956378Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.956378Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-03-17T04:25:37.956379Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-03-17T04:25:37.956380Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.956380Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.956381Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-03-17T04:25:37.956381Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.956382Z 01O | ^ 2026-03-17T04:25:37.956382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-03-17T04:25:37.956383Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.956383Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.956384Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-03-17T04:25:37.956385Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.956389Z 01O | ^ 2026-03-17T04:25:37.956390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-03-17T04:25:37.956390Z 01O 83 | int nuniq=0; 2026-03-17T04:25:37.956391Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.956391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-03-17T04:25:37.956392Z 01O 85 | for (int i=0; i0 checked above 2026-03-17T04:25:37.956864Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.956865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.956865Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.956866Z 01O | ^ 2026-03-17T04:25:37.956928Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-03-17T04:25:37.956929Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.956929Z 01O | ^ 2026-03-17T04:25:37.956930Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.956930Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.956931Z 01O | ^ 2026-03-17T04:25:37.956931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-03-17T04:25:37.956932Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.956932Z 01O | ^ 2026-03-17T04:25:37.956933Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-03-17T04:25:37.956933Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.956934Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.956955Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-03-17T04:25:37.956956Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.956957Z 01O | ^ 2026-03-17T04:25:37.956957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-03-17T04:25:37.956958Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.956958Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.956959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-03-17T04:25:37.956959Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.956960Z 01O | ^ 2026-03-17T04:25:37.956960Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-03-17T04:25:37.956961Z 01O 37 | if (fill) { 2026-03-17T04:25:37.956961Z 01O | ^~~~ 2026-03-17T04:25:37.956962Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-03-17T04:25:37.956962Z 01O 37 | if (fill) { 2026-03-17T04:25:37.956963Z 01O | ^ 2026-03-17T04:25:37.956963Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-03-17T04:25:37.956964Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.956964Z 01O | ^~~~ 2026-03-17T04:25:37.956965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-03-17T04:25:37.956965Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.956966Z 01O | ^ 2026-03-17T04:25:37.957002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-03-17T04:25:37.957003Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.957004Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.957007Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-03-17T04:25:37.957007Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.957008Z 01O | ^ 2026-03-17T04:25:37.957009Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-03-17T04:25:37.957009Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.957010Z 01O | ^~~~~~ 2026-03-17T04:25:37.957010Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-03-17T04:25:37.957011Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.957011Z 01O | ^ 2026-03-17T04:25:37.957044Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-03-17T04:25:37.957045Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.957050Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.957062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-03-17T04:25:37.957063Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.957064Z 01O | ^ 2026-03-17T04:25:37.957064Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-03-17T04:25:37.957065Z 01O 49 | for (int j=0; j0 checked above 2026-03-17T04:25:37.957068Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.957069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-03-17T04:25:37.957070Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.957070Z 01O | ^ 2026-03-17T04:25:37.957071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-03-17T04:25:37.957071Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.957072Z 01O | ^~~~~~~ 2026-03-17T04:25:37.957173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-03-17T04:25:37.957174Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.957174Z 01O | ^ 2026-03-17T04:25:37.957177Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-03-17T04:25:37.957178Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.957178Z 01O | ^~~~ 2026-03-17T04:25:37.957179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-03-17T04:25:37.957179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-03-17T04:25:37.957180Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.957181Z 01O | ^~~~ 2026-03-17T04:25:37.957213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-03-17T04:25:37.957214Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.957214Z 01O | ^ 2026-03-17T04:25:37.957215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-03-17T04:25:37.957215Z 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-03-17T04:25:37.957216Z 01O | ^~~~ 2026-03-17T04:25:37.957217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-03-17T04:25:37.957217Z 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-03-17T04:25:37.957218Z 01O | ^ 2026-03-17T04:25:37.957219Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-03-17T04:25:37.957219Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.957220Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.957220Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-03-17T04:25:37.957226Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.957226Z 01O | ^ 2026-03-17T04:25:37.957227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.957227Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.957228Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.957228Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-03-17T04:25:37.957277Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-03-17T04:25:37.957277Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.957278Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.957279Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-03-17T04:25:37.957279Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.957280Z 01O | ^ 2026-03-17T04:25:37.957305Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-03-17T04:25:37.957306Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.957307Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.957307Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-03-17T04:25:37.957308Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.957308Z 01O | ^ 2026-03-17T04:25:37.957309Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-03-17T04:25:37.957310Z 01O 85 | for (int i=0; i= 'thisncol' 2026-03-17T04:25:37.957435Z 01O 92 | for (int j=0; j 'ncol' 2026-03-17T04:25:37.957592Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-03-17T04:25:37.957593Z 01O | ^~~~~~ 2026-03-17T04:25:37.957593Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-03-17T04:25:37.957594Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-03-17T04:25:37.957594Z 01O | ^ 2026-03-17T04:25:37.957595Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-03-17T04:25:37.957596Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-03-17T04:25:37.957596Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.957597Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-03-17T04:25:37.957597Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-03-17T04:25:37.957598Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.957648Z 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-03-17T04:25:37.957649Z 01O 153 | for (int j=0; j0 checked above 2026-03-17T04:25:37.958076Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.958083Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.958084Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.958084Z 01O | ^ 2026-03-17T04:25:37.958085Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-03-17T04:25:37.958085Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.958086Z 01O | ^ 2026-03-17T04:25:37.958086Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.958087Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.958087Z 01O | ^ 2026-03-17T04:25:37.958088Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-03-17T04:25:37.958089Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.958089Z 01O | ^ 2026-03-17T04:25:37.958121Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-03-17T04:25:37.958122Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.958122Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.958123Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-03-17T04:25:37.958123Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.958124Z 01O | ^ 2026-03-17T04:25:37.958125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-03-17T04:25:37.958125Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.958126Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.958126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-03-17T04:25:37.958127Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.958127Z 01O | ^ 2026-03-17T04:25:37.958128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-03-17T04:25:37.958128Z 01O 37 | if (fill) { 2026-03-17T04:25:37.958129Z 01O | ^~~~ 2026-03-17T04:25:37.958129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-03-17T04:25:37.958130Z 01O 37 | if (fill) { 2026-03-17T04:25:37.958130Z 01O | ^ 2026-03-17T04:25:37.958199Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-03-17T04:25:37.958200Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.958200Z 01O | ^~~~ 2026-03-17T04:25:37.958201Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-03-17T04:25:37.958201Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.958202Z 01O | ^ 2026-03-17T04:25:37.958202Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-03-17T04:25:37.958203Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.958209Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.958245Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-03-17T04:25:37.958246Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.958246Z 01O | ^ 2026-03-17T04:25:37.958247Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-03-17T04:25:37.958247Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.958248Z 01O | ^~~~~~ 2026-03-17T04:25:37.958248Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-03-17T04:25:37.958249Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.958249Z 01O | ^ 2026-03-17T04:25:37.958250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-03-17T04:25:37.958250Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.958251Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.958287Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-03-17T04:25:37.958288Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.958288Z 01O | ^ 2026-03-17T04:25:37.958289Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-03-17T04:25:37.958289Z 01O 49 | for (int j=0; j0 checked above 2026-03-17T04:25:37.958293Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.958319Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-03-17T04:25:37.958320Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.958321Z 01O | ^ 2026-03-17T04:25:37.958321Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-03-17T04:25:37.958322Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.958322Z 01O | ^~~~~~~ 2026-03-17T04:25:37.958323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-03-17T04:25:37.958323Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.958324Z 01O | ^ 2026-03-17T04:25:37.958355Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-03-17T04:25:37.958356Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.958356Z 01O | ^~~~ 2026-03-17T04:25:37.958357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-03-17T04:25:37.958359Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-03-17T04:25:37.958359Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.958360Z 01O | ^~~~ 2026-03-17T04:25:37.958385Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-03-17T04:25:37.958385Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.958386Z 01O | ^ 2026-03-17T04:25:37.958391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-03-17T04:25:37.958391Z 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-03-17T04:25:37.958392Z 01O | ^~~~ 2026-03-17T04:25:37.958393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-03-17T04:25:37.958393Z 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-03-17T04:25:37.958394Z 01O | ^ 2026-03-17T04:25:37.958395Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-03-17T04:25:37.958395Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.958396Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.958432Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-03-17T04:25:37.958433Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.958433Z 01O | ^ 2026-03-17T04:25:37.958434Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.958435Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.958435Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.958436Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-03-17T04:25:37.958509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-03-17T04:25:37.958510Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.958511Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.958511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-03-17T04:25:37.958512Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.958513Z 01O | ^ 2026-03-17T04:25:37.958513Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-03-17T04:25:37.958514Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.958514Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.958515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-03-17T04:25:37.958515Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.958516Z 01O | ^ 2026-03-17T04:25:37.958516Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-03-17T04:25:37.958517Z 01O 85 | for (int i=0; i= 'thisncol' 2026-03-17T04:25:37.958628Z 01O 92 | for (int j=0; j= 'thisncol' 2026-03-17T04:25:37.958737Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-03-17T04:25:37.958773Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.958776Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-03-17T04:25:37.958776Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-03-17T04:25:37.958777Z 01O | ^ 2026-03-17T04:25:37.958777Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-03-17T04:25:37.958778Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-03-17T04:25:37.958837Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.958837Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-03-17T04:25:37.958838Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-03-17T04:25:37.958839Z 01O | ^ 2026-03-17T04:25:37.958839Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-03-17T04:25:37.958840Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.958840Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.958841Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-03-17T04:25:37.958959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-03-17T04:25:37.958960Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.958960Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.958961Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-03-17T04:25:37.958961Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.958962Z 01O | ^ 2026-03-17T04:25:37.958964Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-03-17T04:25:37.958965Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.958966Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.958966Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-03-17T04:25:37.958967Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.958967Z 01O | ^ 2026-03-17T04:25:37.958972Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-03-17T04:25:37.958972Z 01O 142 | for (int i=0; i= 'ncol' 2026-03-17T04:25:37.958976Z 01O 143 | for (int i=0; i0 checked above 2026-03-17T04:25:37.959579Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.959580Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.959581Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.959581Z 01O | ^ 2026-03-17T04:25:37.959582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-03-17T04:25:37.959582Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.959583Z 01O | ^ 2026-03-17T04:25:37.959583Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.959584Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.959584Z 01O | ^ 2026-03-17T04:25:37.959585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-03-17T04:25:37.959585Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.959586Z 01O | ^ 2026-03-17T04:25:37.959586Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-03-17T04:25:37.959587Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.959588Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.959588Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-03-17T04:25:37.959589Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.959589Z 01O | ^ 2026-03-17T04:25:37.959590Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-03-17T04:25:37.959590Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.959591Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.959591Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-03-17T04:25:37.959598Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.959599Z 01O | ^ 2026-03-17T04:25:37.959644Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-03-17T04:25:37.959644Z 01O 37 | if (fill) { 2026-03-17T04:25:37.959645Z 01O | ^~~~ 2026-03-17T04:25:37.959645Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-03-17T04:25:37.959646Z 01O 37 | if (fill) { 2026-03-17T04:25:37.959646Z 01O | ^ 2026-03-17T04:25:37.959649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-03-17T04:25:37.959649Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.959650Z 01O | ^~~~ 2026-03-17T04:25:37.959650Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-03-17T04:25:37.959651Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.959651Z 01O | ^ 2026-03-17T04:25:37.959704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-03-17T04:25:37.959705Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.959706Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.959706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-03-17T04:25:37.959707Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.959708Z 01O | ^ 2026-03-17T04:25:37.959708Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-03-17T04:25:37.959709Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.959709Z 01O | ^~~~~~ 2026-03-17T04:25:37.959710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-03-17T04:25:37.959710Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.959711Z 01O | ^ 2026-03-17T04:25:37.959740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-03-17T04:25:37.959741Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.959741Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.959742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-03-17T04:25:37.959743Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.959743Z 01O | ^ 2026-03-17T04:25:37.959744Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-03-17T04:25:37.959744Z 01O 49 | for (int j=0; j0 checked above 2026-03-17T04:25:37.959748Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.959779Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-03-17T04:25:37.959780Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.959781Z 01O | ^ 2026-03-17T04:25:37.959781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-03-17T04:25:37.959786Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.959787Z 01O | ^~~~~~~ 2026-03-17T04:25:37.959787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-03-17T04:25:37.959788Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.959788Z 01O | ^ 2026-03-17T04:25:37.959816Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-03-17T04:25:37.959817Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.959818Z 01O | ^~~~ 2026-03-17T04:25:37.959818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-03-17T04:25:37.959819Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-03-17T04:25:37.959819Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.959820Z 01O | ^~~~ 2026-03-17T04:25:37.959820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-03-17T04:25:37.959821Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.959821Z 01O | ^ 2026-03-17T04:25:37.959822Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-03-17T04:25:37.959822Z 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-03-17T04:25:37.959823Z 01O | ^~~~ 2026-03-17T04:25:37.959843Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-03-17T04:25:37.959844Z 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-03-17T04:25:37.959845Z 01O | ^ 2026-03-17T04:25:37.959886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-03-17T04:25:37.959887Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.959887Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.959935Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-03-17T04:25:37.959936Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.959936Z 01O | ^ 2026-03-17T04:25:37.959937Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.959937Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.959938Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.959938Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-03-17T04:25:37.959939Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-03-17T04:25:37.959940Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.959940Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.959941Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-03-17T04:25:37.959941Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.959942Z 01O | ^ 2026-03-17T04:25:37.959942Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-03-17T04:25:37.959943Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.959943Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.959944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-03-17T04:25:37.959945Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-03-17T04:25:37.959945Z 01O | ^ 2026-03-17T04:25:37.959950Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-03-17T04:25:37.959950Z 01O 85 | for (int i=0; i= 'thisncol' 2026-03-17T04:25:37.960107Z 01O 92 | for (int j=0; j= 'thisncol' 2026-03-17T04:25:37.960242Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-03-17T04:25:37.960252Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.960252Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-03-17T04:25:37.960253Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-03-17T04:25:37.960253Z 01O | ^ 2026-03-17T04:25:37.960254Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-03-17T04:25:37.960255Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-03-17T04:25:37.960309Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.960325Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-03-17T04:25:37.960326Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-03-17T04:25:37.960327Z 01O | ^ 2026-03-17T04:25:37.960327Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-03-17T04:25:37.960328Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.960328Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.960329Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-03-17T04:25:37.960329Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-03-17T04:25:37.960330Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.960331Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.960331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-03-17T04:25:37.960332Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.960332Z 01O | ^ 2026-03-17T04:25:37.960333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-03-17T04:25:37.960333Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.960334Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.960334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-03-17T04:25:37.960335Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-03-17T04:25:37.960336Z 01O | ^ 2026-03-17T04:25:37.960369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-03-17T04:25:37.960374Z 01O 142 | for (int i=0; i= 'ncol' 2026-03-17T04:25:37.960399Z 01O 143 | for (int i=0; i0 checked above 2026-03-17T04:25:37.961039Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.961040Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.961045Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.961046Z 01O | ^ 2026-03-17T04:25:37.961046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-03-17T04:25:37.961047Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.961047Z 01O | ^ 2026-03-17T04:25:37.961048Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.961048Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.961049Z 01O | ^ 2026-03-17T04:25:37.961049Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-03-17T04:25:37.961050Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.961050Z 01O | ^ 2026-03-17T04:25:37.961106Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-03-17T04:25:37.961107Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.961108Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.961108Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-03-17T04:25:37.961109Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.961110Z 01O | ^ 2026-03-17T04:25:37.961110Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-03-17T04:25:37.961111Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.961111Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.961123Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-03-17T04:25:37.961124Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.961125Z 01O | ^ 2026-03-17T04:25:37.961125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-03-17T04:25:37.961126Z 01O 37 | if (fill) { 2026-03-17T04:25:37.961126Z 01O | ^~~~ 2026-03-17T04:25:37.961127Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-03-17T04:25:37.961127Z 01O 37 | if (fill) { 2026-03-17T04:25:37.961128Z 01O | ^ 2026-03-17T04:25:37.961128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-03-17T04:25:37.961129Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.961129Z 01O | ^~~~ 2026-03-17T04:25:37.961130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-03-17T04:25:37.961130Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.961131Z 01O | ^ 2026-03-17T04:25:37.961131Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-03-17T04:25:37.961132Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.961133Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.961133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-03-17T04:25:37.961134Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.961134Z 01O | ^ 2026-03-17T04:25:37.961135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-03-17T04:25:37.961135Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.961136Z 01O | ^~~~~~ 2026-03-17T04:25:37.961205Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-03-17T04:25:37.961206Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.961206Z 01O | ^ 2026-03-17T04:25:37.961256Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-03-17T04:25:37.961257Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.961258Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.961259Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.961259Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.961260Z 01O | ^ 2026-03-17T04:25:37.961260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-03-17T04:25:37.961261Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.961262Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.961262Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-03-17T04:25:37.961263Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.961264Z 01O | ^ 2026-03-17T04:25:37.961264Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-03-17T04:25:37.961265Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.961266Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.961339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-03-17T04:25:37.961340Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.961340Z 01O | ^ 2026-03-17T04:25:37.961341Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.961341Z 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-03-17T04:25:37.961362Z 01O | ^~~~ 2026-03-17T04:25:37.961362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-03-17T04:25:37.961363Z 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-03-17T04:25:37.961364Z 01O | ^ 2026-03-17T04:25:37.961364Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-03-17T04:25:37.961365Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-03-17T04:25:37.961365Z 01O | ^~~~~ 2026-03-17T04:25:37.961366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-03-17T04:25:37.961366Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-03-17T04:25:37.961367Z 01O | ^ 2026-03-17T04:25:37.961368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-03-17T04:25:37.961368Z 01O 49 | for (int j=0; j0 checked above 2026-03-17T04:25:37.961445Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.961445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-03-17T04:25:37.961446Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.961446Z 01O | ^ 2026-03-17T04:25:37.961449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-03-17T04:25:37.961449Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.961450Z 01O | ^~~~~~~ 2026-03-17T04:25:37.961450Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-03-17T04:25:37.961451Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.961451Z 01O | ^ 2026-03-17T04:25:37.961481Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-03-17T04:25:37.961482Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.961482Z 01O | ^~~~ 2026-03-17T04:25:37.961483Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-03-17T04:25:37.961483Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-03-17T04:25:37.961484Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.961484Z 01O | ^~~~ 2026-03-17T04:25:37.961485Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-03-17T04:25:37.961485Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.961486Z 01O | ^ 2026-03-17T04:25:37.961486Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-03-17T04:25:37.961487Z 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-03-17T04:25:37.961488Z 01O | ^~~~ 2026-03-17T04:25:37.961509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-03-17T04:25:37.961510Z 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-03-17T04:25:37.961511Z 01O | ^ 2026-03-17T04:25:37.961511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-03-17T04:25:37.961512Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.961513Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.961513Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-03-17T04:25:37.961514Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.961514Z 01O | ^ 2026-03-17T04:25:37.961569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-03-17T04:25:37.961570Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-03-17T04:25:37.961571Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.961571Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.961572Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.961572Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.961573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-03-17T04:25:37.961573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-03-17T04:25:37.961582Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.961582Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.961583Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-03-17T04:25:37.961583Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.961584Z 01O | ^ 2026-03-17T04:25:37.961614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-03-17T04:25:37.961615Z 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-03-17T04:25:37.961616Z 01O | ^~~~ 2026-03-17T04:25:37.961616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-03-17T04:25:37.961617Z 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-03-17T04:25:37.961618Z 01O | ^ 2026-03-17T04:25:37.961618Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-03-17T04:25:37.961619Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.961619Z 01O | ^~~~ 2026-03-17T04:25:37.961620Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-03-17T04:25:37.961620Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.961621Z 01O | ^ 2026-03-17T04:25:37.961655Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.961655Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.961656Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.961656Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-03-17T04:25:37.961657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-03-17T04:25:37.961658Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.961658Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.961661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-03-17T04:25:37.961662Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.961663Z 01O | ^ 2026-03-17T04:25:37.961663Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-03-17T04:25:37.961664Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-03-17T04:25:37.961664Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.961665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-03-17T04:25:37.961665Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-03-17T04:25:37.961666Z 01O | ^ 2026-03-17T04:25:37.961666Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-03-17T04:25:37.961667Z 01O 251 | if (idcol) { 2026-03-17T04:25:37.961667Z 01O | ^~~~~ 2026-03-17T04:25:37.961734Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-03-17T04:25:37.961735Z 01O 251 | if (idcol) { 2026-03-17T04:25:37.961735Z 01O | ^ 2026-03-17T04:25:37.961735Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.961736Z 01O 276 | for(int j=0; j0 checked above 2026-03-17T04:25:37.962300Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.962303Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.962303Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.962304Z 01O | ^ 2026-03-17T04:25:37.962372Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-03-17T04:25:37.962373Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.962373Z 01O | ^ 2026-03-17T04:25:37.962374Z 01O /usr/local/lib/R/include/Rinternals.h:969:18: note: expanded from macro 'isNull' 2026-03-17T04:25:37.962374Z 01O 969 | #define isNull Rf_isNull 2026-03-17T04:25:37.962375Z 01O | ^ 2026-03-17T04:25:37.962375Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-03-17T04:25:37.962376Z 01O 32 | if (isNull(li)) continue; 2026-03-17T04:25:37.962376Z 01O | ^ 2026-03-17T04:25:37.962377Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-03-17T04:25:37.962377Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.962378Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.962405Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-03-17T04:25:37.962406Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-03-17T04:25:37.962406Z 01O | ^ 2026-03-17T04:25:37.962407Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-03-17T04:25:37.962410Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.962411Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.962411Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-03-17T04:25:37.962412Z 01O 35 | if (!thisncol) continue; 2026-03-17T04:25:37.962412Z 01O | ^ 2026-03-17T04:25:37.962413Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-03-17T04:25:37.962413Z 01O 37 | if (fill) { 2026-03-17T04:25:37.962414Z 01O | ^~~~ 2026-03-17T04:25:37.962414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-03-17T04:25:37.962415Z 01O 37 | if (fill) { 2026-03-17T04:25:37.962415Z 01O | ^ 2026-03-17T04:25:37.962416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-03-17T04:25:37.962416Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.962417Z 01O | ^~~~ 2026-03-17T04:25:37.962417Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-03-17T04:25:37.962418Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-03-17T04:25:37.962418Z 01O | ^ 2026-03-17T04:25:37.962419Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-03-17T04:25:37.962419Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.962420Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.962444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-03-17T04:25:37.962445Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-03-17T04:25:37.962446Z 01O | ^ 2026-03-17T04:25:37.962451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-03-17T04:25:37.962451Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.962452Z 01O | ^~~~~~ 2026-03-17T04:25:37.962510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-03-17T04:25:37.962511Z 01O 45 | if (nNames>0) anyNames=true; 2026-03-17T04:25:37.962512Z 01O | ^ 2026-03-17T04:25:37.962512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-03-17T04:25:37.962513Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.962513Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.962514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.962515Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.962515Z 01O | ^ 2026-03-17T04:25:37.962516Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-03-17T04:25:37.962516Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.962517Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.962518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-03-17T04:25:37.962518Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.962519Z 01O | ^ 2026-03-17T04:25:37.962552Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-03-17T04:25:37.962553Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.962554Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.962585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-03-17T04:25:37.962586Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-03-17T04:25:37.962586Z 01O | ^ 2026-03-17T04:25:37.962587Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.962588Z 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-03-17T04:25:37.962611Z 01O | ^~~~ 2026-03-17T04:25:37.962611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-03-17T04:25:37.962612Z 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-03-17T04:25:37.962613Z 01O | ^ 2026-03-17T04:25:37.962613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-03-17T04:25:37.962614Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-03-17T04:25:37.962614Z 01O | ^~~~~ 2026-03-17T04:25:37.962657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-03-17T04:25:37.962665Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-03-17T04:25:37.962666Z 01O | ^ 2026-03-17T04:25:37.962666Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-03-17T04:25:37.962667Z 01O 49 | for (int j=0; j0 checked above 2026-03-17T04:25:37.962669Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.962703Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-03-17T04:25:37.962704Z 01O 29 | for (int i=0; i0 checked above 2026-03-17T04:25:37.962704Z 01O | ^ 2026-03-17T04:25:37.962705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-03-17T04:25:37.962705Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.962706Z 01O | ^~~~~~~ 2026-03-17T04:25:37.962706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-03-17T04:25:37.962707Z 01O 57 | if (numZero) { // #1871 2026-03-17T04:25:37.962707Z 01O | ^ 2026-03-17T04:25:37.962708Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-03-17T04:25:37.962708Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.962709Z 01O | ^~~~ 2026-03-17T04:25:37.962709Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-03-17T04:25:37.962710Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-03-17T04:25:37.962710Z 01O | ^ 2026-03-17T04:25:37.962711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-03-17T04:25:37.962711Z 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-03-17T04:25:37.962712Z 01O | ^~~~ 2026-03-17T04:25:37.962737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-03-17T04:25:37.962738Z 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-03-17T04:25:37.962739Z 01O | ^ 2026-03-17T04:25:37.962768Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-03-17T04:25:37.962769Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.962770Z 01O | ^~~~~~~~~~~~~~ 2026-03-17T04:25:37.962770Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-03-17T04:25:37.962771Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-03-17T04:25:37.962772Z 01O | ^ 2026-03-17T04:25:37.962772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-03-17T04:25:37.962773Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-03-17T04:25:37.962773Z 01O | ^~~~~~~~~~~ 2026-03-17T04:25:37.962774Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.962775Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.962775Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.962776Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-03-17T04:25:37.962838Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-03-17T04:25:37.962839Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.962840Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.962840Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-03-17T04:25:37.962841Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-03-17T04:25:37.962841Z 01O | ^ 2026-03-17T04:25:37.962844Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-03-17T04:25:37.962845Z 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-03-17T04:25:37.962845Z 01O | ^~~~ 2026-03-17T04:25:37.962880Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-03-17T04:25:37.962881Z 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-03-17T04:25:37.962882Z 01O | ^ 2026-03-17T04:25:37.962882Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-03-17T04:25:37.962883Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.962884Z 01O | ^~~~ 2026-03-17T04:25:37.962884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-03-17T04:25:37.962885Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.962885Z 01O | ^ 2026-03-17T04:25:37.962886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-03-17T04:25:37.962886Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.962887Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.962887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-03-17T04:25:37.962907Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-03-17T04:25:37.962908Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.962908Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.962909Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-03-17T04:25:37.962910Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-03-17T04:25:37.962910Z 01O | ^ 2026-03-17T04:25:37.962939Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-03-17T04:25:37.962940Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-03-17T04:25:37.962940Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.962941Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-03-17T04:25:37.962942Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-03-17T04:25:37.962942Z 01O | ^ 2026-03-17T04:25:37.962942Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-03-17T04:25:37.962943Z 01O 251 | if (idcol) { 2026-03-17T04:25:37.962943Z 01O | ^~~~~ 2026-03-17T04:25:37.962944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-03-17T04:25:37.962945Z 01O 251 | if (idcol) { 2026-03-17T04:25:37.962945Z 01O | ^ 2026-03-17T04:25:37.962945Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.962946Z 01O 276 | for(int j=0; j= 1 2026-03-17T04:25:37.963447Z 01O 27 | if (n<1) return 0; 2026-03-17T04:25:37.963448Z 01O | ^~~ 2026-03-17T04:25:37.963448Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-03-17T04:25:37.963449Z 01O 27 | if (n<1) return 0; 2026-03-17T04:25:37.963449Z 01O | ^ 2026-03-17T04:25:37.963543Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-03-17T04:25:37.963544Z 01O 29 | va_start(ap, fmt); 2026-03-17T04:25:37.963544Z 01O | ^ 2026-03-17T04:25:37.963545Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-03-17T04:25:37.963546Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-03-17T04:25:37.963546Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-03-17T04:25:37.963547Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-03-17T04:25:37.963547Z 01O 40 | while (*ch!='\0') { 2026-03-17T04:25:37.963548Z 01O | ^~~~~~~~~ 2026-03-17T04:25:37.963548Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-03-17T04:25:37.963549Z 01O 40 | while (*ch!='\0') { 2026-03-17T04:25:37.963549Z 01O | ^ 2026-03-17T04:25:37.963550Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-03-17T04:25:37.963550Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-03-17T04:25:37.963551Z 01O | ^~~~~~~~ 2026-03-17T04:25:37.963551Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-03-17T04:25:37.963552Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-03-17T04:25:37.963553Z 01O | ^ 2026-03-17T04:25:37.963606Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-03-17T04:25:37.963607Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-03-17T04:25:37.963607Z 01O | ^~~~~~~~~~ 2026-03-17T04:25:37.963608Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-03-17T04:25:37.963608Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-03-17T04:25:37.963609Z 01O | ^ 2026-03-17T04:25:37.963609Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-03-17T04:25:37.963610Z 01O 47 | if (!end) { 2026-03-17T04:25:37.963610Z 01O | ^~~~ 2026-03-17T04:25:37.963612Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-03-17T04:25:37.963613Z 01O 47 | if (!end) { 2026-03-17T04:25:37.963613Z 01O | ^ 2026-03-17T04:25:37.963632Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-03-17T04:25:37.963633Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-03-17T04:25:37.963634Z 01O | ^ 2026-03-17T04:25:37.963634Z 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-03-17T04:25:37.963636Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-03-17T04:25:37.963636Z 01O | ^~~~~~ 2026-03-17T04:25:37.963637Z 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-03-17T04:25:37.963645Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-03-17T04:25:37.963646Z 01O | ^~~~~~ 2026-03-17T04:25:37.963867Z 01E Suppressed 1 warnings (1 in non-user code). 2026-03-17T04:25:37.963868Z 01E Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2026-03-17T04:25:37.980519Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-03-17T04:25:38.490658Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-03-17T04:25:38.490811Z 01O * using R Under development (unstable) (2026-03-15 r89634) 2026-03-17T04:25:38.490989Z 01O * using platform: x86_64-pc-linux-gnu 2026-03-17T04:25:38.491214Z 01O * R was compiled by 2026-03-17T04:25:38.491369Z 01O Debian clang version 21.1.8 (3+b1) 2026-03-17T04:25:38.491370Z 01O GNU Fortran (Debian 15.2.0-14) 15.2.0 2026-03-17T04:25:38.491550Z 01O * running under: Debian GNU/Linux forky/sid 2026-03-17T04:25:38.491745Z 01O * using session charset: UTF-8 2026-03-17T04:25:38.492315Z 01O * current time: 2026-03-17 04:25:38 UTC 2026-03-17T04:25:39.226392Z 01O * using option ‘--as-cran’ 2026-03-17T04:25:39.226701Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-03-17T04:25:39.228829Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-03-17T04:25:39.228985Z 01O * package encoding: UTF-8 2026-03-17T04:25:39.229230Z 01O * checking CRAN incoming feasibility ... OK 2026-03-17T04:25:39.718000Z 01O * checking package namespace information ... OK 2026-03-17T04:25:39.725246Z 01O * checking package dependencies ... OK 2026-03-17T04:25:40.700554Z 01O * checking if this is a source package ... OK 2026-03-17T04:25:40.703448Z 01O * checking if there is a namespace ... OK 2026-03-17T04:25:40.707507Z 01O * checking for .dll and .exe files ... OK 2026-03-17T04:25:40.708015Z 01O * checking for hidden files and directories ... OK 2026-03-17T04:25:40.710830Z 01O * checking for portable file names ... OK 2026-03-17T04:25:40.714956Z 01O * checking for sufficient/correct file permissions ... OK 2026-03-17T04:25:40.718545Z 01O * checking whether package ‘data.table’ can be installed ... [22s/22s] OK 2026-03-17T04:26:02.309505Z 01O * used C compiler: ‘Debian clang version 21.1.8 (3+b1)’ 2026-03-17T04:26:02.309829Z 01O * checking installed package size ... INFO 2026-03-17T04:26:02.313439Z 01O installed size is 7.9Mb 2026-03-17T04:26:02.314003Z 01O sub-directories of 1Mb or more: 2026-03-17T04:26:02.314465Z 01O doc 1.1Mb 2026-03-17T04:26:02.314465Z 01O libs 1.5Mb 2026-03-17T04:26:02.314466Z 01O po 1.7Mb 2026-03-17T04:26:02.314467Z 01O tests 2.2Mb 2026-03-17T04:26:02.324384Z 01O * checking package directory ... OK 2026-03-17T04:26:02.324777Z 01O * checking for future file timestamps ... OK 2026-03-17T04:26:02.325353Z 01O * checking ‘build’ directory ... OK 2026-03-17T04:26:02.326210Z 01O * checking DESCRIPTION meta-information ... OK 2026-03-17T04:26:03.074896Z 01O * checking top-level files ... OK 2026-03-17T04:26:04.520993Z 01O * checking for left-over files ... OK 2026-03-17T04:26:04.524168Z 01O * checking index information ... OK 2026-03-17T04:26:04.696971Z 01O * checking package subdirectories ... OK 2026-03-17T04:26:05.064996Z 01O * checking code files for non-ASCII characters ... OK 2026-03-17T04:26:05.115512Z 01O * checking R files for syntax errors ... OK 2026-03-17T04:26:05.193553Z 01O * checking whether the package can be loaded ... OK 2026-03-17T04:26:05.381974Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-03-17T04:26:05.539636Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-03-17T04:26:05.692251Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-03-17T04:26:05.846893Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-03-17T04:26:06.050645Z 01O * checking loading without being on the library search path ... OK 2026-03-17T04:26:06.444370Z 01O * checking whether startup messages can be suppressed ... OK 2026-03-17T04:26:06.633231Z 01O * checking use of S3 registration ... OK 2026-03-17T04:26:06.662114Z 01O * checking dependencies in R code ... OK 2026-03-17T04:26:07.472838Z 01O * checking S3 generic/method consistency ... OK 2026-03-17T04:26:07.817447Z 01O * checking replacement functions ... OK 2026-03-17T04:26:08.006962Z 01O * checking foreign function calls ... OK 2026-03-17T04:26:08.764656Z 01O * checking R code for possible problems ... [16s/16s] OK 2026-03-17T04:26:24.851116Z 01O * checking Rd files ... OK 2026-03-17T04:26:25.648259Z 01O * checking Rd metadata ... OK 2026-03-17T04:26:25.688517Z 01O * checking Rd line widths ... OK 2026-03-17T04:26:25.951282Z 01O * checking Rd cross-references ... OK 2026-03-17T04:26:26.487749Z 01O * checking for missing documentation entries ... OK 2026-03-17T04:26:26.709454Z 01O * checking for code/documentation mismatches ... OK 2026-03-17T04:26:27.668869Z 01O * checking Rd \usage sections ... OK 2026-03-17T04:26:28.554188Z 01O * checking Rd contents ... OK 2026-03-17T04:26:28.986861Z 01O * checking for unstated dependencies in examples ... OK 2026-03-17T04:26:29.438647Z 01O * checking line endings in shell scripts ... OK 2026-03-17T04:26:29.439148Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-03-17T04:26:29.457336Z 01O * checking line endings in Makefiles ... OK 2026-03-17T04:26:29.457814Z 01O * checking compilation flags in Makevars ... OK 2026-03-17T04:26:29.510535Z 01O * checking for GNU extensions in Makefiles ... OK 2026-03-17T04:26:29.511339Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-03-17T04:26:29.512485Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-03-17T04:26:29.522730Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-03-17T04:26:29.529380Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-03-17T04:26:29.549102Z 01O * checking compilation flags used ... OK 2026-03-17T04:26:29.550646Z 01O * checking compiled code ... OK 2026-03-17T04:26:29.659517Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-03-17T04:26:29.853156Z 01O * checking files in ‘vignettes’ ... OK 2026-03-17T04:26:30.648694Z 01O * checking examples ... OK 2026-03-17T04:26:37.480177Z 01O * checking examples with --run-donttest ... OK 2026-03-17T04:26:46.754173Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-03-17T04:26:46.822602Z 01O * checking tests ... 2026-03-17T04:26:46.964236Z 01O Running ‘autoprint.R’ 2026-03-17T04:26:47.191672Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-03-17T04:26:47.197736Z 01O Running ‘froll.R’ [381s/381s] 2026-03-17T04:33:08.145621Z 01O Running ‘litedown.R’ 2026-03-17T04:33:08.436217Z 01O Running ‘main.R’ [40s/40s] 2026-03-17T04:33:48.477799Z 01O Running ‘mergelist.R’ 2026-03-17T04:33:49.984539Z 01O Running ‘nafill.R’ 2026-03-17T04:33:50.478073Z 01O Running ‘optimize.R’ 2026-03-17T04:33:51.770948Z 01O Running ‘other.R’ 2026-03-17T04:33:51.977798Z 01O Running ‘programming.R’ 2026-03-17T04:33:52.546234Z 01O Running ‘S4.R’ 2026-03-17T04:33:52.862893Z 01O Running ‘types.R’ 2026-03-17T04:33:53.095084Z 01O [426s/426s] OK 2026-03-17T04:33:53.187328Z 01O * checking for unstated dependencies in vignettes ... OK 2026-03-17T04:33:53.466279Z 01O * checking package vignettes ... OK 2026-03-17T04:33:54.120854Z 01O * checking re-building of vignette outputs ... [29s/30s] OK 2026-03-17T04:34:23.928270Z 01O * checking PDF version of manual ... OK 2026-03-17T04:34:29.574391Z 01O * checking HTML version of manual ... NOTE 2026-03-17T04:34:35.844639Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-03-17T04:34:35.844655Z 01O * checking for non-standard things in the check directory ... OK 2026-03-17T04:34:35.845115Z 01O * checking for detritus in the temp directory ... OK 2026-03-17T04:34:35.845761Z 01O * DONE 2026-03-17T04:34:35.846082Z 01E 2026-03-17T04:34:35.846223Z 01O Status: 1 NOTE 2026-03-17T04:34:35.846354Z 01E See 2026-03-17T04:34:35.846354Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-03-17T04:34:35.846355Z 01E for details. 2026-03-17T04:34:35.846484Z 01E 2026-03-17T04:34:35.865928Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-03-17T04:34:35.867487Z 01O freadR.c:835:21: warning: implicit conversion from 'unsigned long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-const-int-float-conversion] 2026-03-17T04:34:36.039212Z 00O section_end:1773722076:step_script 2026-03-17T04:34:36.039220Z 00O+section_start:1773722076:after_script 2026-03-17T04:34:36.039641Z 00O+Running after_script 2026-03-17T04:34:36.357138Z 01O Running after script... 2026-03-17T04:34:36.357167Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-03-17T04:34:36.358171Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-03-17T04:34:36.358427Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-03-17T04:34:36.358428Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-03-17T04:34:36.358616Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-03-17T04:34:36.520597Z 00O section_end:1773722076:after_script 2026-03-17T04:34:36.520605Z 00O+section_start:1773722076:upload_artifacts_on_failure 2026-03-17T04:34:36.521312Z 00O+Uploading artifacts for failed job 2026-03-17T04:34:36.902336Z 01O Uploading artifacts... 2026-03-17T04:34:36.974254Z 01E bus/test-lin-dev-clang-cran: found 714 matching artifact files and directories 2026-03-17T04:34:39.071405Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=286e779467e94e17a4b682aa301a1a18 id=13520321991 responseStatus=201 Created token=6d_9CTLNx 2026-03-17T04:34:39.238375Z 00O section_end:1773722079:upload_artifacts_on_failure 2026-03-17T04:34:39.238380Z 00O+section_start:1773722079:cleanup_file_variables 2026-03-17T04:34:39.238478Z 00O+Cleaning up project directory and file based variables 2026-03-17T04:34:39.729992Z 00O section_end:1773722079:cleanup_file_variables 2026-03-17T04:34:39.730001Z 00O+ 2026-03-17T04:34:39.768784Z 00O ERROR: Job failed: exit code 1