2026-01-30T04:22:16.679358Z 00O Running with gitlab-runner 18.7.0~pre.433.g3a5f2314 (3a5f2314) 2026-01-30T04:22:16.679368Z 00O  on blue-2.saas-linux-medium-amd64.runners-manager.gitlab.com/default ZQ74L_riD, system ID: s_805fb2e5035f 2026-01-30T04:22:16.679386Z 00O Resolving secrets 2026-01-30T04:22:16.679515Z 00O section_start:1769746936:prepare_executor 2026-01-30T04:22:16.679516Z 00O+Preparing the "docker+machine" executor 2026-01-30T04:22:16.806004Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-01-30T04:22:21.021332Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-01-30T04:22:21.021898Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-01-30T04:22:21.021905Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-01-30T04:22:41.316019Z 00O Using docker image sha256:8c5fbfe8ea038579234504ebe9f02a2b9b61d0df3c543bcc2223e10e73595006 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:659d41be90272ccd4862881d60c593fbb76317d6e2f2e0eb05064fcaa592996c ... 2026-01-30T04:22:41.316084Z 00O section_end:1769746961:prepare_executor 2026-01-30T04:22:41.316086Z 00O+section_start:1769746961:prepare_script 2026-01-30T04:22:41.316155Z 00O+Preparing environment 2026-01-30T04:22:41.316976Z 00O Using effective pull policy of [always] for container sha256:3fc1b9ed36764dbcad68206ee1365d4f3548e5319184d33f883242795606b3f2 2026-01-30T04:22:48.738265Z 01O Running on runner-zq74lrid-project-3622566-concurrent-0 via runner-zq74lrid-s-l-m-amd64-1769746829-e7686a82... 2026-01-30T04:22:48.904188Z 00O section_end:1769746968:prepare_script 2026-01-30T04:22:48.904194Z 00O+section_start:1769746968:get_sources 2026-01-30T04:22:48.904715Z 00O+Getting source from Git repository 2026-01-30T04:22:49.266914Z 01O Gitaly correlation ID: d7e235d1f55c45838944264289bb8738 2026-01-30T04:22:49.271845Z 01O Fetching changes... 2026-01-30T04:22:49.275010Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-01-30T04:22:49.277109Z 01O Created fresh repository. 2026-01-30T04:22:54.924497Z 01O Checking out 1bd88cbc as detached HEAD (ref is master)... 2026-01-30T04:22:55.116592Z 01O 2026-01-30T04:22:55.116598Z 01O Skipping Git submodules setup 2026-01-30T04:22:55.116599Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-01-30T04:22:55.350437Z 00O section_end:1769746975:get_sources 2026-01-30T04:22:55.350442Z 00O+section_start:1769746975:download_artifacts 2026-01-30T04:22:55.351197Z 00O+Downloading artifacts 2026-01-30T04:22:55.762015Z 01O Downloading artifacts for build (12923844881)... 2026-01-30T04:22:56.097422Z 01E Downloading artifacts from coordinator... ok  correlation_id=e6639356b1124de6af6ddc2899da4441 host=storage.googleapis.com id=12923844881 responseStatus=200 OK token=6c_RyCweE 2026-01-30T04:22:56.115789Z 01O Downloading artifacts for mirror-packages (12923844875)... 2026-01-30T04:22:57.293935Z 01E Downloading artifacts from coordinator... ok  correlation_id=3559ade4b5d149f6900933231bbd6f16 host=storage.googleapis.com id=12923844875 responseStatus=200 OK token=6c_RyCweE 2026-01-30T04:22:58.198754Z 00O section_end:1769746978:download_artifacts 2026-01-30T04:22:58.198759Z 00O+section_start:1769746978:step_script 2026-01-30T04:22:58.199178Z 00O+Executing "step_script" stage of the job script 2026-01-30T04:22:58.199195Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-01-30T04:22:58.200165Z 00O Using docker image sha256:8c5fbfe8ea038579234504ebe9f02a2b9b61d0df3c543bcc2223e10e73595006 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:659d41be90272ccd4862881d60c593fbb76317d6e2f2e0eb05064fcaa592996c ... 2026-01-30T04:22:58.548872Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-01-30T04:22:58.558061Z 01O $ mkdir -p ~/.R 2026-01-30T04:22:58.559437Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-01-30T04:22:58.559510Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-01-30T04:22:58.559590Z 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-01-30T04:22:58.778479Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-01-30T04:22:58.778484Z 01E 2026-01-30T04:24:13.327024Z 01E Updating HTML index of packages in '.Library' 2026-01-30T04:24:13.327416Z 01E Making 'packages.html' ... done 2026-01-30T04:24:13.344144Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-01-30T04:24:13.363258Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-01-30T04:24:20.928567Z 01E 3 warnings generated. 2026-01-30T04:24:20.928672Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-01-30T04:24:24.037021Z 01E 3 warnings generated. 2026-01-30T04:24:24.037234Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-01-30T04:24:30.956076Z 01E 3 warnings generated. 2026-01-30T04:24:30.956136Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-01-30T04:24:31.193721Z 01E 7 warnings generated. 2026-01-30T04:24:31.193939Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-01-30T04:24:33.841653Z 01E 7 warnings generated. 2026-01-30T04:24:33.841938Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-01-30T04:24:36.110916Z 01E 7 warnings generated. 2026-01-30T04:24:36.111151Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-01-30T04:24:40.366694Z 01E 7 warnings generated. 2026-01-30T04:24:40.366998Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-01-30T04:24:40.433536Z 01E 7 warnings generated. 2026-01-30T04:24:40.433842Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-01-30T04:24:43.466025Z 01E 10 warnings generated. 2026-01-30T04:24:43.466303Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-01-30T04:24:48.839234Z 01E 11 warnings generated. 2026-01-30T04:24:48.839385Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-01-30T04:24:52.826661Z 01E 12 warnings generated. 2026-01-30T04:24:52.826893Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-01-30T04:25:01.167636Z 01E 13 warnings generated. 2026-01-30T04:25:01.167649Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-01-30T04:25:04.589164Z 01E 13 warnings generated. 2026-01-30T04:25:04.589366Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-01-30T04:25:10.228838Z 01E 25 warnings generated. 2026-01-30T04:25:10.228865Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-01-30T04:25:19.061694Z 01E 25 warnings generated. 2026-01-30T04:25:19.061705Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-01-30T04:25:29.756367Z 01E 31 warnings generated. 2026-01-30T04:25:29.756378Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-01-30T04:25:33.350747Z 01E 32 warnings generated. 2026-01-30T04:25:33.351067Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-01-30T04:25:35.782710Z 01E 35 warnings generated. 2026-01-30T04:25:35.782915Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-01-30T04:25:35.833225Z 01E 35 warnings generated. 2026-01-30T04:25:35.833547Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-01-30T04:25:36.163992Z 01E 35 warnings generated. 2026-01-30T04:25:36.164394Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-01-30T04:25:42.396388Z 01E 37 warnings generated. 2026-01-30T04:25:42.396441Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-01-30T04:25:45.924270Z 01E 37 warnings generated. 2026-01-30T04:25:45.924756Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-01-30T04:26:00.066304Z 01E 42 warnings generated. 2026-01-30T04:26:00.066315Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-01-30T04:26:00.190863Z 01E 43 warnings generated. 2026-01-30T04:26:00.191157Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-01-30T04:26:00.451947Z 01E 43 warnings generated. 2026-01-30T04:26:00.452269Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-01-30T04:26:05.228046Z 01E 46 warnings generated. 2026-01-30T04:26:05.228379Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-01-30T04:26:05.279510Z 01E 46 warnings generated. 2026-01-30T04:26:05.279790Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-01-30T04:26:05.314528Z 01E 46 warnings generated. 2026-01-30T04:26:05.314974Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-01-30T04:26:06.202106Z 01E 46 warnings generated. 2026-01-30T04:26:06.202380Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-01-30T04:26:09.427449Z 01E 59 warnings generated. 2026-01-30T04:26:09.428480Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-01-30T04:26:09.459036Z 01E 59 warnings generated. 2026-01-30T04:26:09.459367Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-01-30T04:26:09.508848Z 01E 59 warnings generated. 2026-01-30T04:26:09.509166Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-01-30T04:26:09.657641Z 01E 60 warnings generated. 2026-01-30T04:26:09.658098Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-01-30T04:26:10.129511Z 01E 60 warnings generated. 2026-01-30T04:26:10.129728Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-01-30T04:26:10.974197Z 01E 60 warnings generated. 2026-01-30T04:26:10.974480Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-01-30T04:26:14.447979Z 01E 66 warnings generated. 2026-01-30T04:26:14.448269Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-01-30T04:26:17.254127Z 01E 66 warnings generated. 2026-01-30T04:26:17.254381Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-01-30T04:26:17.284190Z 01E 66 warnings generated. 2026-01-30T04:26:17.284388Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-01-30T04:26:20.308621Z 01E 66 warnings generated. 2026-01-30T04:26:20.308954Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-01-30T04:26:21.608453Z 01E 68 warnings generated. 2026-01-30T04:26:21.608675Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-01-30T04:26:21.985809Z 01E 68 warnings generated. 2026-01-30T04:26:21.986185Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-01-30T04:26:24.872698Z 01E 68 warnings generated. 2026-01-30T04:26:24.873010Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-01-30T04:26:25.217504Z 01E 68 warnings generated. 2026-01-30T04:26:25.217856Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-01-30T04:26:32.359519Z 01E 68 warnings generated. 2026-01-30T04:26:32.359530Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-01-30T04:26:33.242504Z 01E 68 warnings generated. 2026-01-30T04:26:33.242836Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-01-30T04:26:33.281532Z 01E 68 warnings generated. 2026-01-30T04:26:33.281932Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-01-30T04:26:33.358741Z 01E 68 warnings generated. 2026-01-30T04:26:33.359849Z 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-01-30T04:26:33.359851Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-01-30T04:26:33.359851Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359852Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-01-30T04:26:33.359853Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359854Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-01-30T04:26:33.359854Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359855Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-01-30T04:26:33.359856Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359857Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-01-30T04:26:33.359857Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359858Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-01-30T04:26:33.359859Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359859Z 01O 15 | R_NilValue 2026-01-30T04:26:33.359860Z 01O | ~~~~~~~~~~ 2026-01-30T04:26:33.359860Z 01O 16 | )) 2026-01-30T04:26:33.359861Z 01O | ~~ 2026-01-30T04:26:33.359861Z 01O 17 | )); 2026-01-30T04:26:33.359862Z 01O | ~ 2026-01-30T04:26:33.359862Z 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-01-30T04:26:33.359863Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-01-30T04:26:33.359864Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359864Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-01-30T04:26:33.359865Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359896Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-01-30T04:26:33.359897Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359897Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-01-30T04:26:33.359898Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359899Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-01-30T04:26:33.359899Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359900Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-01-30T04:26:33.359901Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359901Z 01O 15 | R_NilValue 2026-01-30T04:26:33.359902Z 01O | ~~~~~~~~~~ 2026-01-30T04:26:33.359902Z 01O 16 | )) 2026-01-30T04:26:33.359903Z 01O | ~~ 2026-01-30T04:26:33.359903Z 01O 17 | )); 2026-01-30T04:26:33.359904Z 01O | ~ 2026-01-30T04:26:33.359917Z 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-01-30T04:26:33.359918Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-01-30T04:26:33.359919Z 01O | ^ 2026-01-30T04:26:33.359919Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-01-30T04:26:33.359920Z 01O 937 | const STYPE val = sd[soff]; \ 2026-01-30T04:26:33.359921Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.359921Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-01-30T04:26:33.359922Z 01O 714 | if (len<1) return NULL; 2026-01-30T04:26:33.359922Z 01O | ^~~~~ 2026-01-30T04:26:33.359923Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-01-30T04:26:33.359923Z 01O 714 | if (len<1) return NULL; 2026-01-30T04:26:33.359924Z 01O | ^ 2026-01-30T04:26:33.359924Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-01-30T04:26:33.359925Z 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-01-30T04:26:33.359926Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.359926Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-01-30T04:26:33.359927Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-01-30T04:26:33.359927Z 01O 716 | if (slen==0) return NULL; 2026-01-30T04:26:33.359928Z 01O | ^~~~~~~ 2026-01-30T04:26:33.359928Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-01-30T04:26:33.359929Z 01O 716 | if (slen==0) return NULL; 2026-01-30T04:26:33.359929Z 01O | ^ 2026-01-30T04:26:33.359930Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-01-30T04:26:33.359930Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-01-30T04:26:33.359931Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.359931Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-01-30T04:26:33.359932Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-01-30T04:26:33.359933Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-01-30T04:26:33.359933Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.359938Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-01-30T04:26:33.359938Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-01-30T04:26:33.359939Z 01O | ^ 2026-01-30T04:26:33.359998Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-01-30T04:26:33.359999Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-01-30T04:26:33.360000Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.360000Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-01-30T04:26:33.360001Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-01-30T04:26:33.360001Z 01O | ^ 2026-01-30T04:26:33.360002Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-01-30T04:26:33.360002Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-01-30T04:26:33.360003Z 01O | ^~~~~~ 2026-01-30T04:26:33.360003Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-01-30T04:26:33.360004Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-01-30T04:26:33.360005Z 01O | ^ 2026-01-30T04:26:33.360005Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-01-30T04:26:33.360006Z 01O 726 | if (colname==NULL) 2026-01-30T04:26:33.360006Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.360007Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-01-30T04:26:33.360007Z 01O 726 | if (colname==NULL) 2026-01-30T04:26:33.360008Z 01O | ^ 2026-01-30T04:26:33.360008Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-01-30T04:26:33.360009Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-01-30T04:26:33.360009Z 01O | ^ 2026-01-30T04:26:33.360067Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2026-01-30T04:26:33.360068Z 01O 975 | #define isReal Rf_isReal 2026-01-30T04:26:33.360068Z 01O | ^ 2026-01-30T04:26:33.360069Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-01-30T04:26:33.360069Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-01-30T04:26:33.360070Z 01O | ^ 2026-01-30T04:26:33.360071Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-01-30T04:26:33.360071Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-01-30T04:26:33.360072Z 01O | ^ 2026-01-30T04:26:33.360072Z 01O /usr/local/lib/R/include/Rinternals.h:975:18: note: expanded from macro 'isReal' 2026-01-30T04:26:33.360073Z 01O 975 | #define isReal Rf_isReal 2026-01-30T04:26:33.360073Z 01O | ^ 2026-01-30T04:26:33.360074Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-01-30T04:26:33.360075Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-01-30T04:26:33.360075Z 01O | ^ 2026-01-30T04:26:33.360076Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-01-30T04:26:33.360076Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-01-30T04:26:33.360077Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.360077Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-01-30T04:26:33.360078Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-01-30T04:26:33.360083Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-01-30T04:26:33.360084Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.360084Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-01-30T04:26:33.360085Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-01-30T04:26:33.360085Z 01O | ^ 2026-01-30T04:26:33.360153Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-01-30T04:26:33.360154Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-01-30T04:26:33.360155Z 01O | ^ 2026-01-30T04:26:33.360155Z 01O /usr/local/lib/R/include/Rinternals.h:978:19: note: expanded from macro 'isString' 2026-01-30T04:26:33.360156Z 01O 978 | #define isString Rf_isString 2026-01-30T04:26:33.360156Z 01O | ^ 2026-01-30T04:26:33.360157Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-01-30T04:26:33.360158Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-01-30T04:26:33.360158Z 01O | ^ 2026-01-30T04:26:33.360159Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-01-30T04:26:33.360159Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-01-30T04:26:33.360160Z 01O | ^ 2026-01-30T04:26:33.360160Z 01O /usr/local/lib/R/include/Rinternals.h:967:20: note: expanded from macro 'isNewList' 2026-01-30T04:26:33.360161Z 01O 967 | #define isNewList Rf_isNewList 2026-01-30T04:26:33.360161Z 01O | ^ 2026-01-30T04:26:33.360162Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-01-30T04:26:33.360163Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-01-30T04:26:33.360163Z 01O | ^ 2026-01-30T04:26:33.360164Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-01-30T04:26:33.360164Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-01-30T04:26:33.360165Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.360166Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-01-30T04:26:33.360222Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-01-30T04:26:33.360223Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-01-30T04:26:33.360224Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.360225Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-01-30T04:26:33.360225Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-01-30T04:26:33.360226Z 01O | ^ 2026-01-30T04:26:33.360226Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-01-30T04:26:33.360227Z 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-01-30T04:26:33.360228Z 01O | ^ 2026-01-30T04:26:33.360228Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360229Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360229Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.360230Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-01-30T04:26:33.360235Z 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-01-30T04:26:33.360236Z 01O | ^ 2026-01-30T04:26:33.360236Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360237Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360237Z 01O | ^ 2026-01-30T04:26:33.360310Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-01-30T04:26:33.360311Z 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-01-30T04:26:33.360312Z 01O | ^ 2026-01-30T04:26:33.360312Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360313Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360313Z 01O | ^ 2026-01-30T04:26:33.360314Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-01-30T04:26:33.360314Z 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-01-30T04:26:33.360315Z 01O | ^ 2026-01-30T04:26:33.360316Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360316Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360317Z 01O | ^ 2026-01-30T04:26:33.360374Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-01-30T04:26:33.360375Z 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-01-30T04:26:33.360376Z 01O | ^~~~~~ 2026-01-30T04:26:33.360377Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-01-30T04:26:33.360377Z 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-01-30T04:26:33.360378Z 01O | ^ 2026-01-30T04:26:33.360379Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360379Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360380Z 01O | ^ 2026-01-30T04:26:33.360392Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-01-30T04:26:33.360393Z 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-01-30T04:26:33.360394Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.360395Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-01-30T04:26:33.360395Z 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-01-30T04:26:33.360396Z 01O | ^ 2026-01-30T04:26:33.360397Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360401Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360401Z 01O | ^ 2026-01-30T04:26:33.360504Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-01-30T04:26:33.360510Z 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-01-30T04:26:33.360511Z 01O | ^~~~~~~ 2026-01-30T04:26:33.360512Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-01-30T04:26:33.360512Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-01-30T04:26:33.360513Z 01O | ^ 2026-01-30T04:26:33.360513Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360514Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360515Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.360515Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-01-30T04:26:33.360516Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-01-30T04:26:33.360516Z 01O | ^ 2026-01-30T04:26:33.360517Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360517Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360518Z 01O | ^ 2026-01-30T04:26:33.360518Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-01-30T04:26:33.360519Z 01O 977 | switch (TYPEOF(target)) { 2026-01-30T04:26:33.360519Z 01O | ^ 2026-01-30T04:26:33.360520Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-01-30T04:26:33.360521Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-01-30T04:26:33.360521Z 01O | ^~~ 2026-01-30T04:26:33.360522Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-01-30T04:26:33.360522Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-01-30T04:26:33.360523Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-01-30T04:26:33.360523Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.360524Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-01-30T04:26:33.360525Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-01-30T04:26:33.360525Z 01O | ^ 2026-01-30T04:26:33.360613Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-01-30T04:26:33.360614Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-01-30T04:26:33.360614Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.360615Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-01-30T04:26:33.360615Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-01-30T04:26:33.360616Z 01O | ^ 2026-01-30T04:26:33.360616Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-01-30T04:26:33.360617Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-01-30T04:26:33.360618Z 01O | ^ 2026-01-30T04:26:33.360618Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-01-30T04:26:33.360619Z 01O 935 | if (length(where)) { \ 2026-01-30T04:26:33.360619Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.360620Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.360620Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.360625Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.360626Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-01-30T04:26:33.360626Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-01-30T04:26:33.360627Z 01O | ^ 2026-01-30T04:26:33.360627Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-01-30T04:26:33.360628Z 01O 935 | if (length(where)) { \ 2026-01-30T04:26:33.360629Z 01O | ^ 2026-01-30T04:26:33.360684Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-01-30T04:26:33.360685Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-01-30T04:26:33.360686Z 01O | ^ 2026-01-30T04:26:33.360686Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-01-30T04:26:33.360687Z 01O 936 | if (slen==1) { \ 2026-01-30T04:26:33.360687Z 01O | ^~~~ 2026-01-30T04:26:33.360688Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-01-30T04:26:33.360688Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-01-30T04:26:33.360689Z 01O | ^ 2026-01-30T04:26:33.360689Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-01-30T04:26:33.360690Z 01O 936 | if (slen==1) { \ 2026-01-30T04:26:33.360690Z 01O | ^ 2026-01-30T04:26:33.360691Z 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-01-30T04:26:33.360692Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-01-30T04:26:33.360692Z 01O | ^ 2026-01-30T04:26:33.360693Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-01-30T04:26:33.360693Z 01O 937 | const STYPE val = sd[soff]; \ 2026-01-30T04:26:33.360694Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.360788Z 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-01-30T04:26:33.360789Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-01-30T04:26:33.360790Z 01O | ^~~~~ 2026-01-30T04:26:33.360790Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-01-30T04:26:33.360791Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-01-30T04:26:33.360791Z 01O | ^~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.360792Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-01-30T04:26:33.360793Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-01-30T04:26:33.360793Z 01O | ^ 2026-01-30T04:26:33.360794Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-01-30T04:26:33.360794Z 01O 6 | if (chin && chmatchdup) 2026-01-30T04:26:33.360795Z 01O | ^~~~ 2026-01-30T04:26:33.360795Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-01-30T04:26:33.360796Z 01O 6 | if (chin && chmatchdup) 2026-01-30T04:26:33.360796Z 01O | ^ 2026-01-30T04:26:33.360797Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-01-30T04:26:33.360797Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-01-30T04:26:33.360798Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.360798Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-01-30T04:26:33.360799Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-01-30T04:26:33.360807Z 01O | ^ 2026-01-30T04:26:33.360808Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-01-30T04:26:33.360808Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-01-30T04:26:33.360809Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.360810Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-01-30T04:26:33.360810Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-01-30T04:26:33.360811Z 01O | ^ 2026-01-30T04:26:33.360872Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-01-30T04:26:33.360873Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-01-30T04:26:33.360874Z 01O | ^ 2026-01-30T04:26:33.360874Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-01-30T04:26:33.360875Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-01-30T04:26:33.360875Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-01-30T04:26:33.360876Z 01O | ^~~~~~~ 2026-01-30T04:26:33.360876Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-01-30T04:26:33.360877Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-01-30T04:26:33.360878Z 01O | ^ 2026-01-30T04:26:33.360878Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-01-30T04:26:33.360879Z 01O 31 | if (tablelen==0) { 2026-01-30T04:26:33.360879Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.360880Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-01-30T04:26:33.360880Z 01O 31 | if (tablelen==0) { 2026-01-30T04:26:33.360881Z 01O | ^ 2026-01-30T04:26:33.360985Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-01-30T04:26:33.360986Z 01O 40 | if (isSymbol(x)) { 2026-01-30T04:26:33.360986Z 01O | ^ 2026-01-30T04:26:33.360987Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2026-01-30T04:26:33.360987Z 01O 965 | #define isSymbol Rf_isSymbol 2026-01-30T04:26:33.360988Z 01O | ^ 2026-01-30T04:26:33.360988Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-01-30T04:26:33.360989Z 01O 40 | if (isSymbol(x)) { 2026-01-30T04:26:33.360990Z 01O | ^ 2026-01-30T04:26:33.360990Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-01-30T04:26:33.360991Z 01O 46 | if (xlen==1) { 2026-01-30T04:26:33.360991Z 01O | ^~~~~~~ 2026-01-30T04:26:33.360991Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-01-30T04:26:33.360992Z 01O 46 | if (xlen==1) { 2026-01-30T04:26:33.360993Z 01O | ^ 2026-01-30T04:26:33.360993Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-01-30T04:26:33.360994Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.360994Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.360994Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-01-30T04:26:33.360995Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-01-30T04:26:33.360996Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.360996Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.360997Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-01-30T04:26:33.360997Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.360998Z 01O | ^ 2026-01-30T04:26:33.361003Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-01-30T04:26:33.361003Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-01-30T04:26:33.361004Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.361004Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.361005Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-01-30T04:26:33.361005Z 01O | ^ 2026-01-30T04:26:33.361006Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-01-30T04:26:33.361007Z 01O 66 | if (tl == 0) { 2026-01-30T04:26:33.361007Z 01O | ^~~~~~~ 2026-01-30T04:26:33.361007Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-01-30T04:26:33.361008Z 01O 66 | if (tl == 0) { 2026-01-30T04:26:33.361008Z 01O | ^ 2026-01-30T04:26:33.361009Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-01-30T04:26:33.361010Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-01-30T04:26:33.361010Z 01O | ^ 2026-01-30T04:26:33.361010Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.361011Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-01-30T04:26:33.361012Z 01O | ^ 2026-01-30T04:26:33.361012Z 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-01-30T04:26:33.361013Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-01-30T04:26:33.361013Z 01O | ^~~~~ 2026-01-30T04:26:33.361014Z 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-01-30T04:26:33.361015Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-01-30T04:26:33.361015Z 01O | ^~~~~ 2026-01-30T04:26:33.361160Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-01-30T04:26:33.361161Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-01-30T04:26:33.361162Z 01O | ^~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.361162Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-01-30T04:26:33.361163Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-01-30T04:26:33.361163Z 01O | ^ 2026-01-30T04:26:33.361164Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-01-30T04:26:33.361165Z 01O 6 | if (chin && chmatchdup) 2026-01-30T04:26:33.361165Z 01O | ^~~~ 2026-01-30T04:26:33.361165Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-01-30T04:26:33.361166Z 01O 6 | if (chin && chmatchdup) 2026-01-30T04:26:33.361167Z 01O | ^ 2026-01-30T04:26:33.361167Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-01-30T04:26:33.361168Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-01-30T04:26:33.361168Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.361169Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-01-30T04:26:33.361169Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-01-30T04:26:33.361170Z 01O | ^ 2026-01-30T04:26:33.361170Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-01-30T04:26:33.361171Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-01-30T04:26:33.361171Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.361172Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-01-30T04:26:33.361172Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-01-30T04:26:33.361178Z 01O | ^ 2026-01-30T04:26:33.361178Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-01-30T04:26:33.361179Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-01-30T04:26:33.361179Z 01O | ^ 2026-01-30T04:26:33.361180Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-01-30T04:26:33.361180Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-01-30T04:26:33.361181Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-01-30T04:26:33.361182Z 01O | ^~~~~~~ 2026-01-30T04:26:33.361182Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-01-30T04:26:33.361183Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-01-30T04:26:33.361183Z 01O | ^ 2026-01-30T04:26:33.361184Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-01-30T04:26:33.361184Z 01O 31 | if (tablelen==0) { 2026-01-30T04:26:33.361185Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.361185Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-01-30T04:26:33.361186Z 01O 31 | if (tablelen==0) { 2026-01-30T04:26:33.361186Z 01O | ^ 2026-01-30T04:26:33.361187Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-01-30T04:26:33.361187Z 01O 40 | if (isSymbol(x)) { 2026-01-30T04:26:33.361188Z 01O | ^ 2026-01-30T04:26:33.361188Z 01O /usr/local/lib/R/include/Rinternals.h:965:19: note: expanded from macro 'isSymbol' 2026-01-30T04:26:33.361189Z 01O 965 | #define isSymbol Rf_isSymbol 2026-01-30T04:26:33.361189Z 01O | ^ 2026-01-30T04:26:33.361190Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-01-30T04:26:33.361190Z 01O 40 | if (isSymbol(x)) { 2026-01-30T04:26:33.361191Z 01O | ^ 2026-01-30T04:26:33.361191Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-01-30T04:26:33.361192Z 01O 46 | if (xlen==1) { 2026-01-30T04:26:33.361192Z 01O | ^~~~~~~ 2026-01-30T04:26:33.361193Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-01-30T04:26:33.361193Z 01O 46 | if (xlen==1) { 2026-01-30T04:26:33.361194Z 01O | ^ 2026-01-30T04:26:33.361246Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-01-30T04:26:33.361247Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361248Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.361248Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-01-30T04:26:33.361249Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361249Z 01O | ^ 2026-01-30T04:26:33.361250Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-01-30T04:26:33.361250Z 01O 99 | for (int i=0; i= 'tablelen' 2026-01-30T04:26:33.361267Z 01O 123 | for (int i=0; i= 'tablelen' 2026-01-30T04:26:33.361362Z 01O 125 | for (int i=0; i= 0 2026-01-30T04:26:33.361371Z 01O 129 | if (u<0) { 2026-01-30T04:26:33.361371Z 01O | ^~~ 2026-01-30T04:26:33.361372Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-01-30T04:26:33.361372Z 01O 129 | if (u<0) { 2026-01-30T04:26:33.361373Z 01O | ^ 2026-01-30T04:26:33.361465Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-01-30T04:26:33.361466Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-01-30T04:26:33.361668Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.361668Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-01-30T04:26:33.361669Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361669Z 01O | ^ 2026-01-30T04:26:33.361670Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-01-30T04:26:33.361670Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361671Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.361671Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-01-30T04:26:33.361672Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361672Z 01O | ^ 2026-01-30T04:26:33.361673Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-01-30T04:26:33.361674Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-01-30T04:26:33.361913Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.361913Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-01-30T04:26:33.361917Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-01-30T04:26:33.361917Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361918Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.361921Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-01-30T04:26:33.361922Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-01-30T04:26:33.361922Z 01O | ^ 2026-01-30T04:26:33.361923Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-01-30T04:26:33.361923Z 01O 99 | for (int i=0; i= 0 2026-01-30T04:26:33.361993Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-01-30T04:26:33.361994Z 01O | ^~~ 2026-01-30T04:26:33.361994Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-01-30T04:26:33.361995Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-01-30T04:26:33.361995Z 01O | ^ 2026-01-30T04:26:33.361996Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-01-30T04:26:33.361996Z 01O 144 | for (int i=0; i= 'nlhs' 2026-01-30T04:26:33.362070Z 01O 14 | for (int i=0; i= 'nlhs' 2026-01-30T04:26:33.362274Z 01O 14 | for (int i=0; i= 'nlhs' 2026-01-30T04:26:33.362468Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-01-30T04:26:33.363772Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.363772Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-01-30T04:26:33.363773Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-01-30T04:26:33.363774Z 01O | ^ 2026-01-30T04:26:33.363774Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.363775Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.363775Z 01O | ^ 2026-01-30T04:26:33.363776Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-01-30T04:26:33.363776Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-01-30T04:26:33.363777Z 01O | ^ 2026-01-30T04:26:33.363777Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.363778Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.363778Z 01O | ^ 2026-01-30T04:26:33.363779Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-01-30T04:26:33.363779Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-01-30T04:26:33.363780Z 01O | ^ 2026-01-30T04:26:33.363834Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.363834Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.363835Z 01O | ^ 2026-01-30T04:26:33.363836Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-01-30T04:26:33.363836Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-01-30T04:26:33.363837Z 01O | ^ 2026-01-30T04:26:33.363837Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-01-30T04:26:33.363838Z 01O 228 | for (int i=0; i= 'ncol' 2026-01-30T04:26:33.363842Z 01O 234 | for (int i=0; i= 'nidx' 2026-01-30T04:26:33.363935Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-01-30T04:26:33.363986Z 01O | ^~~~ 2026-01-30T04:26:33.363987Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-01-30T04:26:33.363987Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-01-30T04:26:33.363988Z 01O | ^ 2026-01-30T04:26:33.363988Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-01-30T04:26:33.363989Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-01-30T04:26:33.364053Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-01-30T04:26:33.364869Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-01-30T04:26:33.365124Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365124Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-01-30T04:26:33.365125Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-01-30T04:26:33.365126Z 01O | ^ 2026-01-30T04:26:33.365126Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-01-30T04:26:33.365127Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-01-30T04:26:33.365127Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365176Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-01-30T04:26:33.365177Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-01-30T04:26:33.365178Z 01O | ^ 2026-01-30T04:26:33.365178Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-01-30T04:26:33.365179Z 01O 326 | if (new_marks != marks) { 2026-01-30T04:26:33.365179Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365180Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-01-30T04:26:33.365180Z 01O 326 | if (new_marks != marks) { 2026-01-30T04:26:33.365181Z 01O | ^ 2026-01-30T04:26:33.365181Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-01-30T04:26:33.365182Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-01-30T04:26:33.365182Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365183Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-01-30T04:26:33.365183Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-01-30T04:26:33.365184Z 01O | ^ 2026-01-30T04:26:33.365188Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-01-30T04:26:33.365189Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-01-30T04:26:33.365190Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.365190Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-01-30T04:26:33.365191Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-01-30T04:26:33.365192Z 01O | ^ 2026-01-30T04:26:33.365243Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-01-30T04:26:33.365244Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-01-30T04:26:33.365249Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.365258Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-01-30T04:26:33.365259Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-01-30T04:26:33.365260Z 01O | ^ 2026-01-30T04:26:33.365260Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-01-30T04:26:33.365261Z 01O 338 | if (!anynotascii) 2026-01-30T04:26:33.365261Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.365262Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-01-30T04:26:33.365262Z 01O 338 | if (!anynotascii) 2026-01-30T04:26:33.365263Z 01O | ^ 2026-01-30T04:26:33.365313Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-01-30T04:26:33.365314Z 01O 340 | if (!IS_UTF8(s)) 2026-01-30T04:26:33.365315Z 01O | ^ 2026-01-30T04:26:33.365315Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-01-30T04:26:33.365316Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-01-30T04:26:33.365316Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365317Z 01O /usr/local/lib/R/include/Rinternals.h:936:20: note: expanded from macro 'getCharCE' 2026-01-30T04:26:33.365318Z 01O 936 | #define getCharCE Rf_getCharCE 2026-01-30T04:26:33.365318Z 01O | ^ 2026-01-30T04:26:33.365319Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-01-30T04:26:33.365319Z 01O 340 | if (!IS_UTF8(s)) 2026-01-30T04:26:33.365320Z 01O | ^ 2026-01-30T04:26:33.365320Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-01-30T04:26:33.365321Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-01-30T04:26:33.365403Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-01-30T04:26:33.365460Z 01O 364 | for (int i=0; i> 2026-01-30T04:26:33.365710Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365710Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-01-30T04:26:33.365711Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365712Z 01O 43 | 2026-01-30T04:26:33.365712Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-01-30T04:26:33.365713Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365713Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-01-30T04:26:33.365714Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365714Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-01-30T04:26:33.365715Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365715Z 01O 47 | 2026-01-30T04:26:33.365716Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-01-30T04:26:33.365716Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365717Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-01-30T04:26:33.365722Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365723Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-01-30T04:26:33.365723Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365724Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-01-30T04:26:33.365724Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365725Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-01-30T04:26:33.365726Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365726Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-01-30T04:26:33.365727Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365727Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Calling 'freadCleanup' 2026-01-30T04:26:33.365728Z 01O 1406 | if (freadCleanup()) { 2026-01-30T04:26:33.365729Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.365729Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-01-30T04:26:33.365730Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-01-30T04:26:33.365730Z 01O | ^~~~ 2026-01-30T04:26:33.365731Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-01-30T04:26:33.365794Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-01-30T04:26:33.365795Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-01-30T04:26:33.365795Z 01O | ^~~~~~~ 2026-01-30T04:26:33.365796Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-01-30T04:26:33.365797Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-01-30T04:26:33.365797Z 01O | ^ 2026-01-30T04:26:33.365798Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-01-30T04:26:33.365798Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-01-30T04:26:33.365799Z 01O | ^~~~ 2026-01-30T04:26:33.365800Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-01-30T04:26:33.365800Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-01-30T04:26:33.365801Z 01O | ^ 2026-01-30T04:26:33.365801Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-01-30T04:26:33.365802Z 01O 169 | if (mmp != NULL) { 2026-01-30T04:26:33.365803Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.365803Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-01-30T04:26:33.365804Z 01O 169 | if (mmp != NULL) { 2026-01-30T04:26:33.365804Z 01O | ^ 2026-01-30T04:26:33.365806Z 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-01-30T04:26:33.365807Z 01O 193 | quoteRule = -1; 2026-01-30T04:26:33.365808Z 01O | ^~ 2026-01-30T04:26:33.365877Z 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-01-30T04:26:33.365878Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-01-30T04:26:33.365879Z 01O | ^ ~~ 2026-01-30T04:26:33.365885Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-01-30T04:26:33.365886Z 01O 1406 | if (freadCleanup()) { 2026-01-30T04:26:33.365886Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.365887Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-01-30T04:26:33.365887Z 01O 1406 | if (freadCleanup()) { 2026-01-30T04:26:33.365888Z 01O | ^ 2026-01-30T04:26:33.365888Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.365889Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-01-30T04:26:33.365889Z 01O | ^~~~~~~ 2026-01-30T04:26:33.365890Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-01-30T04:26:33.365891Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-01-30T04:26:33.365891Z 01O | ^ 2026-01-30T04:26:33.365892Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-01-30T04:26:33.365892Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-01-30T04:26:33.365893Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.365893Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-01-30T04:26:33.365894Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-01-30T04:26:33.365894Z 01O | ^ 2026-01-30T04:26:33.365895Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-01-30T04:26:33.365895Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-01-30T04:26:33.365896Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.365936Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-01-30T04:26:33.365937Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-01-30T04:26:33.365937Z 01O | ^ 2026-01-30T04:26:33.365937Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-01-30T04:26:33.365938Z 01O 1416 | if (nth <= 0) nth = 1; 2026-01-30T04:26:33.365939Z 01O | ^~~ 2026-01-30T04:26:33.365939Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-01-30T04:26:33.365940Z 01O 1416 | if (nth <= 0) nth = 1; 2026-01-30T04:26:33.365940Z 01O | ^ 2026-01-30T04:26:33.365940Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-01-30T04:26:33.365941Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-01-30T04:26:33.365942Z 01O | ^~~~~~~ 2026-01-30T04:26:33.365942Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-01-30T04:26:33.365943Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-01-30T04:26:33.365944Z 01O | ^ 2026-01-30T04:26:33.365947Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-01-30T04:26:33.365948Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-01-30T04:26:33.365949Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.365949Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-01-30T04:26:33.365950Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-01-30T04:26:33.365951Z 01O | ^ 2026-01-30T04:26:33.365951Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-01-30T04:26:33.365952Z 01O 1432 | while (*nastr) { 2026-01-30T04:26:33.365952Z 01O | ^ 2026-01-30T04:26:33.366002Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-01-30T04:26:33.366003Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-01-30T04:26:33.366008Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366008Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-01-30T04:26:33.366009Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-01-30T04:26:33.366010Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366010Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-01-30T04:26:33.366011Z 01O 1460 | if (verbose) { 2026-01-30T04:26:33.366011Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366012Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-01-30T04:26:33.366012Z 01O 1460 | if (verbose) { 2026-01-30T04:26:33.366013Z 01O | ^ 2026-01-30T04:26:33.366016Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-01-30T04:26:33.366017Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-01-30T04:26:33.366018Z 01O | ^ 2026-01-30T04:26:33.366018Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-01-30T04:26:33.366019Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-01-30T04:26:33.366019Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366099Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-01-30T04:26:33.366100Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-01-30T04:26:33.366101Z 01O | ^ 2026-01-30T04:26:33.366101Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-01-30T04:26:33.366102Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366102Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366103Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-01-30T04:26:33.366103Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366104Z 01O | ^ 2026-01-30T04:26:33.366105Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-01-30T04:26:33.366105Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366106Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.366106Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-01-30T04:26:33.366107Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366108Z 01O | ^ 2026-01-30T04:26:33.366108Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-01-30T04:26:33.366109Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-01-30T04:26:33.366109Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366110Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-01-30T04:26:33.366110Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-01-30T04:26:33.366111Z 01O | ^ 2026-01-30T04:26:33.366111Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-01-30T04:26:33.366112Z 01O 1511 | if (args.input) { 2026-01-30T04:26:33.366112Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.366113Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-01-30T04:26:33.366113Z 01O 1511 | if (args.input) { 2026-01-30T04:26:33.366114Z 01O | ^ 2026-01-30T04:26:33.366114Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is non-null 2026-01-30T04:26:33.366120Z 01O 1518 | else if (args.filename) { 2026-01-30T04:26:33.366121Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.366166Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking true branch 2026-01-30T04:26:33.366166Z 01O 1518 | else if (args.filename) { 2026-01-30T04:26:33.366167Z 01O | ^ 2026-01-30T04:26:33.366167Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:9: note: 'verbose' is false 2026-01-30T04:26:33.366168Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-01-30T04:26:33.366169Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366172Z 01O /builds/Rdatatable/data.table/src/fread.c:1519:5: note: Taking false branch 2026-01-30T04:26:33.366173Z 01O 1519 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-01-30T04:26:33.366173Z 01O | ^ 2026-01-30T04:26:33.366174Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:16: note: Assuming that 'open' fails 2026-01-30T04:26:33.366174Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-01-30T04:26:33.366175Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366175Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:7: note: 'fd' initialized here 2026-01-30T04:26:33.366176Z 01O 1522 | int fd = open(fnam, O_RDONLY); 2026-01-30T04:26:33.366177Z 01O | ^~~~~~ 2026-01-30T04:26:33.366177Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:7: note: Taking true branch 2026-01-30T04:26:33.366178Z 01O 1523 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-01-30T04:26:33.366178Z 01O | ^ 2026-01-30T04:26:33.366225Z 01O /builds/Rdatatable/data.table/src/fread.c:1525:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-01-30T04:26:33.366226Z 01O 1525 | if (fstat(fd, &stat_buf) == -1) { 2026-01-30T04:26:33.366226Z 01O | ^ ~~ 2026-01-30T04:26:33.366227Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.366227Z 01O 1769 | pos = ch; 2026-01-30T04:26:33.366228Z 01O | ^ ~~ 2026-01-30T04:26:33.366228Z 01O /builds/Rdatatable/data.table/src/fread.c:1769:5: note: Value stored to 'pos' is never read 2026-01-30T04:26:33.366229Z 01O 1769 | pos = ch; 2026-01-30T04:26:33.366229Z 01O | ^ ~~ 2026-01-30T04:26:33.366232Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: warning: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' [clang-analyzer-optin.core.EnumCastOutOfRange] 2026-01-30T04:26:33.366233Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-01-30T04:26:33.366234Z 01O | ^~ 2026-01-30T04:26:33.366379Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-01-30T04:26:33.366380Z 01O 38 | enum quote_rule_t 2026-01-30T04:26:33.366380Z 01O | ~~~~~^~~~~~~~~~~~ 2026-01-30T04:26:33.366381Z 01O 39 | { 2026-01-30T04:26:33.366381Z 01O | ~ 2026-01-30T04:26:33.366382Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-01-30T04:26:33.366382Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366383Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-01-30T04:26:33.366383Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366384Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-01-30T04:26:33.366385Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366385Z 01O 43 | 2026-01-30T04:26:33.366386Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-01-30T04:26:33.366386Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366391Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-01-30T04:26:33.366391Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366392Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-01-30T04:26:33.366392Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366393Z 01O 47 | 2026-01-30T04:26:33.366393Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-01-30T04:26:33.366394Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366395Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-01-30T04:26:33.366395Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366396Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-01-30T04:26:33.366396Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366397Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-01-30T04:26:33.366402Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366402Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-01-30T04:26:33.366403Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366404Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-01-30T04:26:33.366404Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366405Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:7: note: Assuming the condition is false 2026-01-30T04:26:33.366405Z 01O 1406 | if (freadCleanup()) { 2026-01-30T04:26:33.366406Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.366406Z 01O /builds/Rdatatable/data.table/src/fread.c:1406:3: note: Taking false branch 2026-01-30T04:26:33.366407Z 01O 1406 | if (freadCleanup()) { 2026-01-30T04:26:33.366407Z 01O | ^ 2026-01-30T04:26:33.366408Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.366408Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-01-30T04:26:33.366409Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366409Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-01-30T04:26:33.366410Z 01O 1410 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-01-30T04:26:33.366410Z 01O | ^ 2026-01-30T04:26:33.366411Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:9: note: Assuming 'nth' is <= 'maxth' 2026-01-30T04:26:33.366411Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-01-30T04:26:33.366412Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.366412Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:5: note: Taking false branch 2026-01-30T04:26:33.366413Z 01O 1414 | if (nth > maxth) nth = maxth; 2026-01-30T04:26:33.366414Z 01O | ^ 2026-01-30T04:26:33.366414Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:9: note: Assuming 'nth' is > 0 2026-01-30T04:26:33.366415Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-01-30T04:26:33.366415Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.366415Z 01O /builds/Rdatatable/data.table/src/fread.c:1415:5: note: Taking false branch 2026-01-30T04:26:33.366416Z 01O 1415 | if (nth <= 0) nth += maxth; 2026-01-30T04:26:33.366417Z 01O | ^ 2026-01-30T04:26:33.366444Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:9: note: 'nth' is > 0 2026-01-30T04:26:33.366445Z 01O 1416 | if (nth <= 0) nth = 1; 2026-01-30T04:26:33.366446Z 01O | ^~~ 2026-01-30T04:26:33.366446Z 01O /builds/Rdatatable/data.table/src/fread.c:1416:5: note: Taking false branch 2026-01-30T04:26:33.366447Z 01O 1416 | if (nth <= 0) nth = 1; 2026-01-30T04:26:33.366447Z 01O | ^ 2026-01-30T04:26:33.366456Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:9: note: 'verbose' is false 2026-01-30T04:26:33.366456Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-01-30T04:26:33.366457Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366457Z 01O /builds/Rdatatable/data.table/src/fread.c:1417:5: note: Taking false branch 2026-01-30T04:26:33.366458Z 01O 1417 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-01-30T04:26:33.366459Z 01O | ^ 2026-01-30T04:26:33.366461Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:7: note: Assuming 'NAstrings' is not equal to NULL 2026-01-30T04:26:33.366462Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-01-30T04:26:33.366463Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366504Z 01O /builds/Rdatatable/data.table/src/fread.c:1425:3: note: Taking false branch 2026-01-30T04:26:33.366505Z 01O 1425 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-01-30T04:26:33.366506Z 01O | ^ 2026-01-30T04:26:33.366506Z 01O /builds/Rdatatable/data.table/src/fread.c:1432:3: note: Loop condition is false. Execution continues on line 1455 2026-01-30T04:26:33.366507Z 01O 1432 | while (*nastr) { 2026-01-30T04:26:33.366508Z 01O | ^ 2026-01-30T04:26:33.366508Z 01O /builds/Rdatatable/data.table/src/fread.c:1455:34: note: Assuming field 'logical01' is true 2026-01-30T04:26:33.366509Z 01O 1455 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-01-30T04:26:33.366509Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366510Z 01O /builds/Rdatatable/data.table/src/fread.c:1456:34: note: Assuming field 'logicalYN' is true 2026-01-30T04:26:33.366510Z 01O 1456 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-01-30T04:26:33.366511Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366511Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:7: note: 'verbose' is false 2026-01-30T04:26:33.366512Z 01O 1460 | if (verbose) { 2026-01-30T04:26:33.366512Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366513Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:3: note: Taking false branch 2026-01-30T04:26:33.366513Z 01O 1460 | if (verbose) { 2026-01-30T04:26:33.366514Z 01O | ^ 2026-01-30T04:26:33.366514Z 01O /builds/Rdatatable/data.table/src/fread.c:1479:26: note: Left side of '||' is true 2026-01-30T04:26:33.366515Z 01O 1479 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-01-30T04:26:33.366516Z 01O | ^ 2026-01-30T04:26:33.366575Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:7: note: Assuming 'quote' is not equal to field 'sep' 2026-01-30T04:26:33.366576Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-01-30T04:26:33.366577Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366577Z 01O /builds/Rdatatable/data.table/src/fread.c:1490:25: note: Left side of '&&' is false 2026-01-30T04:26:33.366578Z 01O 1490 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-01-30T04:26:33.366578Z 01O | ^ 2026-01-30T04:26:33.366579Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:7: note: Assuming 'dec' is not equal to field 'sep' 2026-01-30T04:26:33.366579Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366580Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.366580Z 01O /builds/Rdatatable/data.table/src/fread.c:1491:23: note: Left side of '&&' is false 2026-01-30T04:26:33.366581Z 01O 1491 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366582Z 01O | ^ 2026-01-30T04:26:33.366675Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:7: note: Assuming 'quote' is not equal to 'dec' 2026-01-30T04:26:33.366676Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366676Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.366677Z 01O /builds/Rdatatable/data.table/src/fread.c:1492:20: note: Left side of '&&' is false 2026-01-30T04:26:33.366678Z 01O 1492 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-01-30T04:26:33.366678Z 01O | ^ 2026-01-30T04:26:33.366679Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:7: note: 'verbose' is false 2026-01-30T04:26:33.366679Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-01-30T04:26:33.366680Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366680Z 01O /builds/Rdatatable/data.table/src/fread.c:1509:3: note: Taking false branch 2026-01-30T04:26:33.366681Z 01O 1509 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-01-30T04:26:33.366681Z 01O | ^ 2026-01-30T04:26:33.366682Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:7: note: Assuming field 'input' is null 2026-01-30T04:26:33.366682Z 01O 1511 | if (args.input) { 2026-01-30T04:26:33.366683Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.366683Z 01O /builds/Rdatatable/data.table/src/fread.c:1511:3: note: Taking false branch 2026-01-30T04:26:33.366684Z 01O 1511 | if (args.input) { 2026-01-30T04:26:33.366684Z 01O | ^ 2026-01-30T04:26:33.366685Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:12: note: Assuming field 'filename' is null 2026-01-30T04:26:33.366685Z 01O 1518 | else if (args.filename) { 2026-01-30T04:26:33.366686Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.366686Z 01O /builds/Rdatatable/data.table/src/fread.c:1518:8: note: Taking false branch 2026-01-30T04:26:33.366687Z 01O 1518 | else if (args.filename) { 2026-01-30T04:26:33.366687Z 01O | ^ 2026-01-30T04:26:33.366688Z 01O /builds/Rdatatable/data.table/src/fread.c:1586:5: note: Loop condition is false. Exiting loop 2026-01-30T04:26:33.366689Z 01O 1586 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-01-30T04:26:33.366689Z 01O | ^ 2026-01-30T04:26:33.366752Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-01-30T04:26:33.366753Z 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-01-30T04:26:33.366754Z 01O | ^ 2026-01-30T04:26:33.366754Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:7: note: 'verbose' is false 2026-01-30T04:26:33.366755Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-01-30T04:26:33.366755Z 01O | ^~~~~~~ 2026-01-30T04:26:33.366756Z 01O /builds/Rdatatable/data.table/src/fread.c:1603:3: note: Taking false branch 2026-01-30T04:26:33.366756Z 01O 1603 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-01-30T04:26:33.366757Z 01O | ^ 2026-01-30T04:26:33.366757Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:7: note: Assuming 'fileSize' is < 3 2026-01-30T04:26:33.366758Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-01-30T04:26:33.366759Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.366759Z 01O /builds/Rdatatable/data.table/src/fread.c:1604:21: note: Left side of '&&' is false 2026-01-30T04:26:33.366760Z 01O 1604 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-01-30T04:26:33.366760Z 01O | ^ 2026-01-30T04:26:33.366819Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:12: note: 'fileSize' is < 4 2026-01-30T04:26:33.366820Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-01-30T04:26:33.366827Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.366827Z 01O /builds/Rdatatable/data.table/src/fread.c:1609:26: note: Left side of '&&' is false 2026-01-30T04:26:33.366828Z 01O 1609 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-01-30T04:26:33.366828Z 01O | ^ 2026-01-30T04:26:33.366853Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:12: note: Assuming 'fileSize' is < 2 2026-01-30T04:26:33.366854Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-01-30T04:26:33.366855Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.366855Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:26: note: Left side of '&&' is false 2026-01-30T04:26:33.366856Z 01O 1614 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-01-30T04:26:33.366856Z 01O | ^ 2026-01-30T04:26:33.366857Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:7: note: Assuming 'eof' is <= 'sof' 2026-01-30T04:26:33.366857Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-01-30T04:26:33.366858Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.366859Z 01O /builds/Rdatatable/data.table/src/fread.c:1617:17: note: Left side of '&&' is false 2026-01-30T04:26:33.366859Z 01O 1617 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-01-30T04:26:33.366860Z 01O | ^ 2026-01-30T04:26:33.366920Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:7: note: Assuming 'eof' is > 'sof' 2026-01-30T04:26:33.366921Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-01-30T04:26:33.366922Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.366922Z 01O /builds/Rdatatable/data.table/src/fread.c:1623:3: note: Taking false branch 2026-01-30T04:26:33.366923Z 01O 1623 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-01-30T04:26:33.366923Z 01O | ^ 2026-01-30T04:26:33.367025Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:7: note: 'verbose' is false 2026-01-30T04:26:33.367026Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-01-30T04:26:33.367026Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367027Z 01O /builds/Rdatatable/data.table/src/fread.c:1629:3: note: Taking false branch 2026-01-30T04:26:33.367027Z 01O 1629 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-01-30T04:26:33.367028Z 01O | ^ 2026-01-30T04:26:33.367028Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:7: note: Assuming the condition is false 2026-01-30T04:26:33.367029Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-01-30T04:26:33.367030Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367030Z 01O /builds/Rdatatable/data.table/src/fread.c:1637:3: note: Taking false branch 2026-01-30T04:26:33.367031Z 01O 1637 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-01-30T04:26:33.367031Z 01O | ^ 2026-01-30T04:26:33.367032Z 01O /builds/Rdatatable/data.table/src/fread.c:1638:3: note: Loop condition is false. Execution continues on line 1656 2026-01-30T04:26:33.367033Z 01O 1638 | while (ch < sample_end) { 2026-01-30T04:26:33.367033Z 01O | ^ 2026-01-30T04:26:33.367033Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:7: note: 'verbose' is false 2026-01-30T04:26:33.367034Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2026-01-30T04:26:33.367035Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367035Z 01O /builds/Rdatatable/data.table/src/fread.c:1657:3: note: Taking false branch 2026-01-30T04:26:33.367036Z 01O 1657 | if (verbose) DTPRINT(eol_one_r ? 2026-01-30T04:26:33.367036Z 01O | ^ 2026-01-30T04:26:33.367041Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:7: note: Assuming field 'filename' is null 2026-01-30T04:26:33.367041Z 01O 1663 | if (args.filename) { 2026-01-30T04:26:33.367042Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.367042Z 01O /builds/Rdatatable/data.table/src/fread.c:1663:3: note: Taking false branch 2026-01-30T04:26:33.367043Z 01O 1663 | if (args.filename) { 2026-01-30T04:26:33.367043Z 01O | ^ 2026-01-30T04:26:33.367044Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:7: note: 'verbose' is false 2026-01-30T04:26:33.367044Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-01-30T04:26:33.367045Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367045Z 01O /builds/Rdatatable/data.table/src/fread.c:1737:3: note: Taking false branch 2026-01-30T04:26:33.367046Z 01O 1737 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-01-30T04:26:33.367047Z 01O | ^ 2026-01-30T04:26:33.367047Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:7: note: Assuming field 'skipString' is null 2026-01-30T04:26:33.367048Z 01O 1741 | if (args.skipString) { 2026-01-30T04:26:33.367048Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367049Z 01O /builds/Rdatatable/data.table/src/fread.c:1741:3: note: Taking false branch 2026-01-30T04:26:33.367049Z 01O 1741 | if (args.skipString) { 2026-01-30T04:26:33.367050Z 01O | ^ 2026-01-30T04:26:33.367074Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:12: note: Assuming field 'skipNrow' is < 0 2026-01-30T04:26:33.367075Z 01O 1753 | else if (args.skipNrow >= 0) { 2026-01-30T04:26:33.367076Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367076Z 01O /builds/Rdatatable/data.table/src/fread.c:1753:8: note: Taking false branch 2026-01-30T04:26:33.367077Z 01O 1753 | else if (args.skipNrow >= 0) { 2026-01-30T04:26:33.367077Z 01O | ^ 2026-01-30T04:26:33.367135Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:10: note: Assuming 'ch' is >= 'eof' 2026-01-30T04:26:33.367136Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-01-30T04:26:33.367137Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.367137Z 01O /builds/Rdatatable/data.table/src/fread.c:1774:19: note: Left side of '&&' is false 2026-01-30T04:26:33.367138Z 01O 1774 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-01-30T04:26:33.367139Z 01O | ^ 2026-01-30T04:26:33.367139Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:7: note: Assuming 'ch' is < 'eof' 2026-01-30T04:26:33.367140Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-01-30T04:26:33.367141Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.367141Z 01O /builds/Rdatatable/data.table/src/fread.c:1777:3: note: Taking false branch 2026-01-30T04:26:33.367142Z 01O 1777 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-01-30T04:26:33.367142Z 01O | ^ 2026-01-30T04:26:33.367143Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:7: note: 'verbose' is false 2026-01-30T04:26:33.367143Z 01O 1778 | if (verbose) { 2026-01-30T04:26:33.367144Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367144Z 01O /builds/Rdatatable/data.table/src/fread.c:1778:3: note: Taking false branch 2026-01-30T04:26:33.367145Z 01O 1778 | if (verbose) { 2026-01-30T04:26:33.367145Z 01O | ^ 2026-01-30T04:26:33.367195Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: Assuming 'nrowLimit' is not equal to 0 2026-01-30T04:26:33.367196Z 01O 1796 | int jumpLines = nrowLimit == 0 ? 100 : (int)umin(100, nrowLimit); // how many lines from each jump point to use. If nrows>0 is supplied, nJumps is later set to 1. #4029 2026-01-30T04:26:33.367197Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.367201Z 01O /builds/Rdatatable/data.table/src/fread.c:1796:19: note: '?' condition is false 2026-01-30T04:26:33.367204Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:7: note: Assuming 'fill' is not equal to INT_MAX 2026-01-30T04:26:33.367205Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-01-30T04:26:33.367206Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367206Z 01O /builds/Rdatatable/data.table/src/fread.c:1797:3: note: Taking false branch 2026-01-30T04:26:33.367207Z 01O 1797 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-01-30T04:26:33.367207Z 01O | ^ 2026-01-30T04:26:33.367267Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:9: note: 'verbose' is false 2026-01-30T04:26:33.367268Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-01-30T04:26:33.367269Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367269Z 01O /builds/Rdatatable/data.table/src/fread.c:1803:5: note: Taking false branch 2026-01-30T04:26:33.367270Z 01O 1803 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-01-30T04:26:33.367270Z 01O | ^ 2026-01-30T04:26:33.367363Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:9: note: Assuming the condition is false 2026-01-30T04:26:33.367364Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-01-30T04:26:33.367365Z 01O | ^~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367365Z 01O /builds/Rdatatable/data.table/src/fread.c:1805:5: note: Taking false branch 2026-01-30T04:26:33.367366Z 01O 1805 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-01-30T04:26:33.367367Z 01O | ^ 2026-01-30T04:26:33.367367Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: Assuming the condition is false 2026-01-30T04:26:33.367368Z 01O 1823 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-01-30T04:26:33.367368Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.367369Z 01O /builds/Rdatatable/data.table/src/fread.c:1823:20: note: '?' condition is false 2026-01-30T04:26:33.367369Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:11: note: Assuming the condition is true 2026-01-30T04:26:33.367370Z 01O 1825 | if (args.sep == '\0') { 2026-01-30T04:26:33.367370Z 01O | ^~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367371Z 01O /builds/Rdatatable/data.table/src/fread.c:1825:7: note: Taking true branch 2026-01-30T04:26:33.367372Z 01O 1825 | if (args.sep == '\0') { 2026-01-30T04:26:33.367372Z 01O | ^ 2026-01-30T04:26:33.367372Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:13: note: 'verbose' is false 2026-01-30T04:26:33.367373Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-01-30T04:26:33.367374Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367374Z 01O /builds/Rdatatable/data.table/src/fread.c:1826:9: note: Taking false branch 2026-01-30T04:26:33.367375Z 01O 1826 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-01-30T04:26:33.367375Z 01O | ^ 2026-01-30T04:26:33.367376Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-01-30T04:26:33.367376Z 01O 1837 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-01-30T04:26:33.367377Z 01O | ^~ 2026-01-30T04:26:33.367378Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367378Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2026-01-30T04:26:33.367384Z 01O | ^~~~~~~~~~~~~ ~~ 2026-01-30T04:26:33.367420Z 01O /builds/Rdatatable/data.table/src/fread.c:1874:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-01-30T04:26:33.367421Z 01O 1874 | const char *prevLineStart = ch, *lineStart = ch; 2026-01-30T04:26:33.367422Z 01O | ^~~~~~~~~~~~~ ~~ 2026-01-30T04:26:33.367422Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367423Z 01O 2262 | estnrow = 1; 2026-01-30T04:26:33.367423Z 01O | ^ ~ 2026-01-30T04:26:33.367425Z 01O /builds/Rdatatable/data.table/src/fread.c:2262:3: note: Value stored to 'estnrow' is never read 2026-01-30T04:26:33.367426Z 01O 2262 | estnrow = 1; 2026-01-30T04:26:33.367426Z 01O | ^ ~ 2026-01-30T04:26:33.367446Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367447Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-01-30T04:26:33.367447Z 01O | ^ ~ 2026-01-30T04:26:33.367448Z 01O /builds/Rdatatable/data.table/src/fread.c:2263:3: note: Value stored to 'allocnrow' is never read 2026-01-30T04:26:33.367449Z 01O 2263 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-01-30T04:26:33.367449Z 01O | ^ ~ 2026-01-30T04:26:33.367450Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367450Z 01O 2269 | estnrow = allocnrow = sampleLines; 2026-01-30T04:26:33.367451Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367451Z 01O /builds/Rdatatable/data.table/src/fread.c:2269:5: note: Value stored to 'estnrow' is never read 2026-01-30T04:26:33.367452Z 01O 2269 | estnrow = allocnrow = sampleLines; 2026-01-30T04:26:33.367453Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367507Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367508Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2026-01-30T04:26:33.367508Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367509Z 01O /builds/Rdatatable/data.table/src/fread.c:2293:5: note: Value stored to 'estnrow' is never read 2026-01-30T04:26:33.367510Z 01O 2293 | estnrow = allocnrow = nrowLimit; 2026-01-30T04:26:33.367510Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367551Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367551Z 01O 2463 | nth = imin(nJumps, nth); 2026-01-30T04:26:33.367552Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367552Z 01O /builds/Rdatatable/data.table/src/fread.c:2463:3: note: Value stored to 'nth' is never read 2026-01-30T04:26:33.367553Z 01O 2463 | nth = imin(nJumps, nth); 2026-01-30T04:26:33.367554Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.367554Z 01O /builds/Rdatatable/data.table/src/fread.c:2719:21: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] 2026-01-30T04:26:33.367555Z 01O 2719 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-01-30T04:26:33.367556Z 01O | ^~~~~~ 2026-01-30T04:26:33.367556Z 01O /builds/Rdatatable/data.table/src/fread.c:2719:21: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 2026-01-30T04:26:33.367562Z 01O 2719 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-01-30T04:26:33.367563Z 01O | ^~~~~~ 2026-01-30T04:26:33.367702Z 01O /builds/Rdatatable/data.table/src/fread.c:2753:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.367703Z 01O 2753 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-01-30T04:26:33.367704Z 01O | ^ ~~~ 2026-01-30T04:26:33.367705Z 01O /builds/Rdatatable/data.table/src/fread.c:2753:73: note: Value stored to 'tLast' is never read 2026-01-30T04:26:33.367705Z 01O 2753 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-01-30T04:26:33.367706Z 01O | ^ ~~~ 2026-01-30T04:26:33.367757Z 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-01-30T04:26:33.367758Z 01O 1362 | next[p] = tail; 2026-01-30T04:26:33.367758Z 01O | ^ 2026-01-30T04:26:33.367759Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.367759Z 01O 1504 | if (verbose) 2026-01-30T04:26:33.367760Z 01O | ^~~~~~~ 2026-01-30T04:26:33.367760Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-01-30T04:26:33.367761Z 01O 1504 | if (verbose) 2026-01-30T04:26:33.367761Z 01O | ^ 2026-01-30T04:26:33.367762Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-01-30T04:26:33.367762Z 01O 1506 | if (k == 0) { 2026-01-30T04:26:33.367763Z 01O | ^~~~~~ 2026-01-30T04:26:33.367770Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-01-30T04:26:33.367771Z 01O 1506 | if (k == 0) { 2026-01-30T04:26:33.367771Z 01O | ^ 2026-01-30T04:26:33.367772Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-01-30T04:26:33.367772Z 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-01-30T04:26:33.367773Z 01O | ^~~~~~ 2026-01-30T04:26:33.367773Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-01-30T04:26:33.367774Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-01-30T04:26:33.367775Z 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-01-30T04:26:33.367775Z 01O | ^~~~~~ 2026-01-30T04:26:33.367776Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-01-30T04:26:33.367777Z 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-01-30T04:26:33.367777Z 01O | ^ 2026-01-30T04:26:33.367778Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-01-30T04:26:33.367778Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.367779Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.367807Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-01-30T04:26:33.367808Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.367808Z 01O | ^ 2026-01-30T04:26:33.367809Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-01-30T04:26:33.367809Z 01O 1565 | if (nx_mod_k) { 2026-01-30T04:26:33.367810Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.367810Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-01-30T04:26:33.367811Z 01O 1565 | if (nx_mod_k) { 2026-01-30T04:26:33.367811Z 01O | ^ 2026-01-30T04:26:33.367819Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-01-30T04:26:33.367820Z 01O 1572 | bool even = !(k % 2); 2026-01-30T04:26:33.367820Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.367879Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-01-30T04:26:33.367879Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-01-30T04:26:33.367880Z 01O | ^~~~ 2026-01-30T04:26:33.367880Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-01-30T04:26:33.367881Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-01-30T04:26:33.367882Z 01O 1577 | if (!o) { // # nocov start 2026-01-30T04:26:33.367882Z 01O | ^~ 2026-01-30T04:26:33.367883Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-01-30T04:26:33.367883Z 01O 1577 | if (!o) { // # nocov start 2026-01-30T04:26:33.367884Z 01O | ^ 2026-01-30T04:26:33.367884Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-01-30T04:26:33.367885Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-01-30T04:26:33.367885Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.367886Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-01-30T04:26:33.367886Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-01-30T04:26:33.367887Z 01O | ^ 2026-01-30T04:26:33.367887Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-01-30T04:26:33.367888Z 01O 1586 | if (!m) { // # nocov start 2026-01-30T04:26:33.367888Z 01O | ^~ 2026-01-30T04:26:33.367889Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-01-30T04:26:33.367889Z 01O 1586 | if (!m) { // # nocov start 2026-01-30T04:26:33.367890Z 01O | ^ 2026-01-30T04:26:33.367920Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-01-30T04:26:33.367921Z 01O 1592 | if (!n) { // # nocov start 2026-01-30T04:26:33.367921Z 01O | ^~ 2026-01-30T04:26:33.367922Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-01-30T04:26:33.367922Z 01O 1592 | if (!n) { // # nocov start 2026-01-30T04:26:33.367923Z 01O | ^ 2026-01-30T04:26:33.367923Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-01-30T04:26:33.367924Z 01O 1598 | if (!s) { // # nocov start 2026-01-30T04:26:33.367924Z 01O | ^~ 2026-01-30T04:26:33.367925Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-01-30T04:26:33.367925Z 01O 1598 | if (!s) { // # nocov start 2026-01-30T04:26:33.367926Z 01O | ^ 2026-01-30T04:26:33.367928Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-01-30T04:26:33.367928Z 01O 1604 | if (!prev) { // # nocov start 2026-01-30T04:26:33.367929Z 01O | ^~~~~ 2026-01-30T04:26:33.367931Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-01-30T04:26:33.367932Z 01O 1604 | if (!prev) { // # nocov start 2026-01-30T04:26:33.367932Z 01O | ^ 2026-01-30T04:26:33.367933Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-01-30T04:26:33.367933Z 01O 1610 | if (!next) { // # nocov start 2026-01-30T04:26:33.367934Z 01O | ^~~~~ 2026-01-30T04:26:33.367936Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-01-30T04:26:33.367936Z 01O 1610 | if (!next) { // # nocov start 2026-01-30T04:26:33.367937Z 01O | ^ 2026-01-30T04:26:33.367999Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-01-30T04:26:33.367999Z 01O 1616 | if (verbose) 2026-01-30T04:26:33.368000Z 01O | ^~~~~~~ 2026-01-30T04:26:33.368004Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-01-30T04:26:33.368005Z 01O 1616 | if (verbose) 2026-01-30T04:26:33.368005Z 01O | ^ 2026-01-30T04:26:33.368008Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-01-30T04:26:33.368009Z 01O 1619 | for (int j=0; j= 'k' 2026-01-30T04:26:33.368147Z 01O 1356 | for (int i=0; i=0) { 2026-01-30T04:26:33.368223Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.368223Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-01-30T04:26:33.368224Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.368224Z 01O | ^ 2026-01-30T04:26:33.368225Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-01-30T04:26:33.368225Z 01O 1565 | if (nx_mod_k) { 2026-01-30T04:26:33.368226Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.368226Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-01-30T04:26:33.368227Z 01O 1565 | if (nx_mod_k) { 2026-01-30T04:26:33.368227Z 01O | ^ 2026-01-30T04:26:33.368228Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is false 2026-01-30T04:26:33.368228Z 01O 1572 | bool even = !(k % 2); 2026-01-30T04:26:33.368229Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.368231Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is false 2026-01-30T04:26:33.368232Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-01-30T04:26:33.368232Z 01O | ^~~~ 2026-01-30T04:26:33.368233Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is false 2026-01-30T04:26:33.368235Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-01-30T04:26:33.368236Z 01O 1577 | if (!o) { // # nocov start 2026-01-30T04:26:33.368236Z 01O | ^~ 2026-01-30T04:26:33.368237Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-01-30T04:26:33.368237Z 01O 1577 | if (!o) { // # nocov start 2026-01-30T04:26:33.368238Z 01O | ^ 2026-01-30T04:26:33.368281Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-01-30T04:26:33.368282Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-01-30T04:26:33.368282Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.368283Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-01-30T04:26:33.368283Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-01-30T04:26:33.368284Z 01O | ^ 2026-01-30T04:26:33.368284Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-01-30T04:26:33.368285Z 01O 1586 | if (!m) { // # nocov start 2026-01-30T04:26:33.368290Z 01O | ^~ 2026-01-30T04:26:33.368290Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-01-30T04:26:33.368291Z 01O 1586 | if (!m) { // # nocov start 2026-01-30T04:26:33.368291Z 01O | ^ 2026-01-30T04:26:33.368292Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-01-30T04:26:33.368292Z 01O 1592 | if (!n) { // # nocov start 2026-01-30T04:26:33.368293Z 01O | ^~ 2026-01-30T04:26:33.368293Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-01-30T04:26:33.368294Z 01O 1592 | if (!n) { // # nocov start 2026-01-30T04:26:33.368294Z 01O | ^ 2026-01-30T04:26:33.368295Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-01-30T04:26:33.368295Z 01O 1598 | if (!s) { // # nocov start 2026-01-30T04:26:33.368296Z 01O | ^~ 2026-01-30T04:26:33.368296Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-01-30T04:26:33.368297Z 01O 1598 | if (!s) { // # nocov start 2026-01-30T04:26:33.368297Z 01O | ^ 2026-01-30T04:26:33.368300Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-01-30T04:26:33.368300Z 01O 1604 | if (!prev) { // # nocov start 2026-01-30T04:26:33.368301Z 01O | ^~~~~ 2026-01-30T04:26:33.368301Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-01-30T04:26:33.368302Z 01O 1604 | if (!prev) { // # nocov start 2026-01-30T04:26:33.368302Z 01O | ^ 2026-01-30T04:26:33.368363Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-01-30T04:26:33.368364Z 01O 1610 | if (!next) { // # nocov start 2026-01-30T04:26:33.368365Z 01O | ^~~~~ 2026-01-30T04:26:33.368365Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-01-30T04:26:33.368366Z 01O 1610 | if (!next) { // # nocov start 2026-01-30T04:26:33.368366Z 01O | ^ 2026-01-30T04:26:33.368368Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is true 2026-01-30T04:26:33.368369Z 01O 1616 | if (verbose) 2026-01-30T04:26:33.368369Z 01O | ^~~~~~~ 2026-01-30T04:26:33.368370Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking true branch 2026-01-30T04:26:33.368370Z 01O 1616 | if (verbose) 2026-01-30T04:26:33.368371Z 01O | ^ 2026-01-30T04:26:33.368373Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-01-30T04:26:33.368374Z 01O 1619 | for (int j=0; j= 'b' 2026-01-30T04:26:33.368511Z 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-01-30T04:26:33.368569Z 01O | ^~~ 2026-01-30T04:26:33.368569Z 01O /builds/Rdatatable/data.table/src/froll.c:1628:41: note: '?' condition is false 2026-01-30T04:26:33.368570Z 01O /builds/Rdatatable/data.table/src/froll.c:1631:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.368570Z 01O 1631 | for (int i=0; i= 'm' 2026-01-30T04:26:33.368890Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-01-30T04:26:33.368890Z 01O | ^~~~~ 2026-01-30T04:26:33.368891Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:7: note: Returning from 'small' 2026-01-30T04:26:33.368891Z 01O 1391 | if (SMALL(i)) { 2026-01-30T04:26:33.368892Z 01O | ^ 2026-01-30T04:26:33.368907Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-01-30T04:26:33.368908Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-01-30T04:26:33.368908Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.368915Z 01O /builds/Rdatatable/data.table/src/froll.c:1391:3: note: Taking false branch 2026-01-30T04:26:33.368915Z 01O 1391 | if (SMALL(i)) { 2026-01-30T04:26:33.368916Z 01O | ^ 2026-01-30T04:26:33.368916Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:9: note: Assuming the condition is false 2026-01-30T04:26:33.368917Z 01O 1394 | if (m[0] == i) { 2026-01-30T04:26:33.368917Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.368918Z 01O /builds/Rdatatable/data.table/src/froll.c:1394:5: note: Taking false branch 2026-01-30T04:26:33.368918Z 01O 1394 | if (m[0] == i) { 2026-01-30T04:26:33.368919Z 01O | ^ 2026-01-30T04:26:33.368919Z 01O /builds/Rdatatable/data.table/src/froll.c:1397:5: note: Taking true branch 2026-01-30T04:26:33.368920Z 01O 1397 | if (s[0] > 0) { 2026-01-30T04:26:33.368920Z 01O | ^ 2026-01-30T04:26:33.368921Z 01O /builds/Rdatatable/data.table/src/froll.c:1398:14: note: Access of the heap area at negative byte offset 2026-01-30T04:26:33.368921Z 01O 1398 | m[0] = prev[m[0]]; 2026-01-30T04:26:33.368922Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.368958Z 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-01-30T04:26:33.368959Z 01O 1469 | m[0] = prev[m[0]]; 2026-01-30T04:26:33.368959Z 01O | ^ 2026-01-30T04:26:33.368960Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.368960Z 01O 1504 | if (verbose) 2026-01-30T04:26:33.368961Z 01O | ^~~~~~~ 2026-01-30T04:26:33.368961Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-01-30T04:26:33.368962Z 01O 1504 | if (verbose) 2026-01-30T04:26:33.368962Z 01O | ^ 2026-01-30T04:26:33.368963Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-01-30T04:26:33.368963Z 01O 1506 | if (k == 0) { 2026-01-30T04:26:33.368964Z 01O | ^~~~~~ 2026-01-30T04:26:33.368964Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-01-30T04:26:33.368965Z 01O 1506 | if (k == 0) { 2026-01-30T04:26:33.368965Z 01O | ^ 2026-01-30T04:26:33.369015Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-01-30T04:26:33.369016Z 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-01-30T04:26:33.369017Z 01O | ^~~~~~ 2026-01-30T04:26:33.369017Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-01-30T04:26:33.369018Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-01-30T04:26:33.369018Z 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-01-30T04:26:33.369019Z 01O | ^~~~~~ 2026-01-30T04:26:33.369019Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-01-30T04:26:33.369020Z 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-01-30T04:26:33.369021Z 01O | ^ 2026-01-30T04:26:33.369021Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is < 0 2026-01-30T04:26:33.369022Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.369022Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.369023Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking false branch 2026-01-30T04:26:33.369023Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.369024Z 01O | ^ 2026-01-30T04:26:33.369024Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:7: note: Assuming 'nx_mod_k' is 0 2026-01-30T04:26:33.369025Z 01O 1565 | if (nx_mod_k) { 2026-01-30T04:26:33.369025Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.369029Z 01O /builds/Rdatatable/data.table/src/froll.c:1565:3: note: Taking false branch 2026-01-30T04:26:33.369030Z 01O 1565 | if (nx_mod_k) { 2026-01-30T04:26:33.369030Z 01O | ^ 2026-01-30T04:26:33.369106Z 01O /builds/Rdatatable/data.table/src/froll.c:1572:15: note: Assuming the condition is true 2026-01-30T04:26:33.369107Z 01O 1572 | bool even = !(k % 2); 2026-01-30T04:26:33.369107Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.369108Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: 'even' is true 2026-01-30T04:26:33.369108Z 01O 1573 | int h = even ? k/2-1 : (k-1)/2; 2026-01-30T04:26:33.369109Z 01O | ^~~~ 2026-01-30T04:26:33.369109Z 01O /builds/Rdatatable/data.table/src/froll.c:1573:11: note: '?' condition is true 2026-01-30T04:26:33.369110Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:7: note: Assuming 'o' is non-null 2026-01-30T04:26:33.369110Z 01O 1577 | if (!o) { // # nocov start 2026-01-30T04:26:33.369111Z 01O | ^~ 2026-01-30T04:26:33.369115Z 01O /builds/Rdatatable/data.table/src/froll.c:1577:3: note: Taking false branch 2026-01-30T04:26:33.369115Z 01O 1577 | if (!o) { // # nocov start 2026-01-30T04:26:33.369116Z 01O | ^ 2026-01-30T04:26:33.369116Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:7: note: 'nx_mod_k' is 0 2026-01-30T04:26:33.369117Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-01-30T04:26:33.369117Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.369118Z 01O /builds/Rdatatable/data.table/src/froll.c:1581:3: note: Taking false branch 2026-01-30T04:26:33.369118Z 01O 1581 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-01-30T04:26:33.369119Z 01O | ^ 2026-01-30T04:26:33.369119Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:7: note: Assuming 'm' is non-null 2026-01-30T04:26:33.369120Z 01O 1586 | if (!m) { // # nocov start 2026-01-30T04:26:33.369120Z 01O | ^~ 2026-01-30T04:26:33.369122Z 01O /builds/Rdatatable/data.table/src/froll.c:1586:3: note: Taking false branch 2026-01-30T04:26:33.369123Z 01O 1586 | if (!m) { // # nocov start 2026-01-30T04:26:33.369124Z 01O | ^ 2026-01-30T04:26:33.369130Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:7: note: Assuming 'n' is non-null 2026-01-30T04:26:33.369131Z 01O 1592 | if (!n) { // # nocov start 2026-01-30T04:26:33.369131Z 01O | ^~ 2026-01-30T04:26:33.369154Z 01O /builds/Rdatatable/data.table/src/froll.c:1592:3: note: Taking false branch 2026-01-30T04:26:33.369154Z 01O 1592 | if (!n) { // # nocov start 2026-01-30T04:26:33.369155Z 01O | ^ 2026-01-30T04:26:33.369155Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:7: note: Assuming 's' is non-null 2026-01-30T04:26:33.369156Z 01O 1598 | if (!s) { // # nocov start 2026-01-30T04:26:33.369156Z 01O | ^~ 2026-01-30T04:26:33.369157Z 01O /builds/Rdatatable/data.table/src/froll.c:1598:3: note: Taking false branch 2026-01-30T04:26:33.369157Z 01O 1598 | if (!s) { // # nocov start 2026-01-30T04:26:33.369158Z 01O | ^ 2026-01-30T04:26:33.369158Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:7: note: Assuming 'prev' is non-null 2026-01-30T04:26:33.369159Z 01O 1604 | if (!prev) { // # nocov start 2026-01-30T04:26:33.369159Z 01O | ^~~~~ 2026-01-30T04:26:33.369160Z 01O /builds/Rdatatable/data.table/src/froll.c:1604:3: note: Taking false branch 2026-01-30T04:26:33.369160Z 01O 1604 | if (!prev) { // # nocov start 2026-01-30T04:26:33.369161Z 01O | ^ 2026-01-30T04:26:33.369161Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:7: note: Assuming 'next' is non-null 2026-01-30T04:26:33.369162Z 01O 1610 | if (!next) { // # nocov start 2026-01-30T04:26:33.369162Z 01O | ^~~~~ 2026-01-30T04:26:33.369163Z 01O /builds/Rdatatable/data.table/src/froll.c:1610:3: note: Taking false branch 2026-01-30T04:26:33.369163Z 01O 1610 | if (!next) { // # nocov start 2026-01-30T04:26:33.369164Z 01O | ^ 2026-01-30T04:26:33.369169Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:7: note: 'verbose' is false 2026-01-30T04:26:33.369169Z 01O 1616 | if (verbose) 2026-01-30T04:26:33.369170Z 01O | ^~~~~~~ 2026-01-30T04:26:33.369170Z 01O /builds/Rdatatable/data.table/src/froll.c:1616:3: note: Taking false branch 2026-01-30T04:26:33.369171Z 01O 1616 | if (verbose) 2026-01-30T04:26:33.369171Z 01O | ^ 2026-01-30T04:26:33.369238Z 01O /builds/Rdatatable/data.table/src/froll.c:1619:17: note: Assuming 'j' is < 'b' 2026-01-30T04:26:33.369238Z 01O 1619 | for (int j=0; j= 'b' 2026-01-30T04:26:33.369375Z 01O 1619 | for (int j=0; j= 'm' 2026-01-30T04:26:33.369750Z 01O 1384 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-01-30T04:26:33.369750Z 01O | ^~~~~ 2026-01-30T04:26:33.369751Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:7: note: Returning from 'small' 2026-01-30T04:26:33.369752Z 01O 1458 | if (SMALL(i)) { 2026-01-30T04:26:33.369752Z 01O | ^ 2026-01-30T04:26:33.369752Z 01O /builds/Rdatatable/data.table/src/froll.c:1386:18: note: expanded from macro 'SMALL' 2026-01-30T04:26:33.369753Z 01O 1386 | #define SMALL(i) small((i), x, m[0], tail) 2026-01-30T04:26:33.369754Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.369754Z 01O /builds/Rdatatable/data.table/src/froll.c:1458:3: note: Taking false branch 2026-01-30T04:26:33.369755Z 01O 1458 | if (SMALL(i)) { 2026-01-30T04:26:33.369755Z 01O | ^ 2026-01-30T04:26:33.369756Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:9: note: Assuming the condition is false 2026-01-30T04:26:33.369756Z 01O 1461 | if (m[0] == i) { 2026-01-30T04:26:33.369757Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.369757Z 01O /builds/Rdatatable/data.table/src/froll.c:1461:5: note: Taking false branch 2026-01-30T04:26:33.369758Z 01O 1461 | if (m[0] == i) { 2026-01-30T04:26:33.369758Z 01O | ^ 2026-01-30T04:26:33.369759Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: 'even' is true 2026-01-30T04:26:33.369759Z 01O 1465 | } else if (even && n[0] == i) { 2026-01-30T04:26:33.369760Z 01O | ^~~~ 2026-01-30T04:26:33.369760Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:16: note: Left side of '&&' is true 2026-01-30T04:26:33.369835Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:24: note: Assuming the condition is false 2026-01-30T04:26:33.369836Z 01O 1465 | } else if (even && n[0] == i) { 2026-01-30T04:26:33.369837Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.369837Z 01O /builds/Rdatatable/data.table/src/froll.c:1465:12: note: Taking false branch 2026-01-30T04:26:33.369838Z 01O 1465 | } else if (even && n[0] == i) { 2026-01-30T04:26:33.369838Z 01O | ^ 2026-01-30T04:26:33.369839Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:9: note: Assuming the condition is true 2026-01-30T04:26:33.369839Z 01O 1468 | if (s[0] > 0) { 2026-01-30T04:26:33.369840Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.369840Z 01O /builds/Rdatatable/data.table/src/froll.c:1468:5: note: Taking true branch 2026-01-30T04:26:33.369841Z 01O 1468 | if (s[0] > 0) { 2026-01-30T04:26:33.369841Z 01O | ^ 2026-01-30T04:26:33.369842Z 01O /builds/Rdatatable/data.table/src/froll.c:1469:14: note: Access of the heap area at negative byte offset 2026-01-30T04:26:33.369842Z 01O 1469 | m[0] = prev[m[0]]; 2026-01-30T04:26:33.369843Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.369843Z 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-01-30T04:26:33.369844Z 01O 1576 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-01-30T04:26:33.369845Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.369845Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.369846Z 01O 1504 | if (verbose) 2026-01-30T04:26:33.369846Z 01O | ^~~~~~~ 2026-01-30T04:26:33.369847Z 01O /builds/Rdatatable/data.table/src/froll.c:1504:3: note: Taking false branch 2026-01-30T04:26:33.369855Z 01O 1504 | if (verbose) 2026-01-30T04:26:33.369856Z 01O | ^ 2026-01-30T04:26:33.369856Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'k' is not equal to 0 2026-01-30T04:26:33.369857Z 01O 1506 | if (k == 0) { 2026-01-30T04:26:33.369857Z 01O | ^~~~~~ 2026-01-30T04:26:33.369858Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-01-30T04:26:33.369858Z 01O 1506 | if (k == 0) { 2026-01-30T04:26:33.369859Z 01O | ^ 2026-01-30T04:26:33.369910Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Assuming 'k' is not equal to 1 2026-01-30T04:26:33.369911Z 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-01-30T04:26:33.369912Z 01O | ^~~~~~ 2026-01-30T04:26:33.369912Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:7: note: Left side of '||' is false 2026-01-30T04:26:33.369915Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:17: note: Assuming 'k' is not equal to 2 2026-01-30T04:26:33.369916Z 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-01-30T04:26:33.369916Z 01O | ^~~~~~ 2026-01-30T04:26:33.369917Z 01O /builds/Rdatatable/data.table/src/froll.c:1514:3: note: Taking false branch 2026-01-30T04:26:33.369918Z 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-01-30T04:26:33.369918Z 01O | ^ 2026-01-30T04:26:33.369941Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:7: note: Assuming 'hasnf' is >= 0 2026-01-30T04:26:33.369942Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.369942Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.369942Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-01-30T04:26:33.369943Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.369943Z 01O | ^ 2026-01-30T04:26:33.369944Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is >= 'nx' 2026-01-30T04:26:33.369944Z 01O 1547 | for (uint64_t i=0; i= 0 2026-01-30T04:26:33.370103Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.370104Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.370104Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-01-30T04:26:33.370105Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.370105Z 01O | ^ 2026-01-30T04:26:33.370106Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-01-30T04:26:33.370106Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-01-30T04:26:33.370350Z 01O 1547 | for (uint64_t i=0; i= 0 2026-01-30T04:26:33.370771Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.370772Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.370772Z 01O /builds/Rdatatable/data.table/src/froll.c:1546:3: note: Taking true branch 2026-01-30T04:26:33.370773Z 01O 1546 | if (hasnf>=0) { 2026-01-30T04:26:33.370773Z 01O | ^ 2026-01-30T04:26:33.370774Z 01O /builds/Rdatatable/data.table/src/froll.c:1547:24: note: Assuming 'i' is < 'nx' 2026-01-30T04:26:33.370774Z 01O 1547 | for (uint64_t i=0; i= 'nx' 2026-01-30T04:26:33.370835Z 01O 1547 | for (uint64_t i=0; i 0 2026-01-30T04:26:33.371391Z 01O 533 | bool truehasnf = hasnf>0; 2026-01-30T04:26:33.371392Z 01O | ^~~~~~~ 2026-01-30T04:26:33.371392Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:534:24: note: 'i' is < 'nx' 2026-01-30T04:26:33.371393Z 01O 534 | for (uint64_t i=0; i= 'nx' 2026-01-30T04:26:33.371489Z 01O 534 | for (uint64_t i=0; i 0 2026-01-30T04:26:33.371701Z 01O 608 | bool truehasnf = hasnf>0; 2026-01-30T04:26:33.371701Z 01O | ^~~~~~~ 2026-01-30T04:26:33.371702Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:609:24: note: 'i' is < 'nx' 2026-01-30T04:26:33.371702Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-01-30T04:26:33.371900Z 01O 609 | for (uint64_t i=0; i= 'nx' 2026-01-30T04:26:33.372003Z 01O 931 | for (uint64_t i=1; i=0; i--) { 2026-01-30T04:26:33.372319Z 01O | ^ 2026-01-30T04:26:33.372319Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:11: note: Assuming the condition is false 2026-01-30T04:26:33.372320Z 01O 880 | if (i+1 == ik) { 2026-01-30T04:26:33.372320Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.372320Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:880:7: note: Taking false branch 2026-01-30T04:26:33.372321Z 01O 880 | if (i+1 == ik) { 2026-01-30T04:26:33.372322Z 01O | ^ 2026-01-30T04:26:33.372322Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:18: note: Assuming the condition is false 2026-01-30T04:26:33.372323Z 01O 882 | } else if (i+1 < ik) { 2026-01-30T04:26:33.372323Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.372359Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:882:14: note: Taking false branch 2026-01-30T04:26:33.372360Z 01O 882 | } else if (i+1 < ik) { 2026-01-30T04:26:33.372360Z 01O | ^ 2026-01-30T04:26:33.372361Z 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-01-30T04:26:33.372362Z 01O 885 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-01-30T04:26:33.372362Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.372364Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:878:5: note: Loop condition is false. Execution continues on line 889 2026-01-30T04:26:33.372365Z 01O 878 | for (int64_t i=nx-1; i>=0; i--) { 2026-01-30T04:26:33.372365Z 01O | ^ 2026-01-30T04:26:33.372407Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:989:14: note: Returning from 'frolladaptiveNAFast' 2026-01-30T04:26:33.372414Z 01O 989 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-01-30T04:26:33.372414Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.372415Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:10: note: 'nc' is 1 2026-01-30T04:26:33.372416Z 01O 990 | if (!nc) { // total NA for x 2026-01-30T04:26:33.372416Z 01O | ^~ 2026-01-30T04:26:33.372417Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:990:5: note: Taking false branch 2026-01-30T04:26:33.372417Z 01O 990 | if (!nc) { // total NA for x 2026-01-30T04:26:33.372418Z 01O | ^ 2026-01-30T04:26:33.372506Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.372507Z 01O 998 | for (uint64_t i=0; i= 'ngrp' 2026-01-30T04:26:33.372896Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-01-30T04:26:33.373153Z 01O | ^~~~~~~ 2026-01-30T04:26:33.373159Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-01-30T04:26:33.373159Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-01-30T04:26:33.373160Z 01O | ^ 2026-01-30T04:26:33.373160Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-01-30T04:26:33.373161Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-01-30T04:26:33.373161Z 01O | ^ 2026-01-30T04:26:33.373162Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-01-30T04:26:33.373162Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-01-30T04:26:33.373163Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.373163Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-01-30T04:26:33.373164Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-01-30T04:26:33.373165Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-01-30T04:26:33.373165Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.373166Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-01-30T04:26:33.373166Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-01-30T04:26:33.373167Z 01O | ^ 2026-01-30T04:26:33.373167Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-01-30T04:26:33.373168Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-01-30T04:26:33.373168Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.373169Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-01-30T04:26:33.373170Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-01-30T04:26:33.373170Z 01O | ^ 2026-01-30T04:26:33.373226Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-01-30T04:26:33.373227Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-01-30T04:26:33.373264Z 01O | ^~~~~~~ 2026-01-30T04:26:33.373304Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-01-30T04:26:33.373305Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-01-30T04:26:33.373306Z 01O | ^ 2026-01-30T04:26:33.373306Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-01-30T04:26:33.373307Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-01-30T04:26:33.373308Z 01O | ^ 2026-01-30T04:26:33.373405Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-01-30T04:26:33.373406Z 01O 122 | if (!counts || !TMP ) { 2026-01-30T04:26:33.373406Z 01O | ^~~~~~~ 2026-01-30T04:26:33.373407Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-01-30T04:26:33.373407Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-01-30T04:26:33.373408Z 01O 122 | if (!counts || !TMP ) { 2026-01-30T04:26:33.373408Z 01O | ^~~~ 2026-01-30T04:26:33.373409Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-01-30T04:26:33.373409Z 01O 122 | if (!counts || !TMP ) { 2026-01-30T04:26:33.373410Z 01O | ^ 2026-01-30T04:26:33.373410Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-01-30T04:26:33.373411Z 01O 127 | for (int b=0; b= 'howMany' 2026-01-30T04:26:33.373420Z 01O 131 | for (int i=0; i= 'highSize' 2026-01-30T04:26:33.373464Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-01-30T04:26:33.373758Z 01O | ^ 2026-01-30T04:26:33.373759Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-01-30T04:26:33.373760Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-01-30T04:26:33.373760Z 01O | ^ ~ 2026-01-30T04:26:33.373771Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-01-30T04:26:33.373772Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-01-30T04:26:33.373772Z 01O | ^ ~ 2026-01-30T04:26:33.373773Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-01-30T04:26:33.373773Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.373774Z 01O | ^ 2026-01-30T04:26:33.373774Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.373775Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.373776Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.373851Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-01-30T04:26:33.373852Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.373853Z 01O | ^ 2026-01-30T04:26:33.373853Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.373854Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.373854Z 01O | ^ 2026-01-30T04:26:33.373855Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-01-30T04:26:33.373855Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.373856Z 01O | ^ 2026-01-30T04:26:33.373856Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.373857Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.373858Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.373864Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-01-30T04:26:33.373865Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.373866Z 01O | ^ 2026-01-30T04:26:33.373877Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.373877Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.373878Z 01O | ^ 2026-01-30T04:26:33.373878Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-01-30T04:26:33.373879Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.373880Z 01O | ^ 2026-01-30T04:26:33.373880Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.373881Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.373881Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.373882Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-01-30T04:26:33.373883Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.373883Z 01O | ^ 2026-01-30T04:26:33.373883Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-01-30T04:26:33.373884Z 01O 1120 | if (!isVectorAtomic(x)) 2026-01-30T04:26:33.373885Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.373885Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-01-30T04:26:33.373886Z 01O 1120 | if (!isVectorAtomic(x)) 2026-01-30T04:26:33.373886Z 01O | ^ 2026-01-30T04:26:33.373934Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-01-30T04:26:33.373935Z 01O 1122 | if (inherits(x, "factor")) 2026-01-30T04:26:33.373935Z 01O | ^ 2026-01-30T04:26:33.373936Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2026-01-30T04:26:33.373936Z 01O 944 | #define inherits Rf_inherits 2026-01-30T04:26:33.373937Z 01O | ^ 2026-01-30T04:26:33.373937Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-01-30T04:26:33.373938Z 01O 1122 | if (inherits(x, "factor")) 2026-01-30T04:26:33.373938Z 01O | ^ 2026-01-30T04:26:33.373939Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-01-30T04:26:33.373939Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-01-30T04:26:33.373940Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.373949Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-01-30T04:26:33.373949Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-01-30T04:26:33.373950Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.373951Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-01-30T04:26:33.373951Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-01-30T04:26:33.373952Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-01-30T04:26:33.373952Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.373953Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-01-30T04:26:33.373953Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-01-30T04:26:33.373954Z 01O | ^ 2026-01-30T04:26:33.373999Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-01-30T04:26:33.374000Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-01-30T04:26:33.374005Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374005Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-01-30T04:26:33.374006Z 01O 1129 | if (!s) 2026-01-30T04:26:33.374007Z 01O | ^~ 2026-01-30T04:26:33.374007Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-01-30T04:26:33.374008Z 01O 1129 | if (!s) 2026-01-30T04:26:33.374008Z 01O | ^ 2026-01-30T04:26:33.374092Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-01-30T04:26:33.374093Z 01O 1131 | for (int i=0; i= 'n' 2026-01-30T04:26:33.374098Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-01-30T04:26:33.374173Z 01O | ^ 2026-01-30T04:26:33.374174Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-01-30T04:26:33.374174Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-01-30T04:26:33.374175Z 01O | ^ ~ 2026-01-30T04:26:33.374175Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-01-30T04:26:33.374176Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-01-30T04:26:33.374176Z 01O | ^ ~ 2026-01-30T04:26:33.374181Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-01-30T04:26:33.374182Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-01-30T04:26:33.374182Z 01O | ~~~~ ^ 2026-01-30T04:26:33.374193Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-01-30T04:26:33.374194Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.374194Z 01O | ^ 2026-01-30T04:26:33.374195Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.374195Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.374196Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374197Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-01-30T04:26:33.374197Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.374198Z 01O | ^ 2026-01-30T04:26:33.374198Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.374199Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.374199Z 01O | ^ 2026-01-30T04:26:33.374200Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-01-30T04:26:33.374201Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.374201Z 01O | ^ 2026-01-30T04:26:33.374239Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.374240Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.374241Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.374241Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-01-30T04:26:33.374242Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.374242Z 01O | ^ 2026-01-30T04:26:33.374253Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.374253Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.374254Z 01O | ^ 2026-01-30T04:26:33.374324Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-01-30T04:26:33.374325Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.374325Z 01O | ^ 2026-01-30T04:26:33.374326Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.374326Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.374327Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374328Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-01-30T04:26:33.374328Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-01-30T04:26:33.374329Z 01O | ^ 2026-01-30T04:26:33.374329Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-01-30T04:26:33.374330Z 01O 1120 | if (!isVectorAtomic(x)) 2026-01-30T04:26:33.374330Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374331Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-01-30T04:26:33.374331Z 01O 1120 | if (!isVectorAtomic(x)) 2026-01-30T04:26:33.374332Z 01O | ^ 2026-01-30T04:26:33.374433Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-01-30T04:26:33.374438Z 01O 1122 | if (inherits(x, "factor")) 2026-01-30T04:26:33.374439Z 01O | ^ 2026-01-30T04:26:33.374439Z 01O /usr/local/lib/R/include/Rinternals.h:944:19: note: expanded from macro 'inherits' 2026-01-30T04:26:33.374440Z 01O 944 | #define inherits Rf_inherits 2026-01-30T04:26:33.374441Z 01O | ^ 2026-01-30T04:26:33.374441Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-01-30T04:26:33.374442Z 01O 1122 | if (inherits(x, "factor")) 2026-01-30T04:26:33.374442Z 01O | ^ 2026-01-30T04:26:33.374443Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-01-30T04:26:33.374443Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-01-30T04:26:33.374444Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.374444Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-01-30T04:26:33.374445Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-01-30T04:26:33.374445Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.374446Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-01-30T04:26:33.374446Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-01-30T04:26:33.374447Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-01-30T04:26:33.374448Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.374448Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-01-30T04:26:33.374449Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-01-30T04:26:33.374449Z 01O | ^ 2026-01-30T04:26:33.374450Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-01-30T04:26:33.374450Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-01-30T04:26:33.374451Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374451Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-01-30T04:26:33.374452Z 01O 1129 | if (!s) 2026-01-30T04:26:33.374453Z 01O | ^~ 2026-01-30T04:26:33.374453Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-01-30T04:26:33.374454Z 01O 1129 | if (!s) 2026-01-30T04:26:33.374454Z 01O | ^ 2026-01-30T04:26:33.374454Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-01-30T04:26:33.374455Z 01O 1131 | for (int i=0; i= 'n' 2026-01-30T04:26:33.374519Z 01O 1135 | for (int i=0; i' is a garbage value 2026-01-30T04:26:33.374543Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-01-30T04:26:33.374543Z 01O | ~~~~ ^ 2026-01-30T04:26:33.374603Z 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-01-30T04:26:33.374604Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-01-30T04:26:33.374604Z 01O | ^ 2026-01-30T04:26:33.374605Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-01-30T04:26:33.374605Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-01-30T04:26:33.374606Z 01O | ^ 2026-01-30T04:26:33.374606Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-01-30T04:26:33.374607Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-01-30T04:26:33.374608Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.374608Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-01-30T04:26:33.374609Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-01-30T04:26:33.374609Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374612Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-01-30T04:26:33.374613Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-01-30T04:26:33.374613Z 01O | ^ 2026-01-30T04:26:33.374614Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-01-30T04:26:33.374614Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-01-30T04:26:33.374615Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374693Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-01-30T04:26:33.374694Z 01O 54 | if (!ret) 2026-01-30T04:26:33.374694Z 01O | ^~~~ 2026-01-30T04:26:33.374695Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-01-30T04:26:33.374695Z 01O 54 | if (!ret) 2026-01-30T04:26:33.374696Z 01O | ^ 2026-01-30T04:26:33.374696Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-01-30T04:26:33.374697Z 01O 59 | if (!table) { 2026-01-30T04:26:33.374697Z 01O | ^~~~~~ 2026-01-30T04:26:33.374698Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-01-30T04:26:33.374698Z 01O 59 | if (!table) { 2026-01-30T04:26:33.374699Z 01O | ^ 2026-01-30T04:26:33.374699Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-01-30T04:26:33.374705Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-01-30T04:26:33.374705Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374706Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-01-30T04:26:33.374706Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-01-30T04:26:33.374707Z 01O | ^ 2026-01-30T04:26:33.374716Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-01-30T04:26:33.374717Z 01O 71 | ret->shift = HASH_BITS - k; 2026-01-30T04:26:33.374717Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374718Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-01-30T04:26:33.374718Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-01-30T04:26:33.374719Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374720Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-01-30T04:26:33.374720Z 01O 133 | if (!new_h) return NULL; 2026-01-30T04:26:33.374721Z 01O | ^~~~~ 2026-01-30T04:26:33.374721Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-01-30T04:26:33.374722Z 01O 133 | if (!new_h) return NULL; 2026-01-30T04:26:33.374722Z 01O | ^ 2026-01-30T04:26:33.374723Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-01-30T04:26:33.374723Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-01-30T04:26:33.374724Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.374724Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.374725Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-01-30T04:26:33.374725Z 01O | ^ 2026-01-30T04:26:33.374795Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-01-30T04:26:33.374796Z 01O 138 | if (h->table[i].key) 2026-01-30T04:26:33.374796Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374797Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-01-30T04:26:33.374797Z 01O 138 | if (h->table[i].key) 2026-01-30T04:26:33.374798Z 01O | ^ 2026-01-30T04:26:33.374798Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-01-30T04:26:33.374799Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-01-30T04:26:33.374799Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374800Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-01-30T04:26:33.374801Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-01-30T04:26:33.374801Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.374806Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-01-30T04:26:33.374806Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-01-30T04:26:33.374807Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374807Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-01-30T04:26:33.374808Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-01-30T04:26:33.374809Z 01O | ^ 2026-01-30T04:26:33.374816Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-01-30T04:26:33.374817Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-01-30T04:26:33.374818Z 01O | ^ 2026-01-30T04:26:33.374877Z 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-01-30T04:26:33.374884Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-01-30T04:26:33.374884Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-01-30T04:26:33.374966Z 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-01-30T04:26:33.374968Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-01-30T04:26:33.374968Z 01O | ^ 2026-01-30T04:26:33.374969Z 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-01-30T04:26:33.374970Z 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-01-30T04:26:33.374970Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-01-30T04:26:33.374971Z 01O | ^ 2026-01-30T04:26:33.374972Z 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-01-30T04:26:33.374972Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-01-30T04:26:33.374973Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-01-30T04:26:33.374974Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.374974Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-01-30T04:26:33.374975Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-01-30T04:26:33.374976Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.375052Z 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-01-30T04:26:33.375053Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-01-30T04:26:33.375053Z 01O | ^ 2026-01-30T04:26:33.375054Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.375054Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.375055Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.375055Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.375056Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.375056Z 01O | ^ 2026-01-30T04:26:33.375057Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.375057Z 01O 128 | if (verbose) 2026-01-30T04:26:33.375058Z 01O | ^~~~~~~ 2026-01-30T04:26:33.375058Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.375059Z 01O 128 | if (verbose) 2026-01-30T04:26:33.375059Z 01O | ^ 2026-01-30T04:26:33.375121Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.375122Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375122Z 01O | ^ 2026-01-30T04:26:33.375123Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375124Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375124Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.375130Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.375130Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375131Z 01O | ^ 2026-01-30T04:26:33.375131Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375132Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375133Z 01O | ^ 2026-01-30T04:26:33.375133Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.375134Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375134Z 01O | ^ 2026-01-30T04:26:33.375135Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375135Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375136Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.375137Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.375137Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375138Z 01O | ^ 2026-01-30T04:26:33.375198Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375198Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375199Z 01O | ^ 2026-01-30T04:26:33.375200Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.375200Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375201Z 01O | ^ 2026-01-30T04:26:33.375244Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375245Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375245Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.375246Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.375246Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375247Z 01O | ^ 2026-01-30T04:26:33.375247Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.375248Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.375249Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.375249Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.375250Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.375250Z 01O | ^ 2026-01-30T04:26:33.375250Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.375251Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.375362Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-01-30T04:26:33.375683Z 01O | ^ 2026-01-30T04:26:33.375684Z 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-01-30T04:26:33.375685Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-01-30T04:26:33.375685Z 01O | ^ 2026-01-30T04:26:33.375686Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.375686Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.375687Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.375687Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.375688Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.375688Z 01O | ^ 2026-01-30T04:26:33.375689Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.375689Z 01O 128 | if (verbose) 2026-01-30T04:26:33.375690Z 01O | ^~~~~~~ 2026-01-30T04:26:33.375690Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.375691Z 01O 128 | if (verbose) 2026-01-30T04:26:33.375691Z 01O | ^ 2026-01-30T04:26:33.375702Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.375702Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375703Z 01O | ^ 2026-01-30T04:26:33.375723Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375724Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375724Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.375725Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.375726Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375726Z 01O | ^ 2026-01-30T04:26:33.375806Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375807Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375814Z 01O | ^ 2026-01-30T04:26:33.375815Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.375815Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375816Z 01O | ^ 2026-01-30T04:26:33.375820Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375821Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375822Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.375822Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.375823Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375823Z 01O | ^ 2026-01-30T04:26:33.375849Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375850Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375851Z 01O | ^ 2026-01-30T04:26:33.375851Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.375852Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375853Z 01O | ^ 2026-01-30T04:26:33.375853Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.375854Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.375854Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.375855Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.375856Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.375856Z 01O | ^ 2026-01-30T04:26:33.375858Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.375859Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.375860Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.375860Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.375861Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.375861Z 01O | ^ 2026-01-30T04:26:33.375912Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.375913Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.376051Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-01-30T04:26:33.376342Z 01O | ^ 2026-01-30T04:26:33.376348Z 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-01-30T04:26:33.376349Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-01-30T04:26:33.376349Z 01O | ^ 2026-01-30T04:26:33.376350Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.376350Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.376351Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.376411Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.376412Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.376412Z 01O | ^ 2026-01-30T04:26:33.376412Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.376413Z 01O 128 | if (verbose) 2026-01-30T04:26:33.376413Z 01O | ^~~~~~~ 2026-01-30T04:26:33.376414Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.376415Z 01O 128 | if (verbose) 2026-01-30T04:26:33.376415Z 01O | ^ 2026-01-30T04:26:33.376417Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.376418Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.376418Z 01O | ^ 2026-01-30T04:26:33.376438Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.376438Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.376439Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.376440Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.376440Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.376441Z 01O | ^ 2026-01-30T04:26:33.376441Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.376442Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.376443Z 01O | ^ 2026-01-30T04:26:33.376443Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.376444Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.376444Z 01O | ^ 2026-01-30T04:26:33.376497Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.376498Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.376499Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.376499Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.376500Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.376500Z 01O | ^ 2026-01-30T04:26:33.376501Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.376501Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.376502Z 01O | ^ 2026-01-30T04:26:33.376504Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.376505Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.376505Z 01O | ^ 2026-01-30T04:26:33.376558Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.376559Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.376560Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.376561Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.376561Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.376562Z 01O | ^ 2026-01-30T04:26:33.376562Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.376563Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.376563Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.376564Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.376564Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.376565Z 01O | ^ 2026-01-30T04:26:33.376565Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.376566Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.376664Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-01-30T04:26:33.377016Z 01O | ^ 2026-01-30T04:26:33.377022Z 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-01-30T04:26:33.377023Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-01-30T04:26:33.377023Z 01O | ^ 2026-01-30T04:26:33.377024Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.377024Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.377025Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.377099Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.377100Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.377101Z 01O | ^ 2026-01-30T04:26:33.377101Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.377102Z 01O 128 | if (verbose) 2026-01-30T04:26:33.377102Z 01O | ^~~~~~~ 2026-01-30T04:26:33.377103Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.377103Z 01O 128 | if (verbose) 2026-01-30T04:26:33.377104Z 01O | ^ 2026-01-30T04:26:33.377108Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.377109Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377110Z 01O | ^ 2026-01-30T04:26:33.377110Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377111Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377111Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.377112Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.377113Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377113Z 01O | ^ 2026-01-30T04:26:33.377114Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377114Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377115Z 01O | ^ 2026-01-30T04:26:33.377170Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.377171Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377176Z 01O | ^ 2026-01-30T04:26:33.377177Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377177Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377178Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.377178Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.377179Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377180Z 01O | ^ 2026-01-30T04:26:33.377187Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377188Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377188Z 01O | ^ 2026-01-30T04:26:33.377249Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.377249Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377250Z 01O | ^ 2026-01-30T04:26:33.377250Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377251Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377252Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.377252Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.377253Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377253Z 01O | ^ 2026-01-30T04:26:33.377254Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.377254Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.377255Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.377255Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.377256Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.377256Z 01O | ^ 2026-01-30T04:26:33.377259Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.377260Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.377361Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-01-30T04:26:33.377716Z 01O | ^ 2026-01-30T04:26:33.377716Z 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-01-30T04:26:33.377717Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-01-30T04:26:33.377718Z 01O | ^ 2026-01-30T04:26:33.377718Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.377719Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.377719Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.377720Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.377720Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.377721Z 01O | ^ 2026-01-30T04:26:33.377721Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.377722Z 01O 128 | if (verbose) 2026-01-30T04:26:33.377722Z 01O | ^~~~~~~ 2026-01-30T04:26:33.377748Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.377749Z 01O 128 | if (verbose) 2026-01-30T04:26:33.377750Z 01O | ^ 2026-01-30T04:26:33.377753Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.377754Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377754Z 01O | ^ 2026-01-30T04:26:33.377755Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377755Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377756Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.377805Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.377806Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377806Z 01O | ^ 2026-01-30T04:26:33.377807Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377807Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377808Z 01O | ^ 2026-01-30T04:26:33.377817Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.377825Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377825Z 01O | ^ 2026-01-30T04:26:33.377826Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377826Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377827Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.377828Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.377828Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377829Z 01O | ^ 2026-01-30T04:26:33.377904Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377905Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377905Z 01O | ^ 2026-01-30T04:26:33.377909Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.377910Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377911Z 01O | ^ 2026-01-30T04:26:33.377911Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.377912Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.377912Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.377913Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.377914Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.377914Z 01O | ^ 2026-01-30T04:26:33.377916Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.377917Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.377918Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.377918Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.377919Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.377919Z 01O | ^ 2026-01-30T04:26:33.377974Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.377975Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.378053Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-01-30T04:26:33.378460Z 01O | ^ 2026-01-30T04:26:33.378460Z 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-01-30T04:26:33.378461Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-01-30T04:26:33.378462Z 01O | ^ 2026-01-30T04:26:33.378465Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.378465Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.378466Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.378466Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.378467Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.378467Z 01O | ^ 2026-01-30T04:26:33.378469Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.378470Z 01O 128 | if (verbose) 2026-01-30T04:26:33.378470Z 01O | ^~~~~~~ 2026-01-30T04:26:33.378472Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.378473Z 01O 128 | if (verbose) 2026-01-30T04:26:33.378473Z 01O | ^ 2026-01-30T04:26:33.378540Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.378546Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.378547Z 01O | ^ 2026-01-30T04:26:33.378547Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.378548Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.378549Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.378549Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.378550Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.378550Z 01O | ^ 2026-01-30T04:26:33.378553Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.378554Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.378554Z 01O | ^ 2026-01-30T04:26:33.378557Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.378557Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.378558Z 01O | ^ 2026-01-30T04:26:33.378629Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.378630Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.378630Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.378631Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.378632Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.378632Z 01O | ^ 2026-01-30T04:26:33.378635Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.378635Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.378636Z 01O | ^ 2026-01-30T04:26:33.378640Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.378641Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.378642Z 01O | ^ 2026-01-30T04:26:33.378642Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.378643Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.378643Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.378644Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.378645Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.378645Z 01O | ^ 2026-01-30T04:26:33.378646Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.378646Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.378647Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.378647Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.378648Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.378649Z 01O | ^ 2026-01-30T04:26:33.378701Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.378701Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.378786Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-01-30T04:26:33.379128Z 01O | ^ 2026-01-30T04:26:33.379183Z 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-01-30T04:26:33.379188Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-01-30T04:26:33.379189Z 01O | ^ 2026-01-30T04:26:33.379190Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.379190Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.379191Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.379191Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.379192Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.379192Z 01O | ^ 2026-01-30T04:26:33.379193Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.379193Z 01O 128 | if (verbose) 2026-01-30T04:26:33.379194Z 01O | ^~~~~~~ 2026-01-30T04:26:33.379196Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.379196Z 01O 128 | if (verbose) 2026-01-30T04:26:33.379197Z 01O | ^ 2026-01-30T04:26:33.379220Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.379221Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379222Z 01O | ^ 2026-01-30T04:26:33.379222Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379223Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379224Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.379224Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.379225Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379225Z 01O | ^ 2026-01-30T04:26:33.379228Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379228Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379229Z 01O | ^ 2026-01-30T04:26:33.379301Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.379301Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379302Z 01O | ^ 2026-01-30T04:26:33.379302Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379303Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379304Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.379304Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.379305Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379305Z 01O | ^ 2026-01-30T04:26:33.379379Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379380Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379380Z 01O | ^ 2026-01-30T04:26:33.379381Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.379382Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379382Z 01O | ^ 2026-01-30T04:26:33.379383Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379383Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379384Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.379384Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.379390Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379390Z 01O | ^ 2026-01-30T04:26:33.379391Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.379391Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.379392Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.379392Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.379393Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.379393Z 01O | ^ 2026-01-30T04:26:33.379427Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.379428Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.379506Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-01-30T04:26:33.379823Z 01O | ^ 2026-01-30T04:26:33.379824Z 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-01-30T04:26:33.379824Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-01-30T04:26:33.379825Z 01O | ^ 2026-01-30T04:26:33.379825Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.379826Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.379826Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.379827Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.379828Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.379828Z 01O | ^ 2026-01-30T04:26:33.379828Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.379829Z 01O 128 | if (verbose) 2026-01-30T04:26:33.379829Z 01O | ^~~~~~~ 2026-01-30T04:26:33.379873Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.379873Z 01O 128 | if (verbose) 2026-01-30T04:26:33.379874Z 01O | ^ 2026-01-30T04:26:33.379877Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.379878Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379879Z 01O | ^ 2026-01-30T04:26:33.379879Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379880Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379880Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.379927Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.379928Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379928Z 01O | ^ 2026-01-30T04:26:33.379929Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379930Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379930Z 01O | ^ 2026-01-30T04:26:33.379931Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.379931Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379932Z 01O | ^ 2026-01-30T04:26:33.379936Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.379937Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.379937Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.379938Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.379939Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.379939Z 01O | ^ 2026-01-30T04:26:33.380015Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380016Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380016Z 01O | ^ 2026-01-30T04:26:33.380019Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.380020Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380020Z 01O | ^ 2026-01-30T04:26:33.380024Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380025Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380025Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.380026Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.380027Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380027Z 01O | ^ 2026-01-30T04:26:33.380027Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.380028Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.380029Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.380029Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.380030Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.380030Z 01O | ^ 2026-01-30T04:26:33.380085Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.380086Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.380158Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-01-30T04:26:33.380488Z 01O | ^ 2026-01-30T04:26:33.380503Z 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-01-30T04:26:33.380504Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-01-30T04:26:33.380505Z 01O | ^ 2026-01-30T04:26:33.380505Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.380506Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.380507Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.380507Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.380508Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.380508Z 01O | ^ 2026-01-30T04:26:33.380508Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.380509Z 01O 128 | if (verbose) 2026-01-30T04:26:33.380510Z 01O | ^~~~~~~ 2026-01-30T04:26:33.380510Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.380511Z 01O 128 | if (verbose) 2026-01-30T04:26:33.380511Z 01O | ^ 2026-01-30T04:26:33.380548Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.380553Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380554Z 01O | ^ 2026-01-30T04:26:33.380558Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380559Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380560Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.380560Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.380561Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380561Z 01O | ^ 2026-01-30T04:26:33.380598Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380599Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380599Z 01O | ^ 2026-01-30T04:26:33.380600Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.380600Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380601Z 01O | ^ 2026-01-30T04:26:33.380605Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380606Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380606Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.380607Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.380608Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380608Z 01O | ^ 2026-01-30T04:26:33.380653Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380654Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380655Z 01O | ^ 2026-01-30T04:26:33.380655Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.380656Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380656Z 01O | ^ 2026-01-30T04:26:33.380657Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.380658Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.380658Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.380702Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.380703Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.380704Z 01O | ^ 2026-01-30T04:26:33.380704Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.380705Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.380705Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.380706Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.380706Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.380707Z 01O | ^ 2026-01-30T04:26:33.380707Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.380708Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.380798Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-01-30T04:26:33.381170Z 01O | ^ 2026-01-30T04:26:33.381171Z 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-01-30T04:26:33.381172Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-01-30T04:26:33.381172Z 01O | ^ 2026-01-30T04:26:33.381173Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.381174Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.381174Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.381179Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.381180Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.381180Z 01O | ^ 2026-01-30T04:26:33.381183Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.381183Z 01O 128 | if (verbose) 2026-01-30T04:26:33.381184Z 01O | ^~~~~~~ 2026-01-30T04:26:33.381184Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.381185Z 01O 128 | if (verbose) 2026-01-30T04:26:33.381185Z 01O | ^ 2026-01-30T04:26:33.381237Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.381238Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381238Z 01O | ^ 2026-01-30T04:26:33.381239Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381239Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381240Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.381247Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.381248Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381248Z 01O | ^ 2026-01-30T04:26:33.381249Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381249Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381250Z 01O | ^ 2026-01-30T04:26:33.381373Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.381373Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381374Z 01O | ^ 2026-01-30T04:26:33.381374Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381375Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381376Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.381376Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.381377Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381377Z 01O | ^ 2026-01-30T04:26:33.381378Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381378Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381379Z 01O | ^ 2026-01-30T04:26:33.381380Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.381380Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381381Z 01O | ^ 2026-01-30T04:26:33.381413Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381414Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381415Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.381415Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.381416Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381416Z 01O | ^ 2026-01-30T04:26:33.381417Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.381417Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.381423Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.381424Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.381425Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.381425Z 01O | ^ 2026-01-30T04:26:33.381425Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.381426Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.381569Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-01-30T04:26:33.381797Z 01O | ^ 2026-01-30T04:26:33.381873Z 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-01-30T04:26:33.381874Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-01-30T04:26:33.381874Z 01O | ^ 2026-01-30T04:26:33.381875Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.381875Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.381876Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.381876Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.381877Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.381877Z 01O | ^ 2026-01-30T04:26:33.381878Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.381878Z 01O 128 | if (verbose) 2026-01-30T04:26:33.381879Z 01O | ^~~~~~~ 2026-01-30T04:26:33.381879Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.381880Z 01O 128 | if (verbose) 2026-01-30T04:26:33.381880Z 01O | ^ 2026-01-30T04:26:33.381933Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.381934Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381935Z 01O | ^ 2026-01-30T04:26:33.381935Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381936Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381936Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.381946Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.381947Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381947Z 01O | ^ 2026-01-30T04:26:33.381950Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.381951Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.381952Z 01O | ^ 2026-01-30T04:26:33.381952Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.381953Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.381954Z 01O | ^ 2026-01-30T04:26:33.382019Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382019Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382020Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.382021Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.382021Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382022Z 01O | ^ 2026-01-30T04:26:33.382022Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382023Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382023Z 01O | ^ 2026-01-30T04:26:33.382026Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.382027Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382027Z 01O | ^ 2026-01-30T04:26:33.382035Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382036Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382036Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.382037Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.382038Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382038Z 01O | ^ 2026-01-30T04:26:33.382039Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.382039Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.382040Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.382040Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.382041Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.382041Z 01O | ^ 2026-01-30T04:26:33.382129Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.382129Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.382162Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-01-30T04:26:33.382479Z 01O | ^ 2026-01-30T04:26:33.382510Z 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-01-30T04:26:33.382511Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-01-30T04:26:33.382512Z 01O | ^ 2026-01-30T04:26:33.382513Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-01-30T04:26:33.382513Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.382514Z 01O | ^~~~~~~~~~~~~ 2026-01-30T04:26:33.382514Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-01-30T04:26:33.382515Z 01O 124 | if (!xlength(obj)) 2026-01-30T04:26:33.382515Z 01O | ^ 2026-01-30T04:26:33.382518Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-01-30T04:26:33.382518Z 01O 128 | if (verbose) 2026-01-30T04:26:33.382519Z 01O | ^~~~~~~ 2026-01-30T04:26:33.382519Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-01-30T04:26:33.382520Z 01O 128 | if (verbose) 2026-01-30T04:26:33.382520Z 01O | ^ 2026-01-30T04:26:33.382571Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.382572Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382572Z 01O | ^ 2026-01-30T04:26:33.382573Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382573Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382574Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.382575Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.382575Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382576Z 01O | ^ 2026-01-30T04:26:33.382587Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382587Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382588Z 01O | ^ 2026-01-30T04:26:33.382589Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.382594Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382594Z 01O | ^ 2026-01-30T04:26:33.382670Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382671Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382672Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.382672Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-01-30T04:26:33.382673Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382673Z 01O | ^ 2026-01-30T04:26:33.382676Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382677Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382678Z 01O | ^ 2026-01-30T04:26:33.382678Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-01-30T04:26:33.382679Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382679Z 01O | ^ 2026-01-30T04:26:33.382682Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.382683Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.382684Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.382684Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-01-30T04:26:33.382685Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-01-30T04:26:33.382686Z 01O | ^ 2026-01-30T04:26:33.382738Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-01-30T04:26:33.382739Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.382739Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.382739Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-01-30T04:26:33.382740Z 01O 138 | if (obj_scalar) { 2026-01-30T04:26:33.382740Z 01O | ^ 2026-01-30T04:26:33.382741Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-01-30T04:26:33.382742Z 01O 151 | for (int i=0; i= 'nx' 2026-01-30T04:26:33.382855Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-01-30T04:26:33.383178Z 01O | ^ 2026-01-30T04:26:33.383179Z 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-01-30T04:26:33.383179Z 01O 136 | SEXP x = R_NilValue; 2026-01-30T04:26:33.383180Z 01O | ^ ~~~~~~~~~~ 2026-01-30T04:26:33.383236Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-01-30T04:26:33.383236Z 01O 136 | SEXP x = R_NilValue; 2026-01-30T04:26:33.383237Z 01O | ^ ~~~~~~~~~~ 2026-01-30T04:26:33.383275Z 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-01-30T04:26:33.383276Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-01-30T04:26:33.383277Z 01O | ^ 2026-01-30T04:26:33.383366Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-01-30T04:26:33.383367Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-01-30T04:26:33.383368Z 01O | ^ 2026-01-30T04:26:33.383368Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-01-30T04:26:33.383369Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-01-30T04:26:33.383369Z 01O | ^ 2026-01-30T04:26:33.383370Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-01-30T04:26:33.383370Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-01-30T04:26:33.383371Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383371Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-01-30T04:26:33.383372Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-01-30T04:26:33.383372Z 01O | ^ 2026-01-30T04:26:33.383432Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-01-30T04:26:33.383433Z 01O 131 | if (length(throttle)) { 2026-01-30T04:26:33.383433Z 01O | ^ 2026-01-30T04:26:33.383434Z 01O /usr/local/lib/R/include/Rinternals.h:999:20: note: expanded from macro 'length' 2026-01-30T04:26:33.383440Z 01O 999 | #define length(x) Rf_length(x) 2026-01-30T04:26:33.383440Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.383443Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-01-30T04:26:33.383443Z 01O 131 | if (length(throttle)) { 2026-01-30T04:26:33.383444Z 01O | ^ 2026-01-30T04:26:33.383451Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-01-30T04:26:33.383452Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-01-30T04:26:33.383452Z 01O | ^~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383453Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-01-30T04:26:33.383453Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-01-30T04:26:33.383454Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-01-30T04:26:33.383455Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383455Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-01-30T04:26:33.383456Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-01-30T04:26:33.383456Z 01O | ^ 2026-01-30T04:26:33.383457Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-01-30T04:26:33.383457Z 01O 138 | initDTthreads(); 2026-01-30T04:26:33.383458Z 01O | ^~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383499Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-01-30T04:26:33.383499Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-01-30T04:26:33.383500Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383501Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-01-30T04:26:33.383501Z 01O 14 | const char *val = getenv(name); 2026-01-30T04:26:33.383502Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.383504Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-01-30T04:26:33.383505Z 01O 14 | const char *val = getenv(name); 2026-01-30T04:26:33.383505Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.383508Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-01-30T04:26:33.383508Z 01O 14 | const char *val = getenv(name); 2026-01-30T04:26:33.383509Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.383510Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-01-30T04:26:33.383510Z 01O 15 | if (val == NULL) return def; 2026-01-30T04:26:33.383511Z 01O | ^~~ 2026-01-30T04:26:33.383518Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-01-30T04:26:33.383518Z 01O 15 | if (val == NULL) return def; 2026-01-30T04:26:33.383519Z 01O | ^ 2026-01-30T04:26:33.383519Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-01-30T04:26:33.383520Z 01O 17 | if (nchar == 0) return def; 2026-01-30T04:26:33.383521Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.383521Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-01-30T04:26:33.383522Z 01O 17 | if (nchar == 0) return def; 2026-01-30T04:26:33.383522Z 01O | ^ 2026-01-30T04:26:33.383575Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-01-30T04:26:33.383575Z 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-01-30T04:26:33.383576Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383581Z 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-01-30T04:26:33.383582Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-01-30T04:26:33.383583Z 01O | ^ 2026-01-30T04:26:33.383583Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-01-30T04:26:33.383583Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-01-30T04:26:33.383584Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383592Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-01-30T04:26:33.383593Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-01-30T04:26:33.383594Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383668Z 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-01-30T04:26:33.383669Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-01-30T04:26:33.383670Z 01O | ^ ~~~~~ 2026-01-30T04:26:33.383670Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-01-30T04:26:33.383671Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-01-30T04:26:33.383671Z 01O | ^ 2026-01-30T04:26:33.383702Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383703Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383704Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-01-30T04:26:33.383705Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-01-30T04:26:33.383706Z 01O | ^ 2026-01-30T04:26:33.383706Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383707Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383707Z 01O | ^ 2026-01-30T04:26:33.383781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-01-30T04:26:33.383782Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-01-30T04:26:33.383782Z 01O | ^ 2026-01-30T04:26:33.383783Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383783Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383784Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.383784Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-01-30T04:26:33.383785Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-01-30T04:26:33.383785Z 01O | ^ 2026-01-30T04:26:33.383789Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383789Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383790Z 01O | ^ 2026-01-30T04:26:33.383791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-01-30T04:26:33.383791Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-01-30T04:26:33.383792Z 01O | ^ 2026-01-30T04:26:33.383855Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383856Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383863Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-01-30T04:26:33.383865Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-01-30T04:26:33.383865Z 01O | ^ 2026-01-30T04:26:33.383865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-01-30T04:26:33.383866Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-01-30T04:26:33.383867Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-01-30T04:26:33.383877Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-01-30T04:26:33.383878Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-01-30T04:26:33.383878Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-01-30T04:26:33.383879Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-01-30T04:26:33.383880Z 01O | ^ 2026-01-30T04:26:33.383880Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-01-30T04:26:33.383881Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-01-30T04:26:33.383882Z 01O | ^ 2026-01-30T04:26:33.383938Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383938Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383939Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.383940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-01-30T04:26:33.383940Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-01-30T04:26:33.383941Z 01O | ^ 2026-01-30T04:26:33.383944Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383945Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383946Z 01O | ^ 2026-01-30T04:26:33.383946Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-01-30T04:26:33.383947Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-01-30T04:26:33.383947Z 01O | ^ 2026-01-30T04:26:33.383956Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383956Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383957Z 01O | ^~~~~~~~~~~~ 2026-01-30T04:26:33.383958Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-01-30T04:26:33.383958Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-01-30T04:26:33.383959Z 01O | ^ 2026-01-30T04:26:33.383996Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.383997Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.383998Z 01O | ^ 2026-01-30T04:26:33.383999Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-01-30T04:26:33.383999Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-01-30T04:26:33.384000Z 01O | ^ 2026-01-30T04:26:33.384004Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-01-30T04:26:33.384009Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-01-30T04:26:33.384009Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.384010Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-01-30T04:26:33.384011Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-01-30T04:26:33.384011Z 01O | ^ 2026-01-30T04:26:33.384012Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-01-30T04:26:33.384012Z 01O 13 | if (!length(l)) return(l); 2026-01-30T04:26:33.384013Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.384039Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-01-30T04:26:33.384040Z 01O 13 | if (!length(l)) return(l); 2026-01-30T04:26:33.384041Z 01O | ^ 2026-01-30T04:26:33.384049Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-01-30T04:26:33.384049Z 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-01-30T04:26:33.384050Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.384111Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-01-30T04:26:33.384112Z 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-01-30T04:26:33.384113Z 01O | ^ 2026-01-30T04:26:33.384113Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-01-30T04:26:33.384114Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-01-30T04:26:33.384114Z 01O | ^~~~ 2026-01-30T04:26:33.384115Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-01-30T04:26:33.384115Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-01-30T04:26:33.384116Z 01O | ^ 2026-01-30T04:26:33.384116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-01-30T04:26:33.384117Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-01-30T04:26:33.384117Z 01O | ^~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.384118Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-01-30T04:26:33.384119Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-01-30T04:26:33.384119Z 01O | ^~~~~ 2026-01-30T04:26:33.384180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-01-30T04:26:33.384181Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-01-30T04:26:33.384182Z 01O | ^ 2026-01-30T04:26:33.384182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-01-30T04:26:33.384183Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.384183Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.384186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.384187Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.384188Z 01O | ^ 2026-01-30T04:26:33.384188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-01-30T04:26:33.384189Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.384189Z 01O | ^ 2026-01-30T04:26:33.384190Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.384190Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.384196Z 01O | ^ 2026-01-30T04:26:33.384246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-01-30T04:26:33.384247Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.384247Z 01O | ^ 2026-01-30T04:26:33.384248Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-01-30T04:26:33.384248Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.384249Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.384252Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-01-30T04:26:33.384253Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.384253Z 01O | ^ 2026-01-30T04:26:33.384254Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-01-30T04:26:33.384254Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.384255Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.384255Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-01-30T04:26:33.384256Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.384256Z 01O | ^ 2026-01-30T04:26:33.384259Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-01-30T04:26:33.384259Z 01O 37 | if (fill) { 2026-01-30T04:26:33.384260Z 01O | ^~~~ 2026-01-30T04:26:33.384260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-01-30T04:26:33.384261Z 01O 37 | if (fill) { 2026-01-30T04:26:33.384261Z 01O | ^ 2026-01-30T04:26:33.384262Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-01-30T04:26:33.384262Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.384263Z 01O | ^~~~ 2026-01-30T04:26:33.384314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-01-30T04:26:33.384314Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.384315Z 01O | ^ 2026-01-30T04:26:33.384343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-01-30T04:26:33.384343Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.384344Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.384345Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-01-30T04:26:33.384345Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.384346Z 01O | ^ 2026-01-30T04:26:33.384346Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-01-30T04:26:33.384347Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.384348Z 01O | ^~~~~~ 2026-01-30T04:26:33.384348Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-01-30T04:26:33.384349Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.384349Z 01O | ^ 2026-01-30T04:26:33.384395Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-01-30T04:26:33.384396Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.384401Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.384401Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-01-30T04:26:33.384402Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.384407Z 01O | ^ 2026-01-30T04:26:33.384408Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-01-30T04:26:33.384408Z 01O 49 | for (int j=0; j0 checked above 2026-01-30T04:26:33.384446Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.384447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-01-30T04:26:33.384447Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.384448Z 01O | ^ 2026-01-30T04:26:33.384448Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-01-30T04:26:33.384449Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.384449Z 01O | ^~~~~~~ 2026-01-30T04:26:33.384450Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-01-30T04:26:33.384450Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.384451Z 01O | ^ 2026-01-30T04:26:33.384451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-01-30T04:26:33.384452Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.384452Z 01O | ^~~~ 2026-01-30T04:26:33.384453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-01-30T04:26:33.384526Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-01-30T04:26:33.384526Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.384527Z 01O | ^~~~ 2026-01-30T04:26:33.384527Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-01-30T04:26:33.384528Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.384529Z 01O | ^ 2026-01-30T04:26:33.384531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-01-30T04:26:33.384531Z 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-01-30T04:26:33.384532Z 01O | ^~~~ 2026-01-30T04:26:33.384535Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-01-30T04:26:33.384535Z 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-01-30T04:26:33.384536Z 01O | ^ 2026-01-30T04:26:33.384538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-01-30T04:26:33.384539Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.384540Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.384614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-01-30T04:26:33.384615Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.384616Z 01O | ^ 2026-01-30T04:26:33.384616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.384617Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.384622Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.384623Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-01-30T04:26:33.384626Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-01-30T04:26:33.384626Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.384627Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.384627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-01-30T04:26:33.384628Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.384629Z 01O | ^ 2026-01-30T04:26:33.384631Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-01-30T04:26:33.384632Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.384632Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.384633Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-01-30T04:26:33.384633Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.384634Z 01O | ^ 2026-01-30T04:26:33.384634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-01-30T04:26:33.384635Z 01O 83 | int nuniq=0; 2026-01-30T04:26:33.384636Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.384706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-01-30T04:26:33.384707Z 01O 85 | for (int i=0; i0 checked above 2026-01-30T04:26:33.385223Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.385225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.385226Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.385227Z 01O | ^ 2026-01-30T04:26:33.385267Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-01-30T04:26:33.385268Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.385268Z 01O | ^ 2026-01-30T04:26:33.385269Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.385269Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.385270Z 01O | ^ 2026-01-30T04:26:33.385270Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-01-30T04:26:33.385271Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.385272Z 01O | ^ 2026-01-30T04:26:33.385274Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-01-30T04:26:33.385275Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.385276Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.385276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-01-30T04:26:33.385277Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.385278Z 01O | ^ 2026-01-30T04:26:33.385278Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-01-30T04:26:33.385279Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.385279Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.385302Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-01-30T04:26:33.385303Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.385304Z 01O | ^ 2026-01-30T04:26:33.385304Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-01-30T04:26:33.385305Z 01O 37 | if (fill) { 2026-01-30T04:26:33.385305Z 01O | ^~~~ 2026-01-30T04:26:33.385306Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-01-30T04:26:33.385306Z 01O 37 | if (fill) { 2026-01-30T04:26:33.385307Z 01O | ^ 2026-01-30T04:26:33.385331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-01-30T04:26:33.385332Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.385333Z 01O | ^~~~ 2026-01-30T04:26:33.385333Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-01-30T04:26:33.385334Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.385334Z 01O | ^ 2026-01-30T04:26:33.385376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-01-30T04:26:33.385381Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.385382Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.385389Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-01-30T04:26:33.385390Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.385391Z 01O | ^ 2026-01-30T04:26:33.385391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-01-30T04:26:33.385392Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.385392Z 01O | ^~~~~~ 2026-01-30T04:26:33.385393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-01-30T04:26:33.385393Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.385394Z 01O | ^ 2026-01-30T04:26:33.385421Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-01-30T04:26:33.385422Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.385423Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.385429Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-01-30T04:26:33.385430Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.385431Z 01O | ^ 2026-01-30T04:26:33.385431Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-01-30T04:26:33.385432Z 01O 49 | for (int j=0; j0 checked above 2026-01-30T04:26:33.385460Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.385475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-01-30T04:26:33.385476Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.385476Z 01O | ^ 2026-01-30T04:26:33.385477Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-01-30T04:26:33.385477Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.385478Z 01O | ^~~~~~~ 2026-01-30T04:26:33.385478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-01-30T04:26:33.385479Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.385479Z 01O | ^ 2026-01-30T04:26:33.385542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-01-30T04:26:33.385543Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.385544Z 01O | ^~~~ 2026-01-30T04:26:33.385544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-01-30T04:26:33.385545Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-01-30T04:26:33.385545Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.385546Z 01O | ^~~~ 2026-01-30T04:26:33.385546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-01-30T04:26:33.385552Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.385552Z 01O | ^ 2026-01-30T04:26:33.385587Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-01-30T04:26:33.385588Z 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-01-30T04:26:33.385588Z 01O | ^~~~ 2026-01-30T04:26:33.385589Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-01-30T04:26:33.385590Z 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-01-30T04:26:33.385590Z 01O | ^ 2026-01-30T04:26:33.385593Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-01-30T04:26:33.385593Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.385594Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.385610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-01-30T04:26:33.385611Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.385611Z 01O | ^ 2026-01-30T04:26:33.385612Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.385613Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.385613Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.385614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-01-30T04:26:33.385661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-01-30T04:26:33.385662Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.385662Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.385663Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-01-30T04:26:33.385664Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.385664Z 01O | ^ 2026-01-30T04:26:33.385670Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-01-30T04:26:33.385671Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.385672Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.385672Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-01-30T04:26:33.385673Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.385673Z 01O | ^ 2026-01-30T04:26:33.385674Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-01-30T04:26:33.385675Z 01O 85 | for (int i=0; i= 'thisncol' 2026-01-30T04:26:33.385870Z 01O 92 | for (int j=0; j 'ncol' 2026-01-30T04:26:33.386017Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-01-30T04:26:33.386018Z 01O | ^~~~~~ 2026-01-30T04:26:33.386018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-01-30T04:26:33.386019Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-01-30T04:26:33.386019Z 01O | ^ 2026-01-30T04:26:33.386020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-01-30T04:26:33.386020Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-01-30T04:26:33.386021Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.386091Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-01-30T04:26:33.386092Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-01-30T04:26:33.386093Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.386093Z 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-01-30T04:26:33.386094Z 01O 153 | for (int j=0; j0 checked above 2026-01-30T04:26:33.386590Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.386591Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.386591Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.386592Z 01O | ^ 2026-01-30T04:26:33.386595Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-01-30T04:26:33.386595Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.386596Z 01O | ^ 2026-01-30T04:26:33.386596Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.386597Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.386597Z 01O | ^ 2026-01-30T04:26:33.386598Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-01-30T04:26:33.386598Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.386599Z 01O | ^ 2026-01-30T04:26:33.386644Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-01-30T04:26:33.386645Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.386646Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.386646Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-01-30T04:26:33.386647Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.386647Z 01O | ^ 2026-01-30T04:26:33.386648Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-01-30T04:26:33.386648Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.386649Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.386649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-01-30T04:26:33.386655Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.386655Z 01O | ^ 2026-01-30T04:26:33.386656Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-01-30T04:26:33.386657Z 01O 37 | if (fill) { 2026-01-30T04:26:33.386657Z 01O | ^~~~ 2026-01-30T04:26:33.386657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-01-30T04:26:33.386658Z 01O 37 | if (fill) { 2026-01-30T04:26:33.386658Z 01O | ^ 2026-01-30T04:26:33.386666Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-01-30T04:26:33.386666Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.386667Z 01O | ^~~~ 2026-01-30T04:26:33.386667Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-01-30T04:26:33.386668Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.386669Z 01O | ^ 2026-01-30T04:26:33.386760Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-01-30T04:26:33.386761Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.386762Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.386763Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-01-30T04:26:33.386773Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.386774Z 01O | ^ 2026-01-30T04:26:33.386775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-01-30T04:26:33.386775Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.386776Z 01O | ^~~~~~ 2026-01-30T04:26:33.386776Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-01-30T04:26:33.386777Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.386777Z 01O | ^ 2026-01-30T04:26:33.386780Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-01-30T04:26:33.386781Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.386781Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.386789Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-01-30T04:26:33.386790Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.386791Z 01O | ^ 2026-01-30T04:26:33.386791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-01-30T04:26:33.386792Z 01O 49 | for (int j=0; j0 checked above 2026-01-30T04:26:33.386853Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.386853Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-01-30T04:26:33.386854Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.386855Z 01O | ^ 2026-01-30T04:26:33.386855Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-01-30T04:26:33.386862Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.386863Z 01O | ^~~~~~~ 2026-01-30T04:26:33.386863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-01-30T04:26:33.386864Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.386864Z 01O | ^ 2026-01-30T04:26:33.386871Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-01-30T04:26:33.386872Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.386873Z 01O | ^~~~ 2026-01-30T04:26:33.386873Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-01-30T04:26:33.386874Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-01-30T04:26:33.386874Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.386875Z 01O | ^~~~ 2026-01-30T04:26:33.386954Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-01-30T04:26:33.386955Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.386955Z 01O | ^ 2026-01-30T04:26:33.386959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-01-30T04:26:33.386959Z 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-01-30T04:26:33.386960Z 01O | ^~~~ 2026-01-30T04:26:33.386961Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-01-30T04:26:33.386961Z 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-01-30T04:26:33.386962Z 01O | ^ 2026-01-30T04:26:33.386968Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-01-30T04:26:33.386969Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.386970Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.386970Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-01-30T04:26:33.386971Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.386972Z 01O | ^ 2026-01-30T04:26:33.386972Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.386973Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.386973Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.387000Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-01-30T04:26:33.387001Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-01-30T04:26:33.387002Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.387002Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.387004Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-01-30T04:26:33.387005Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.387006Z 01O | ^ 2026-01-30T04:26:33.387022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-01-30T04:26:33.387022Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.387023Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.387023Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-01-30T04:26:33.387024Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.387025Z 01O | ^ 2026-01-30T04:26:33.387030Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-01-30T04:26:33.387030Z 01O 85 | for (int i=0; i= 'thisncol' 2026-01-30T04:26:33.387190Z 01O 92 | for (int j=0; j= 'thisncol' 2026-01-30T04:26:33.387342Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-01-30T04:26:33.387353Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.387380Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-01-30T04:26:33.387381Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-01-30T04:26:33.387381Z 01O | ^ 2026-01-30T04:26:33.387382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-01-30T04:26:33.387382Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-01-30T04:26:33.387447Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.387447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-01-30T04:26:33.387448Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-01-30T04:26:33.387448Z 01O | ^ 2026-01-30T04:26:33.387455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-01-30T04:26:33.387456Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.387456Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.387457Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-01-30T04:26:33.387458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-01-30T04:26:33.387458Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.387459Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.387459Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-01-30T04:26:33.387460Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.387460Z 01O | ^ 2026-01-30T04:26:33.387461Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-01-30T04:26:33.387462Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.387462Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.387482Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-01-30T04:26:33.387483Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.387483Z 01O | ^ 2026-01-30T04:26:33.387494Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-01-30T04:26:33.387495Z 01O 142 | for (int i=0; i= 'ncol' 2026-01-30T04:26:33.387543Z 01O 143 | for (int i=0; i0 checked above 2026-01-30T04:26:33.388235Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.388242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.388243Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.388243Z 01O | ^ 2026-01-30T04:26:33.388244Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-01-30T04:26:33.388244Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.388245Z 01O | ^ 2026-01-30T04:26:33.388245Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.388246Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.388246Z 01O | ^ 2026-01-30T04:26:33.388251Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-01-30T04:26:33.388252Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.388253Z 01O | ^ 2026-01-30T04:26:33.388312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-01-30T04:26:33.388313Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.388314Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.388317Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-01-30T04:26:33.388317Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.388318Z 01O | ^ 2026-01-30T04:26:33.388318Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-01-30T04:26:33.388319Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.388320Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.388320Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-01-30T04:26:33.388321Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.388321Z 01O | ^ 2026-01-30T04:26:33.388323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-01-30T04:26:33.388324Z 01O 37 | if (fill) { 2026-01-30T04:26:33.388324Z 01O | ^~~~ 2026-01-30T04:26:33.388325Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-01-30T04:26:33.388325Z 01O 37 | if (fill) { 2026-01-30T04:26:33.388326Z 01O | ^ 2026-01-30T04:26:33.388381Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-01-30T04:26:33.388382Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.388383Z 01O | ^~~~ 2026-01-30T04:26:33.388383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-01-30T04:26:33.388384Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.388384Z 01O | ^ 2026-01-30T04:26:33.388388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-01-30T04:26:33.388388Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.388389Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.388390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-01-30T04:26:33.388390Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.388391Z 01O | ^ 2026-01-30T04:26:33.388442Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-01-30T04:26:33.388442Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.388443Z 01O | ^~~~~~ 2026-01-30T04:26:33.388443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-01-30T04:26:33.388444Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.388444Z 01O | ^ 2026-01-30T04:26:33.388445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-01-30T04:26:33.388445Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.388446Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.388449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-01-30T04:26:33.388450Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.388457Z 01O | ^ 2026-01-30T04:26:33.388457Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-01-30T04:26:33.388458Z 01O 49 | for (int j=0; j0 checked above 2026-01-30T04:26:33.388510Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.388510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-01-30T04:26:33.388511Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.388512Z 01O | ^ 2026-01-30T04:26:33.388512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-01-30T04:26:33.388513Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.388513Z 01O | ^~~~~~~ 2026-01-30T04:26:33.388515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-01-30T04:26:33.388516Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.388516Z 01O | ^ 2026-01-30T04:26:33.388538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-01-30T04:26:33.388539Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.388539Z 01O | ^~~~ 2026-01-30T04:26:33.388540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-01-30T04:26:33.388541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-01-30T04:26:33.388541Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.388542Z 01O | ^~~~ 2026-01-30T04:26:33.388542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-01-30T04:26:33.388543Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.388543Z 01O | ^ 2026-01-30T04:26:33.388546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-01-30T04:26:33.388546Z 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-01-30T04:26:33.388547Z 01O | ^~~~ 2026-01-30T04:26:33.388588Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-01-30T04:26:33.388589Z 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-01-30T04:26:33.388589Z 01O | ^ 2026-01-30T04:26:33.388590Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-01-30T04:26:33.388591Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.388591Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.388633Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-01-30T04:26:33.388634Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.388634Z 01O | ^ 2026-01-30T04:26:33.388635Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.388636Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.388636Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.388641Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-01-30T04:26:33.388649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-01-30T04:26:33.388649Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.388650Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.388651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-01-30T04:26:33.388651Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.388652Z 01O | ^ 2026-01-30T04:26:33.388652Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-01-30T04:26:33.388653Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.388653Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.388698Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-01-30T04:26:33.388699Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-01-30T04:26:33.388700Z 01O | ^ 2026-01-30T04:26:33.388700Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-01-30T04:26:33.388701Z 01O 85 | for (int i=0; i= 'thisncol' 2026-01-30T04:26:33.388854Z 01O 92 | for (int j=0; j= 'thisncol' 2026-01-30T04:26:33.389008Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-01-30T04:26:33.389021Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.389075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-01-30T04:26:33.389075Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-01-30T04:26:33.389076Z 01O | ^ 2026-01-30T04:26:33.389076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-01-30T04:26:33.389077Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-01-30T04:26:33.389087Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.389087Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-01-30T04:26:33.389088Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-01-30T04:26:33.389088Z 01O | ^ 2026-01-30T04:26:33.389169Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-01-30T04:26:33.389170Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.389175Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.389175Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-01-30T04:26:33.389176Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-01-30T04:26:33.389177Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.389177Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.389180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-01-30T04:26:33.389181Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.389182Z 01O | ^ 2026-01-30T04:26:33.389182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-01-30T04:26:33.389183Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.389183Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.389184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-01-30T04:26:33.389185Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-01-30T04:26:33.389185Z 01O | ^ 2026-01-30T04:26:33.389186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-01-30T04:26:33.389186Z 01O 142 | for (int i=0; i= 'ncol' 2026-01-30T04:26:33.389196Z 01O 143 | for (int i=0; i0 checked above 2026-01-30T04:26:33.389947Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.389947Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.389948Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.389949Z 01O | ^ 2026-01-30T04:26:33.389949Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-01-30T04:26:33.389950Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.389950Z 01O | ^ 2026-01-30T04:26:33.389951Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.389951Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.389952Z 01O | ^ 2026-01-30T04:26:33.389952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-01-30T04:26:33.389953Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.389953Z 01O | ^ 2026-01-30T04:26:33.389993Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-01-30T04:26:33.389994Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.389995Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.389998Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-01-30T04:26:33.389998Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.389999Z 01O | ^ 2026-01-30T04:26:33.389999Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-01-30T04:26:33.390000Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.390001Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.390001Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-01-30T04:26:33.390002Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.390002Z 01O | ^ 2026-01-30T04:26:33.390055Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-01-30T04:26:33.390056Z 01O 37 | if (fill) { 2026-01-30T04:26:33.390057Z 01O | ^~~~ 2026-01-30T04:26:33.390057Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-01-30T04:26:33.390058Z 01O 37 | if (fill) { 2026-01-30T04:26:33.390058Z 01O | ^ 2026-01-30T04:26:33.390059Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-01-30T04:26:33.390059Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.390060Z 01O | ^~~~ 2026-01-30T04:26:33.390060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-01-30T04:26:33.390061Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.390066Z 01O | ^ 2026-01-30T04:26:33.390069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-01-30T04:26:33.390069Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.390070Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.390124Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-01-30T04:26:33.390125Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.390126Z 01O | ^ 2026-01-30T04:26:33.390126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-01-30T04:26:33.390127Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.390128Z 01O | ^~~~~~ 2026-01-30T04:26:33.390128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-01-30T04:26:33.390129Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.390129Z 01O | ^ 2026-01-30T04:26:33.390146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-01-30T04:26:33.390146Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.390147Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.390148Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.390148Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.390149Z 01O | ^ 2026-01-30T04:26:33.390156Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-01-30T04:26:33.390156Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.390157Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.390158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-01-30T04:26:33.390159Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.390159Z 01O | ^ 2026-01-30T04:26:33.390224Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-01-30T04:26:33.390225Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.390226Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.390227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-01-30T04:26:33.390227Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.390228Z 01O | ^ 2026-01-30T04:26:33.390246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.390247Z 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-01-30T04:26:33.390250Z 01O | ^~~~ 2026-01-30T04:26:33.390296Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-01-30T04:26:33.390301Z 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-01-30T04:26:33.390302Z 01O | ^ 2026-01-30T04:26:33.390306Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-01-30T04:26:33.390307Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-01-30T04:26:33.390307Z 01O | ^~~~~ 2026-01-30T04:26:33.390308Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-01-30T04:26:33.390308Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-01-30T04:26:33.390309Z 01O | ^ 2026-01-30T04:26:33.390388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-01-30T04:26:33.390389Z 01O 49 | for (int j=0; j0 checked above 2026-01-30T04:26:33.390391Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.390394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-01-30T04:26:33.390395Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.390395Z 01O | ^ 2026-01-30T04:26:33.390396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-01-30T04:26:33.390396Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.390397Z 01O | ^~~~~~~ 2026-01-30T04:26:33.390397Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-01-30T04:26:33.390398Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.390398Z 01O | ^ 2026-01-30T04:26:33.390459Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-01-30T04:26:33.390460Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.390461Z 01O | ^~~~ 2026-01-30T04:26:33.390461Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-01-30T04:26:33.390462Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-01-30T04:26:33.390462Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.390463Z 01O | ^~~~ 2026-01-30T04:26:33.390463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-01-30T04:26:33.390464Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.390464Z 01O | ^ 2026-01-30T04:26:33.390465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-01-30T04:26:33.390465Z 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-01-30T04:26:33.390466Z 01O | ^~~~ 2026-01-30T04:26:33.390472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-01-30T04:26:33.390473Z 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-01-30T04:26:33.390474Z 01O | ^ 2026-01-30T04:26:33.390524Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-01-30T04:26:33.390525Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.390530Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.390531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-01-30T04:26:33.390531Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.390532Z 01O | ^ 2026-01-30T04:26:33.390533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-01-30T04:26:33.390533Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-01-30T04:26:33.390534Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.390534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.390535Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.390536Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.390536Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-01-30T04:26:33.390592Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-01-30T04:26:33.390592Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.390593Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.390593Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-01-30T04:26:33.390594Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.390595Z 01O | ^ 2026-01-30T04:26:33.390597Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-01-30T04:26:33.390598Z 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-01-30T04:26:33.390599Z 01O | ^~~~ 2026-01-30T04:26:33.390601Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-01-30T04:26:33.390602Z 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-01-30T04:26:33.390603Z 01O | ^ 2026-01-30T04:26:33.390649Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-01-30T04:26:33.390650Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.390650Z 01O | ^~~~ 2026-01-30T04:26:33.390651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-01-30T04:26:33.390651Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.390652Z 01O | ^ 2026-01-30T04:26:33.390652Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.390653Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.390654Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.390654Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-01-30T04:26:33.390657Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-01-30T04:26:33.390658Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.390658Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.390659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-01-30T04:26:33.390660Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.390660Z 01O | ^ 2026-01-30T04:26:33.390661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-01-30T04:26:33.390661Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-01-30T04:26:33.390666Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.390719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-01-30T04:26:33.390720Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-01-30T04:26:33.390720Z 01O | ^ 2026-01-30T04:26:33.390721Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-01-30T04:26:33.390721Z 01O 251 | if (idcol) { 2026-01-30T04:26:33.390722Z 01O | ^~~~~ 2026-01-30T04:26:33.390722Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-01-30T04:26:33.390723Z 01O 251 | if (idcol) { 2026-01-30T04:26:33.390723Z 01O | ^ 2026-01-30T04:26:33.390727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.390727Z 01O 276 | for(int j=0; j0 checked above 2026-01-30T04:26:33.391420Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.391421Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.391421Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.391422Z 01O | ^ 2026-01-30T04:26:33.391511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-01-30T04:26:33.391512Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.391512Z 01O | ^ 2026-01-30T04:26:33.391513Z 01O /usr/local/lib/R/include/Rinternals.h:968:18: note: expanded from macro 'isNull' 2026-01-30T04:26:33.391513Z 01O 968 | #define isNull Rf_isNull 2026-01-30T04:26:33.391514Z 01O | ^ 2026-01-30T04:26:33.391514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-01-30T04:26:33.391515Z 01O 32 | if (isNull(li)) continue; 2026-01-30T04:26:33.391516Z 01O | ^ 2026-01-30T04:26:33.391516Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-01-30T04:26:33.391517Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.391517Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.391518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-01-30T04:26:33.391518Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-01-30T04:26:33.391519Z 01O | ^ 2026-01-30T04:26:33.391520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-01-30T04:26:33.391520Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.391521Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.391521Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-01-30T04:26:33.391522Z 01O 35 | if (!thisncol) continue; 2026-01-30T04:26:33.391522Z 01O | ^ 2026-01-30T04:26:33.391523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-01-30T04:26:33.391523Z 01O 37 | if (fill) { 2026-01-30T04:26:33.391524Z 01O | ^~~~ 2026-01-30T04:26:33.391524Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-01-30T04:26:33.391530Z 01O 37 | if (fill) { 2026-01-30T04:26:33.391530Z 01O | ^ 2026-01-30T04:26:33.391531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-01-30T04:26:33.391531Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.391532Z 01O | ^~~~ 2026-01-30T04:26:33.391532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-01-30T04:26:33.391533Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-01-30T04:26:33.391533Z 01O | ^ 2026-01-30T04:26:33.391541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-01-30T04:26:33.391542Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.391543Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.391561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-01-30T04:26:33.391562Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-01-30T04:26:33.391563Z 01O | ^ 2026-01-30T04:26:33.391563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-01-30T04:26:33.391564Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.391564Z 01O | ^~~~~~ 2026-01-30T04:26:33.391565Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-01-30T04:26:33.391565Z 01O 45 | if (nNames>0) anyNames=true; 2026-01-30T04:26:33.391566Z 01O | ^ 2026-01-30T04:26:33.391642Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-01-30T04:26:33.391643Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.391644Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.391646Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.391647Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.391648Z 01O | ^ 2026-01-30T04:26:33.391651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-01-30T04:26:33.391652Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.391652Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.391653Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-01-30T04:26:33.391654Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.391654Z 01O | ^ 2026-01-30T04:26:33.391712Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-01-30T04:26:33.391713Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.391714Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.391714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-01-30T04:26:33.391715Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-01-30T04:26:33.391716Z 01O | ^ 2026-01-30T04:26:33.391716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.391717Z 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-01-30T04:26:33.391732Z 01O | ^~~~ 2026-01-30T04:26:33.391799Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-01-30T04:26:33.391800Z 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-01-30T04:26:33.391801Z 01O | ^ 2026-01-30T04:26:33.391802Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-01-30T04:26:33.391802Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-01-30T04:26:33.391803Z 01O | ^~~~~ 2026-01-30T04:26:33.391810Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-01-30T04:26:33.391811Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-01-30T04:26:33.391812Z 01O | ^ 2026-01-30T04:26:33.391812Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-01-30T04:26:33.391813Z 01O 49 | for (int j=0; j0 checked above 2026-01-30T04:26:33.391815Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.391962Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-01-30T04:26:33.391963Z 01O 29 | for (int i=0; i0 checked above 2026-01-30T04:26:33.391963Z 01O | ^ 2026-01-30T04:26:33.391964Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-01-30T04:26:33.391964Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.391965Z 01O | ^~~~~~~ 2026-01-30T04:26:33.391965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-01-30T04:26:33.391966Z 01O 57 | if (numZero) { // #1871 2026-01-30T04:26:33.391966Z 01O | ^ 2026-01-30T04:26:33.391969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-01-30T04:26:33.391969Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.391970Z 01O | ^~~~ 2026-01-30T04:26:33.391970Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-01-30T04:26:33.391971Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-01-30T04:26:33.391972Z 01O | ^ 2026-01-30T04:26:33.391975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-01-30T04:26:33.391976Z 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-01-30T04:26:33.391977Z 01O | ^~~~ 2026-01-30T04:26:33.391977Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-01-30T04:26:33.391978Z 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-01-30T04:26:33.391979Z 01O | ^ 2026-01-30T04:26:33.391979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-01-30T04:26:33.391986Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.391987Z 01O | ^~~~~~~~~~~~~~ 2026-01-30T04:26:33.391989Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-01-30T04:26:33.391990Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-01-30T04:26:33.391990Z 01O | ^ 2026-01-30T04:26:33.392059Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-01-30T04:26:33.392060Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-01-30T04:26:33.392061Z 01O | ^~~~~~~~~~~ 2026-01-30T04:26:33.392061Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.392062Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.392063Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.392063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-01-30T04:26:33.392068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-01-30T04:26:33.392068Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.392069Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.392069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-01-30T04:26:33.392070Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-01-30T04:26:33.392071Z 01O | ^ 2026-01-30T04:26:33.392071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-01-30T04:26:33.392072Z 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-01-30T04:26:33.392073Z 01O | ^~~~ 2026-01-30T04:26:33.392073Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-01-30T04:26:33.392074Z 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-01-30T04:26:33.392075Z 01O | ^ 2026-01-30T04:26:33.392076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-01-30T04:26:33.392077Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.392078Z 01O | ^~~~ 2026-01-30T04:26:33.392080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-01-30T04:26:33.392081Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.392081Z 01O | ^ 2026-01-30T04:26:33.392082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-01-30T04:26:33.392082Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.392083Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.392133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-01-30T04:26:33.392134Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-01-30T04:26:33.392135Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.392135Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.392136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-01-30T04:26:33.392136Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-01-30T04:26:33.392137Z 01O | ^ 2026-01-30T04:26:33.392144Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-01-30T04:26:33.392149Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-01-30T04:26:33.392150Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.392150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-01-30T04:26:33.392151Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-01-30T04:26:33.392151Z 01O | ^ 2026-01-30T04:26:33.392152Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-01-30T04:26:33.392152Z 01O 251 | if (idcol) { 2026-01-30T04:26:33.392153Z 01O | ^~~~~ 2026-01-30T04:26:33.392153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-01-30T04:26:33.392154Z 01O 251 | if (idcol) { 2026-01-30T04:26:33.392154Z 01O | ^ 2026-01-30T04:26:33.392155Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.392155Z 01O 276 | for(int j=0; j= 1 2026-01-30T04:26:33.392693Z 01O 27 | if (n<1) return 0; 2026-01-30T04:26:33.392694Z 01O | ^~~ 2026-01-30T04:26:33.392694Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-01-30T04:26:33.392695Z 01O 27 | if (n<1) return 0; 2026-01-30T04:26:33.392695Z 01O | ^ 2026-01-30T04:26:33.392757Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-01-30T04:26:33.392758Z 01O 29 | va_start(ap, fmt); 2026-01-30T04:26:33.392758Z 01O | ^ 2026-01-30T04:26:33.392788Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-01-30T04:26:33.392789Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-01-30T04:26:33.392789Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-01-30T04:26:33.392790Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-01-30T04:26:33.392790Z 01O 40 | while (*ch!='\0') { 2026-01-30T04:26:33.392791Z 01O | ^~~~~~~~~ 2026-01-30T04:26:33.392791Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-01-30T04:26:33.392792Z 01O 40 | while (*ch!='\0') { 2026-01-30T04:26:33.392792Z 01O | ^ 2026-01-30T04:26:33.392827Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-01-30T04:26:33.392828Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-01-30T04:26:33.392829Z 01O | ^~~~~~~~ 2026-01-30T04:26:33.392829Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-01-30T04:26:33.392830Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-01-30T04:26:33.392830Z 01O | ^ 2026-01-30T04:26:33.392837Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-01-30T04:26:33.392838Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-01-30T04:26:33.392838Z 01O | ^~~~~~~~~~ 2026-01-30T04:26:33.392839Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-01-30T04:26:33.392839Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-01-30T04:26:33.392840Z 01O | ^ 2026-01-30T04:26:33.392840Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-01-30T04:26:33.392847Z 01O 47 | if (!end) { 2026-01-30T04:26:33.392848Z 01O | ^~~~ 2026-01-30T04:26:33.392879Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-01-30T04:26:33.392880Z 01O 47 | if (!end) { 2026-01-30T04:26:33.392881Z 01O | ^ 2026-01-30T04:26:33.392881Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-01-30T04:26:33.392882Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-01-30T04:26:33.392882Z 01O | ^ 2026-01-30T04:26:33.392901Z 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-01-30T04:26:33.392902Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-01-30T04:26:33.392903Z 01O | ^~~~~~ 2026-01-30T04:26:33.392903Z 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-01-30T04:26:33.392904Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-01-30T04:26:33.392905Z 01O | ^~~~~~ 2026-01-30T04:26:33.414479Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-01-30T04:26:33.942016Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-01-30T04:26:33.942029Z 01O * using R Under development (unstable) (2026-01-28 r89344) 2026-01-30T04:26:33.942316Z 01O * using platform: x86_64-pc-linux-gnu 2026-01-30T04:26:33.942533Z 01O * R was compiled by 2026-01-30T04:26:33.942676Z 01O Debian clang version 21.1.8 (1+b1) 2026-01-30T04:26:33.942677Z 01O GNU Fortran (Debian 15.2.0-12) 15.2.0 2026-01-30T04:26:33.943102Z 01O * running under: Debian GNU/Linux forky/sid 2026-01-30T04:26:33.943129Z 01O * using session charset: UTF-8 2026-01-30T04:26:34.701350Z 01O * using option ‘--as-cran’ 2026-01-30T04:26:34.701588Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-01-30T04:26:34.703813Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-01-30T04:26:34.704201Z 01O * package encoding: UTF-8 2026-01-30T04:26:34.704345Z 01O * checking CRAN incoming feasibility ... OK 2026-01-30T04:26:35.212897Z 01O * checking package namespace information ... OK 2026-01-30T04:26:35.220697Z 01O * checking package dependencies ... OK 2026-01-30T04:26:36.424128Z 01O * checking if this is a source package ... OK 2026-01-30T04:26:36.427502Z 01O * checking if there is a namespace ... OK 2026-01-30T04:26:36.432889Z 01O * checking for .dll and .exe files ... OK 2026-01-30T04:26:36.433484Z 01O * checking for hidden files and directories ... OK 2026-01-30T04:26:36.436859Z 01O * checking for portable file names ... OK 2026-01-30T04:26:36.441834Z 01O * checking for sufficient/correct file permissions ... OK 2026-01-30T04:26:36.445952Z 01O * checking whether package ‘data.table’ can be installed ... [21s/21s] OK 2026-01-30T04:26:57.844560Z 01O * used C compiler: ‘Debian clang version 21.1.8 (1+b1)’ 2026-01-30T04:26:57.844984Z 01O * checking installed package size ... INFO 2026-01-30T04:26:57.849362Z 01O installed size is 7.9Mb 2026-01-30T04:26:57.850044Z 01O sub-directories of 1Mb or more: 2026-01-30T04:26:57.850673Z 01O doc 1.1Mb 2026-01-30T04:26:57.850674Z 01O libs 1.5Mb 2026-01-30T04:26:57.850674Z 01O po 1.7Mb 2026-01-30T04:26:57.850675Z 01O tests 2.2Mb 2026-01-30T04:26:57.861205Z 01O * checking package directory ... OK 2026-01-30T04:26:57.861545Z 01O * checking for future file timestamps ... OK 2026-01-30T04:26:57.862159Z 01O * checking ‘build’ directory ... OK 2026-01-30T04:26:57.863372Z 01O * checking DESCRIPTION meta-information ... OK 2026-01-30T04:26:58.674340Z 01O * checking top-level files ... OK 2026-01-30T04:27:00.226659Z 01O * checking for left-over files ... OK 2026-01-30T04:27:00.230094Z 01O * checking index information ... OK 2026-01-30T04:27:00.407247Z 01O * checking package subdirectories ... OK 2026-01-30T04:27:00.797357Z 01O * checking code files for non-ASCII characters ... OK 2026-01-30T04:27:00.846680Z 01O * checking R files for syntax errors ... OK 2026-01-30T04:27:00.926809Z 01O * checking whether the package can be loaded ... OK 2026-01-30T04:27:01.137165Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-01-30T04:27:01.303479Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-01-30T04:27:01.474843Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-01-30T04:27:01.644280Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-01-30T04:27:01.860740Z 01O * checking loading without being on the library search path ... OK 2026-01-30T04:27:02.284079Z 01O * checking whether startup messages can be suppressed ... OK 2026-01-30T04:27:02.485316Z 01O * checking use of S3 registration ... OK 2026-01-30T04:27:02.516494Z 01O * checking dependencies in R code ... OK 2026-01-30T04:27:03.366835Z 01O * checking S3 generic/method consistency ... OK 2026-01-30T04:27:03.729043Z 01O * checking replacement functions ... OK 2026-01-30T04:27:03.942993Z 01O * checking foreign function calls ... OK 2026-01-30T04:27:04.748293Z 01O * checking R code for possible problems ... [17s/17s] OK 2026-01-30T04:27:21.303508Z 01O * checking Rd files ... OK 2026-01-30T04:27:22.201292Z 01O * checking Rd metadata ... OK 2026-01-30T04:27:22.245196Z 01O * checking Rd line widths ... OK 2026-01-30T04:27:22.562811Z 01O * checking Rd cross-references ... OK 2026-01-30T04:27:23.108271Z 01O * checking for missing documentation entries ... OK 2026-01-30T04:27:23.354630Z 01O * checking for code/documentation mismatches ... OK 2026-01-30T04:27:24.398081Z 01O * checking Rd \usage sections ... OK 2026-01-30T04:27:25.347640Z 01O * checking Rd contents ... OK 2026-01-30T04:27:25.803944Z 01O * checking for unstated dependencies in examples ... OK 2026-01-30T04:27:26.288091Z 01O * checking line endings in shell scripts ... OK 2026-01-30T04:27:26.288816Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-01-30T04:27:26.307945Z 01O * checking line endings in Makefiles ... OK 2026-01-30T04:27:26.308512Z 01O * checking compilation flags in Makevars ... OK 2026-01-30T04:27:26.364741Z 01O * checking for GNU extensions in Makefiles ... OK 2026-01-30T04:27:26.365583Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-01-30T04:27:26.366905Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-01-30T04:27:26.371068Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-01-30T04:27:26.378076Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-01-30T04:27:26.400888Z 01O * checking compilation flags used ... OK 2026-01-30T04:27:26.402610Z 01O * checking compiled code ... OK 2026-01-30T04:27:26.518709Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-01-30T04:27:26.729021Z 01O * checking files in ‘vignettes’ ... OK 2026-01-30T04:27:27.584465Z 01O * checking examples ... OK 2026-01-30T04:27:34.710016Z 01O * checking examples with --run-donttest ... OK 2026-01-30T04:27:44.628293Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-01-30T04:27:44.696227Z 01O * checking tests ... 2026-01-30T04:27:44.840424Z 01O Running ‘autoprint.R’ 2026-01-30T04:27:45.084411Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-01-30T04:27:45.091280Z 01O Running ‘froll.R’ [386s/386s] 2026-01-30T04:34:11.110846Z 01O Running ‘litedown.R’ 2026-01-30T04:34:11.414857Z 01O Running ‘main.R’ [42s/42s] 2026-01-30T04:34:53.164439Z 01O Running ‘mergelist.R’ 2026-01-30T04:34:54.717846Z 01O Running ‘nafill.R’ 2026-01-30T04:34:55.189227Z 01O Running ‘optimize.R’ 2026-01-30T04:34:56.491699Z 01O Running ‘other.R’ 2026-01-30T04:34:56.698100Z 01O Running ‘programming.R’ 2026-01-30T04:34:57.274172Z 01O Running ‘S4.R’ 2026-01-30T04:34:57.584907Z 01O Running ‘types.R’ 2026-01-30T04:34:57.820295Z 01O [433s/433s] OK 2026-01-30T04:34:57.940219Z 01O * checking for unstated dependencies in vignettes ... OK 2026-01-30T04:34:58.209976Z 01O * checking package vignettes ... OK 2026-01-30T04:34:58.837194Z 01O * checking re-building of vignette outputs ... [30s/31s] OK 2026-01-30T04:35:29.840550Z 01O * checking PDF version of manual ... OK 2026-01-30T04:35:35.777488Z 01O * checking HTML version of manual ... NOTE 2026-01-30T04:35:42.539269Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-01-30T04:35:42.539281Z 01O * checking for non-standard things in the check directory ... OK 2026-01-30T04:35:42.539939Z 01O * checking for detritus in the temp directory ... OK 2026-01-30T04:35:42.540653Z 01O * DONE 2026-01-30T04:35:42.540984Z 01E 2026-01-30T04:35:42.541086Z 01O Status: 1 NOTE 2026-01-30T04:35:42.541250Z 01E See 2026-01-30T04:35:42.541251Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-01-30T04:35:42.541252Z 01E for details. 2026-01-30T04:35:42.541382Z 01E 2026-01-30T04:35:42.561734Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-01-30T04:35:42.563586Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2026-01-30T04:35:42.893193Z 00O section_end:1769747742:step_script 2026-01-30T04:35:42.893200Z 00O+section_start:1769747742:after_script 2026-01-30T04:35:42.893613Z 00O+Running after_script 2026-01-30T04:35:43.233252Z 01O Running after script... 2026-01-30T04:35:43.233280Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-01-30T04:35:43.234614Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-01-30T04:35:43.234652Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-01-30T04:35:43.234653Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-01-30T04:35:43.234825Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-01-30T04:35:43.400696Z 00O section_end:1769747743:after_script 2026-01-30T04:35:43.400703Z 00O+section_start:1769747743:upload_artifacts_on_success 2026-01-30T04:35:43.401405Z 00O+Uploading artifacts for successful job 2026-01-30T04:35:43.798092Z 01O Uploading artifacts... 2026-01-30T04:35:43.865320Z 01E bus/test-lin-dev-clang-cran: found 713 matching artifact files and directories 2026-01-30T04:35:46.190309Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=e8b5450fe42a4fd284d4504a87093cbe id=12923844924 responseStatus=201 Created token=6c_RyCweE 2026-01-30T04:35:46.371457Z 00O section_end:1769747746:upload_artifacts_on_success 2026-01-30T04:35:46.371463Z 00O+section_start:1769747746:cleanup_file_variables 2026-01-30T04:35:46.371544Z 00O+Cleaning up project directory and file based variables 2026-01-30T04:35:46.870250Z 00O section_end:1769747746:cleanup_file_variables 2026-01-30T04:35:46.870258Z 00O+ 2026-01-30T04:35:46.913830Z 00O Job succeeded