2026-05-14T04:21:30.029449Z 00O Running with gitlab-runner 18.10.0~pre.705.ge11dde90 (e11dde90) 2026-05-14T04:21:30.029460Z 00O  on blue-3.saas-linux-medium-amd64.runners-manager.gitlab.com/default U4xQPDyhm, system ID: s_b59597d5b921 2026-05-14T04:21:30.029465Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true 2026-05-14T04:21:30.029490Z 00O Resolving secrets 2026-05-14T04:21:30.029630Z 00O section_start:1778732490:prepare_executor 2026-05-14T04:21:30.029632Z 00O+Preparing the "docker+machine" executor 2026-05-14T04:21:30.179148Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-05-14T04:21:34.333145Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-05-14T04:21:34.333829Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-05-14T04:21:34.333838Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-05-14T04:21:51.149190Z 00O Using docker image sha256:ba3c0e5775255cf50036d54cbdf277857abf6f1ca8d49a7c2b9f931ab638f9bb for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:f0bc34e38b1538c49584dea1cbbc503caf064ea65356add28d160d689a7ee6bb ... 2026-05-14T04:21:51.149284Z 00O section_end:1778732511:prepare_executor 2026-05-14T04:21:51.149286Z 00O+section_start:1778732511:prepare_script 2026-05-14T04:21:51.149369Z 00O+Preparing environment 2026-05-14T04:21:51.150160Z 00O Using effective pull policy of [always] for container sha256:517d8d4178ccdda037aff407712f57c82bfb16db28e493069597a95b2b3bc374 2026-05-14T04:22:02.187026Z 01O Running on runner-u4xqpdyhm-project-3622566-concurrent-0 via runner-u4xqpdyhm-s-l-m-amd64-1778732369-dea70c3a... 2026-05-14T04:22:02.363216Z 00O section_end:1778732522:prepare_script 2026-05-14T04:22:02.363221Z 00O+section_start:1778732522:get_sources 2026-05-14T04:22:02.363772Z 00O+Getting source from Git repository 2026-05-14T04:22:02.777880Z 01O Gitaly correlation ID: b1d553d93e7e4349b36f6f9ef1adcaa7 2026-05-14T04:22:02.786394Z 01O Fetching changes... 2026-05-14T04:22:02.790272Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-05-14T04:22:02.793119Z 01O Created fresh repository. 2026-05-14T04:22:08.641102Z 01O Checking out 188dd7b9 as detached HEAD (ref is master)... 2026-05-14T04:22:08.838506Z 01O 2026-05-14T04:22:08.838511Z 01O Skipping Git submodules setup 2026-05-14T04:22:08.838544Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-05-14T04:22:09.081761Z 00O section_end:1778732529:get_sources 2026-05-14T04:22:09.081765Z 00O+section_start:1778732529:download_artifacts 2026-05-14T04:22:09.082488Z 00O+Downloading artifacts 2026-05-14T04:22:09.536062Z 01O Downloading artifacts for mirror-packages (14364355803)... 2026-05-14T04:22:10.559244Z 01E Downloading artifacts from coordinator... ok  correlation_id=f949beeef25b4b3c91227321e972bd6f host=storage.googleapis.com id=14364355803 responseStatus=200 OK token=6f_aNiSQL 2026-05-14T04:22:10.824112Z 01O Downloading artifacts for build (14364355804)... 2026-05-14T04:22:11.094129Z 01E Downloading artifacts from coordinator... ok  correlation_id=0da1ebaef71a459ea3626a9f0584b46e host=storage.googleapis.com id=14364355804 responseStatus=200 OK token=6f_aNiSQL 2026-05-14T04:22:11.886393Z 00O section_end:1778732531:download_artifacts 2026-05-14T04:22:11.886398Z 00O+section_start:1778732531:step_script 2026-05-14T04:22:11.886828Z 00O+Executing "step_script" stage of the job script 2026-05-14T04:22:11.886847Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-05-14T04:22:11.887708Z 00O Using docker image sha256:ba3c0e5775255cf50036d54cbdf277857abf6f1ca8d49a7c2b9f931ab638f9bb for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:f0bc34e38b1538c49584dea1cbbc503caf064ea65356add28d160d689a7ee6bb ... 2026-05-14T04:22:12.264489Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-05-14T04:22:12.275305Z 01O $ mkdir -p ~/.R 2026-05-14T04:22:12.277010Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-05-14T04:22:12.277120Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-05-14T04:22:12.277172Z 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-05-14T04:22:12.508499Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-05-14T04:22:12.508503Z 01E 2026-05-14T04:23:29.239711Z 01E Updating HTML index of packages in '.Library' 2026-05-14T04:23:29.240613Z 01E Making 'packages.html' ... done 2026-05-14T04:23:29.257778Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-05-14T04:23:29.276436Z 01E [1/47] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-05-14T04:23:36.751988Z 01E 3 warnings generated. 2026-05-14T04:23:36.752006Z 01E [2/47] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-05-14T04:23:39.922433Z 01E 3 warnings generated. 2026-05-14T04:23:39.922745Z 01E [3/47] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-05-14T04:23:46.679645Z 01E 3 warnings generated. 2026-05-14T04:23:46.679652Z 01E [4/47] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-05-14T04:23:46.920713Z 01E 7 warnings generated. 2026-05-14T04:23:46.920990Z 01E [5/47] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-05-14T04:23:49.662802Z 01E 7 warnings generated. 2026-05-14T04:23:49.663216Z 01E [6/47] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-05-14T04:23:51.866784Z 01E 7 warnings generated. 2026-05-14T04:23:51.866892Z 01E [7/47] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-05-14T04:23:56.110804Z 01E 7 warnings generated. 2026-05-14T04:23:56.111127Z 01E [8/47] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-05-14T04:23:56.172780Z 01E 7 warnings generated. 2026-05-14T04:23:56.173133Z 01E [9/47] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-05-14T04:23:59.119911Z 01E 10 warnings generated. 2026-05-14T04:23:59.120211Z 01E [10/47] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-05-14T04:24:04.484880Z 01E 11 warnings generated. 2026-05-14T04:24:04.484893Z 01E [11/47] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-05-14T04:24:08.471185Z 01E 12 warnings generated. 2026-05-14T04:24:08.471487Z 01E [12/47] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-05-14T04:24:16.786014Z 01E 13 warnings generated. 2026-05-14T04:24:16.786026Z 01E [13/47] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-05-14T04:24:20.224998Z 01E 13 warnings generated. 2026-05-14T04:24:20.225331Z 01E [14/47] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-05-14T04:24:25.810313Z 01E 25 warnings generated. 2026-05-14T04:24:25.810322Z 01E [15/47] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-05-14T04:24:34.757325Z 01E 29 warnings generated. 2026-05-14T04:24:34.757334Z 01E [16/47] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-05-14T04:24:45.405912Z 01E 35 warnings generated. 2026-05-14T04:24:45.405923Z 01E [17/47] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-05-14T04:24:49.071320Z 01E 36 warnings generated. 2026-05-14T04:24:49.071576Z 01E [18/47] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-05-14T04:24:51.531505Z 01E 39 warnings generated. 2026-05-14T04:24:51.531854Z 01E [19/47] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-05-14T04:24:51.583014Z 01E 39 warnings generated. 2026-05-14T04:24:51.583280Z 01E [20/47] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-05-14T04:24:51.914945Z 01E 39 warnings generated. 2026-05-14T04:24:51.915235Z 01E [21/47] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-05-14T04:24:58.245053Z 01E 41 warnings generated. 2026-05-14T04:24:58.245066Z 01E [22/47] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-05-14T04:25:01.781599Z 01E 41 warnings generated. 2026-05-14T04:25:01.781931Z 01E [23/47] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-05-14T04:25:15.975244Z 01E 46 warnings generated. 2026-05-14T04:25:15.975253Z 01E [24/47] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-05-14T04:25:16.096984Z 01E 47 warnings generated. 2026-05-14T04:25:16.097412Z 01E [25/47] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-05-14T04:25:16.353399Z 01E 47 warnings generated. 2026-05-14T04:25:16.353722Z 01E [26/47] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-05-14T04:25:21.123979Z 01E 50 warnings generated. 2026-05-14T04:25:21.124318Z 01E [27/47] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-05-14T04:25:21.175897Z 01E 50 warnings generated. 2026-05-14T04:25:21.176383Z 01E [28/47] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-05-14T04:25:21.211524Z 01E 50 warnings generated. 2026-05-14T04:25:21.211911Z 01E [29/47] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-05-14T04:25:22.095517Z 01E 50 warnings generated. 2026-05-14T04:25:22.095811Z 01E [30/47] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-05-14T04:25:25.370242Z 01E 63 warnings generated. 2026-05-14T04:25:25.370586Z 01E [31/47] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-05-14T04:25:25.400890Z 01E 63 warnings generated. 2026-05-14T04:25:25.401181Z 01E [32/47] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-05-14T04:25:25.449746Z 01E 63 warnings generated. 2026-05-14T04:25:25.450077Z 01E [33/47] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-05-14T04:25:25.593736Z 01E 64 warnings generated. 2026-05-14T04:25:25.594081Z 01E [34/47] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-05-14T04:25:26.060034Z 01E 64 warnings generated. 2026-05-14T04:25:26.060470Z 01E [35/47] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-05-14T04:25:26.877823Z 01E 64 warnings generated. 2026-05-14T04:25:26.878193Z 01E [36/47] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-05-14T04:25:30.240902Z 01E 70 warnings generated. 2026-05-14T04:25:30.241198Z 01E [37/47] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-05-14T04:25:32.954363Z 01E 70 warnings generated. 2026-05-14T04:25:32.954487Z 01E [38/47] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-05-14T04:25:32.985710Z 01E 70 warnings generated. 2026-05-14T04:25:32.986116Z 01E [39/47] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-05-14T04:25:35.968171Z 01E 70 warnings generated. 2026-05-14T04:25:35.968418Z 01E [40/47] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-05-14T04:25:37.294649Z 01E 72 warnings generated. 2026-05-14T04:25:37.294971Z 01E [41/47] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-05-14T04:25:37.665060Z 01E 72 warnings generated. 2026-05-14T04:25:37.665072Z 01E [42/47] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-05-14T04:25:40.532013Z 01E 72 warnings generated. 2026-05-14T04:25:40.532460Z 01E [43/47] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-05-14T04:25:40.877100Z 01E 72 warnings generated. 2026-05-14T04:25:40.877517Z 01E [44/47] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-05-14T04:25:47.857514Z 01E 72 warnings generated. 2026-05-14T04:25:47.857523Z 01E [45/47] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-05-14T04:25:48.732713Z 01E 72 warnings generated. 2026-05-14T04:25:48.733260Z 01E [46/47] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-05-14T04:25:48.774047Z 01E 72 warnings generated. 2026-05-14T04:25:48.774434Z 01E [47/47] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-05-14T04:25:48.852921Z 01E 72 warnings generated. 2026-05-14T04:25:48.854032Z 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-05-14T04:25:48.854034Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-05-14T04:25:48.854035Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854036Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-05-14T04:25:48.854037Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854037Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-05-14T04:25:48.854038Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854039Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-05-14T04:25:48.854040Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854040Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-05-14T04:25:48.854041Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854042Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-05-14T04:25:48.854043Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854043Z 01O 15 | R_NilValue 2026-05-14T04:25:48.854044Z 01O | ~~~~~~~~~~ 2026-05-14T04:25:48.854044Z 01O 16 | )) 2026-05-14T04:25:48.854045Z 01O | ~~ 2026-05-14T04:25:48.854045Z 01O 17 | )); 2026-05-14T04:25:48.854046Z 01O | ~ 2026-05-14T04:25:48.854046Z 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-05-14T04:25:48.854047Z 01O 9 | setAttrib(x, SelfRefSymbol, p=R_MakeExternalPtr( 2026-05-14T04:25:48.854048Z 01O | ^ ~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854048Z 01O 10 | R_NilValue, // for identical() to return TRUE. identical() doesn't look at tag and prot 2026-05-14T04:25:48.854049Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854079Z 01O 11 | PROTECT(getAttrib(x, R_NamesSymbol)), // to detect if names has been replaced and its tl lost, e.g. setattr(DT,"names",...) 2026-05-14T04:25:48.854081Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854082Z 01O 12 | PROTECT(R_MakeExternalPtr( // to avoid an infinite loop in object.size(), if prot=x here 2026-05-14T04:25:48.854083Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854084Z 01O 13 | x, // to know if this data.table has been copied by attr<-, names<-, etc. 2026-05-14T04:25:48.854084Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854085Z 01O 14 | R_NilValue, // this tag and prot currently unused 2026-05-14T04:25:48.854086Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854086Z 01O 15 | R_NilValue 2026-05-14T04:25:48.854087Z 01O | ~~~~~~~~~~ 2026-05-14T04:25:48.854087Z 01O 16 | )) 2026-05-14T04:25:48.854088Z 01O | ~~ 2026-05-14T04:25:48.854088Z 01O 17 | )); 2026-05-14T04:25:48.854088Z 01O | ~ 2026-05-14T04:25:48.854089Z 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-05-14T04:25:48.854090Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-14T04:25:48.854090Z 01O | ^ 2026-05-14T04:25:48.854091Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-05-14T04:25:48.854091Z 01O 937 | const STYPE val = sd[soff]; \ 2026-05-14T04:25:48.854092Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.854092Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'len' is >= 1 2026-05-14T04:25:48.854093Z 01O 714 | if (len<1) return NULL; 2026-05-14T04:25:48.854094Z 01O | ^~~~~ 2026-05-14T04:25:48.854094Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-05-14T04:25:48.854095Z 01O 714 | if (len<1) return NULL; 2026-05-14T04:25:48.854095Z 01O | ^ 2026-05-14T04:25:48.854096Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: Assuming 'sourceLen' is < 0 2026-05-14T04:25:48.854096Z 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-05-14T04:25:48.854097Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.854097Z 01O /builds/Rdatatable/data.table/src/assign.c:715:14: note: '?' condition is false 2026-05-14T04:25:48.854098Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming 'slen' is not equal to 0 2026-05-14T04:25:48.854099Z 01O 716 | if (slen==0) return NULL; 2026-05-14T04:25:48.854099Z 01O | ^~~~~~~ 2026-05-14T04:25:48.854100Z 01O /builds/Rdatatable/data.table/src/assign.c:716:3: note: Taking false branch 2026-05-14T04:25:48.854100Z 01O 716 | if (slen==0) return NULL; 2026-05-14T04:25:48.854101Z 01O | ^ 2026-05-14T04:25:48.854101Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Assuming 'sourceStart' is >= 0 2026-05-14T04:25:48.854102Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-14T04:25:48.854102Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.854103Z 01O /builds/Rdatatable/data.table/src/assign.c:717:7: note: Left side of '||' is false 2026-05-14T04:25:48.854103Z 01O /builds/Rdatatable/data.table/src/assign.c:717:24: note: Assuming the condition is false 2026-05-14T04:25:48.854104Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-14T04:25:48.854104Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854109Z 01O /builds/Rdatatable/data.table/src/assign.c:717:3: note: Taking false branch 2026-05-14T04:25:48.854110Z 01O 717 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-05-14T04:25:48.854111Z 01O | ^ 2026-05-14T04:25:48.854111Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming the condition is false 2026-05-14T04:25:48.854112Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-05-14T04:25:48.854112Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.854113Z 01O /builds/Rdatatable/data.table/src/assign.c:719:22: note: Left side of '&&' is false 2026-05-14T04:25:48.854113Z 01O 719 | if (!length(where) && start+len>length(target)) 2026-05-14T04:25:48.854114Z 01O | ^ 2026-05-14T04:25:48.854114Z 01O /builds/Rdatatable/data.table/src/assign.c:722:7: note: Assuming 'slen' is <= 1 2026-05-14T04:25:48.854115Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-05-14T04:25:48.854115Z 01O | ^~~~~~ 2026-05-14T04:25:48.854116Z 01O /builds/Rdatatable/data.table/src/assign.c:722:14: note: Left side of '&&' is false 2026-05-14T04:25:48.854117Z 01O 722 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-05-14T04:25:48.854117Z 01O | ^ 2026-05-14T04:25:48.854118Z 01O /builds/Rdatatable/data.table/src/assign.c:726:7: note: Assuming 'colname' is not equal to NULL 2026-05-14T04:25:48.854118Z 01O 726 | if (colname==NULL) 2026-05-14T04:25:48.854119Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.854119Z 01O /builds/Rdatatable/data.table/src/assign.c:726:3: note: Taking false branch 2026-05-14T04:25:48.854120Z 01O 726 | if (colname==NULL) 2026-05-14T04:25:48.854120Z 01O | ^ 2026-05-14T04:25:48.854128Z 01O /builds/Rdatatable/data.table/src/assign.c:731:26: note: Assuming the condition is false 2026-05-14T04:25:48.854129Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-05-14T04:25:48.854130Z 01O | ^ 2026-05-14T04:25:48.854136Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-05-14T04:25:48.854137Z 01O 963 | #define isReal Rf_isReal 2026-05-14T04:25:48.854137Z 01O | ^ 2026-05-14T04:25:48.854138Z 01O /builds/Rdatatable/data.table/src/assign.c:731:41: note: Left side of '&&' is false 2026-05-14T04:25:48.854138Z 01O 731 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-05-14T04:25:48.854139Z 01O | ^ 2026-05-14T04:25:48.854156Z 01O /builds/Rdatatable/data.table/src/assign.c:732:26: note: Assuming the condition is false 2026-05-14T04:25:48.854158Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-05-14T04:25:48.854159Z 01O | ^ 2026-05-14T04:25:48.854160Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-05-14T04:25:48.854160Z 01O 963 | #define isReal Rf_isReal 2026-05-14T04:25:48.854161Z 01O | ^ 2026-05-14T04:25:48.854162Z 01O /builds/Rdatatable/data.table/src/assign.c:732:41: note: Left side of '&&' is false 2026-05-14T04:25:48.854162Z 01O 732 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-05-14T04:25:48.854163Z 01O | ^ 2026-05-14T04:25:48.854163Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Assuming 'sourceIsFactor' is false 2026-05-14T04:25:48.854164Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-14T04:25:48.854164Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.854165Z 01O /builds/Rdatatable/data.table/src/assign.c:733:7: note: Left side of '||' is false 2026-05-14T04:25:48.854166Z 01O /builds/Rdatatable/data.table/src/assign.c:733:25: note: Assuming 'targetIsFactor' is false 2026-05-14T04:25:48.854170Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-14T04:25:48.854171Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.854179Z 01O /builds/Rdatatable/data.table/src/assign.c:733:3: note: Taking false branch 2026-05-14T04:25:48.854179Z 01O 733 | if (sourceIsFactor || targetIsFactor) { 2026-05-14T04:25:48.854180Z 01O | ^ 2026-05-14T04:25:48.854180Z 01O /builds/Rdatatable/data.table/src/assign.c:840:14: note: Assuming the condition is false 2026-05-14T04:25:48.854181Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-05-14T04:25:48.854182Z 01O | ^ 2026-05-14T04:25:48.854184Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-05-14T04:25:48.854185Z 01O 966 | #define isString Rf_isString 2026-05-14T04:25:48.854185Z 01O | ^ 2026-05-14T04:25:48.854323Z 01O /builds/Rdatatable/data.table/src/assign.c:840:31: note: Left side of '&&' is false 2026-05-14T04:25:48.854325Z 01O 840 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-05-14T04:25:48.854325Z 01O | ^ 2026-05-14T04:25:48.854326Z 01O /builds/Rdatatable/data.table/src/assign.c:849:14: note: Assuming the condition is false 2026-05-14T04:25:48.854326Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-05-14T04:25:48.854327Z 01O | ^ 2026-05-14T04:25:48.854327Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-05-14T04:25:48.854328Z 01O 955 | #define isNewList Rf_isNewList 2026-05-14T04:25:48.854328Z 01O | ^ 2026-05-14T04:25:48.854329Z 01O /builds/Rdatatable/data.table/src/assign.c:849:32: note: Left side of '&&' is false 2026-05-14T04:25:48.854330Z 01O 849 | } else if (isNewList(source) && !isNewList(target)) { 2026-05-14T04:25:48.854330Z 01O | ^ 2026-05-14T04:25:48.854387Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Assuming the condition is false 2026-05-14T04:25:48.854388Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-14T04:25:48.854388Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854389Z 01O /builds/Rdatatable/data.table/src/assign.c:864:15: note: Left side of '||' is false 2026-05-14T04:25:48.854390Z 01O /builds/Rdatatable/data.table/src/assign.c:864:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-05-14T04:25:48.854391Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-14T04:25:48.854392Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.854402Z 01O /builds/Rdatatable/data.table/src/assign.c:864:75: note: Left side of '&&' is false 2026-05-14T04:25:48.854404Z 01O 864 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-05-14T04:25:48.854404Z 01O | ^ 2026-05-14T04:25:48.854405Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: Assuming the condition is false 2026-05-14T04:25:48.854406Z 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-05-14T04:25:48.854407Z 01O | ^ 2026-05-14T04:25:48.854407Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854408Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854408Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.854479Z 01O /builds/Rdatatable/data.table/src/assign.c:974:19: note: '?' condition is false 2026-05-14T04:25:48.854489Z 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-05-14T04:25:48.854490Z 01O | ^ 2026-05-14T04:25:48.854490Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854491Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854491Z 01O | ^ 2026-05-14T04:25:48.854498Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Assuming the condition is true 2026-05-14T04:25:48.854499Z 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-05-14T04:25:48.854500Z 01O | ^ 2026-05-14T04:25:48.854501Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854501Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854502Z 01O | ^ 2026-05-14T04:25:48.854589Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-14T04:25:48.854590Z 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-05-14T04:25:48.854591Z 01O | ^ 2026-05-14T04:25:48.854592Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854592Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854593Z 01O | ^ 2026-05-14T04:25:48.854606Z 01O /builds/Rdatatable/data.table/src/assign.c:975:39: note: Assuming 'slen' is > 0 2026-05-14T04:25:48.854606Z 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-05-14T04:25:48.854607Z 01O | ^~~~~~ 2026-05-14T04:25:48.854654Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-14T04:25:48.854654Z 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-05-14T04:25:48.854655Z 01O | ^ 2026-05-14T04:25:48.854656Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854657Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854658Z 01O | ^ 2026-05-14T04:25:48.854699Z 01O /builds/Rdatatable/data.table/src/assign.c:975:49: note: Assuming 'slen' is equal to 'len' 2026-05-14T04:25:48.854700Z 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-05-14T04:25:48.854701Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.854743Z 01O /builds/Rdatatable/data.table/src/assign.c:975:19: note: Left side of '&&' is true 2026-05-14T04:25:48.854743Z 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-05-14T04:25:48.854744Z 01O | ^ 2026-05-14T04:25:48.854745Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854745Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854746Z 01O | ^ 2026-05-14T04:25:48.854870Z 01O /builds/Rdatatable/data.table/src/assign.c:975:62: note: Assuming 'soff' is not equal to 0 2026-05-14T04:25:48.854878Z 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-05-14T04:25:48.854879Z 01O | ^~~~~~~ 2026-05-14T04:25:48.854885Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: Assuming the condition is false 2026-05-14T04:25:48.854885Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-05-14T04:25:48.854886Z 01O | ^ 2026-05-14T04:25:48.854886Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854887Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854888Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.854888Z 01O /builds/Rdatatable/data.table/src/assign.c:976:19: note: '?' condition is false 2026-05-14T04:25:48.854889Z 01O 976 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-05-14T04:25:48.854889Z 01O | ^ 2026-05-14T04:25:48.854976Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.854977Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.854978Z 01O | ^ 2026-05-14T04:25:48.854985Z 01O /builds/Rdatatable/data.table/src/assign.c:977:3: note: Control jumps to 'case 20:' at line 1105 2026-05-14T04:25:48.854985Z 01O 977 | switch (TYPEOF(target)) { 2026-05-14T04:25:48.854986Z 01O | ^ 2026-05-14T04:25:48.854987Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: 'len' is equal to 1 2026-05-14T04:25:48.854987Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-14T04:25:48.854988Z 01O | ^~~ 2026-05-14T04:25:48.854988Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-05-14T04:25:48.854989Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:21: note: Assuming the condition is true 2026-05-14T04:25:48.854989Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-14T04:25:48.854990Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.854990Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:9: note: Left side of '&&' is true 2026-05-14T04:25:48.854991Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-14T04:25:48.854992Z 01O | ^ 2026-05-14T04:25:48.855050Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:47: note: Assuming the condition is true 2026-05-14T04:25:48.855051Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-14T04:25:48.855052Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.855054Z 01O /builds/Rdatatable/data.table/src/assign.c:1106:5: note: Taking true branch 2026-05-14T04:25:48.855055Z 01O 1106 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-05-14T04:25:48.855056Z 01O | ^ 2026-05-14T04:25:48.855066Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Assuming the condition is true 2026-05-14T04:25:48.855067Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-14T04:25:48.855068Z 01O | ^ 2026-05-14T04:25:48.855068Z 01O /builds/Rdatatable/data.table/src/assign.c:935:9: note: expanded from macro 'BODY' 2026-05-14T04:25:48.855069Z 01O 935 | if (length(where)) { \ 2026-05-14T04:25:48.855069Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.855070Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.855070Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.855076Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.855083Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-05-14T04:25:48.855083Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-14T04:25:48.855084Z 01O | ^ 2026-05-14T04:25:48.855085Z 01O /builds/Rdatatable/data.table/src/assign.c:935:5: note: expanded from macro 'BODY' 2026-05-14T04:25:48.855085Z 01O 935 | if (length(where)) { \ 2026-05-14T04:25:48.855086Z 01O | ^ 2026-05-14T04:25:48.855176Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: 'slen' is equal to 1 2026-05-14T04:25:48.855177Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-14T04:25:48.855178Z 01O | ^ 2026-05-14T04:25:48.855181Z 01O /builds/Rdatatable/data.table/src/assign.c:936:11: note: expanded from macro 'BODY' 2026-05-14T04:25:48.855182Z 01O 936 | if (slen==1) { \ 2026-05-14T04:25:48.855182Z 01O | ^~~~ 2026-05-14T04:25:48.855183Z 01O /builds/Rdatatable/data.table/src/assign.c:1107:9: note: Taking true branch 2026-05-14T04:25:48.855184Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-14T04:25:48.855184Z 01O | ^ 2026-05-14T04:25:48.855185Z 01O /builds/Rdatatable/data.table/src/assign.c:936:7: note: expanded from macro 'BODY' 2026-05-14T04:25:48.855185Z 01O 936 | if (slen==1) { \ 2026-05-14T04:25:48.855186Z 01O | ^ 2026-05-14T04:25:48.855193Z 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-05-14T04:25:48.855194Z 01O 1107 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-05-14T04:25:48.855194Z 01O | ^ 2026-05-14T04:25:48.855195Z 01O /builds/Rdatatable/data.table/src/assign.c:937:27: note: expanded from macro 'BODY' 2026-05-14T04:25:48.855195Z 01O 937 | const STYPE val = sd[soff]; \ 2026-05-14T04:25:48.855196Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.855292Z 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-05-14T04:25:48.855293Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-05-14T04:25:48.855294Z 01O | ^~~~~ 2026-05-14T04:25:48.855295Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-05-14T04:25:48.855295Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-14T04:25:48.855296Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.855296Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-05-14T04:25:48.855297Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-14T04:25:48.855297Z 01O | ^ 2026-05-14T04:25:48.855396Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-05-14T04:25:48.855397Z 01O 6 | if (chin && chmatchdup) 2026-05-14T04:25:48.855397Z 01O | ^~~~ 2026-05-14T04:25:48.855398Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-05-14T04:25:48.855399Z 01O 6 | if (chin && chmatchdup) 2026-05-14T04:25:48.855399Z 01O | ^ 2026-05-14T04:25:48.855399Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-05-14T04:25:48.855400Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-14T04:25:48.855401Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.855401Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-05-14T04:25:48.855402Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-14T04:25:48.855410Z 01O | ^ 2026-05-14T04:25:48.855415Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-05-14T04:25:48.855416Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-14T04:25:48.855417Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.855417Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-05-14T04:25:48.855418Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-14T04:25:48.855418Z 01O | ^ 2026-05-14T04:25:48.855419Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-05-14T04:25:48.855419Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-05-14T04:25:48.855420Z 01O | ^ 2026-05-14T04:25:48.855421Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-05-14T04:25:48.855483Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-05-14T04:25:48.855484Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-14T04:25:48.855485Z 01O | ^~~~~~~ 2026-05-14T04:25:48.855488Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-05-14T04:25:48.855489Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-14T04:25:48.855489Z 01O | ^ 2026-05-14T04:25:48.855490Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-05-14T04:25:48.855490Z 01O 31 | if (tablelen==0) { 2026-05-14T04:25:48.855491Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.855493Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-05-14T04:25:48.855493Z 01O 31 | if (tablelen==0) { 2026-05-14T04:25:48.855494Z 01O | ^ 2026-05-14T04:25:48.855563Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-05-14T04:25:48.855564Z 01O 40 | if (isSymbol(x)) { 2026-05-14T04:25:48.855564Z 01O | ^ 2026-05-14T04:25:48.855565Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-05-14T04:25:48.855565Z 01O 953 | #define isSymbol Rf_isSymbol 2026-05-14T04:25:48.855566Z 01O | ^ 2026-05-14T04:25:48.855567Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-05-14T04:25:48.855567Z 01O 40 | if (isSymbol(x)) { 2026-05-14T04:25:48.855568Z 01O | ^ 2026-05-14T04:25:48.855571Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-05-14T04:25:48.855572Z 01O 46 | if (xlen==1) { 2026-05-14T04:25:48.855573Z 01O | ^~~~~~~ 2026-05-14T04:25:48.855573Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-05-14T04:25:48.855574Z 01O 46 | if (xlen==1) { 2026-05-14T04:25:48.855574Z 01O | ^ 2026-05-14T04:25:48.855574Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-05-14T04:25:48.855575Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.855576Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.855659Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-14T04:25:48.855660Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-05-14T04:25:48.855660Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.855661Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.855661Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-05-14T04:25:48.855662Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.855663Z 01O | ^ 2026-05-14T04:25:48.855668Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-05-14T04:25:48.855669Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-14T04:25:48.855669Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.855678Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.855679Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-14T04:25:48.855679Z 01O | ^ 2026-05-14T04:25:48.855680Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-05-14T04:25:48.855680Z 01O 66 | if (tl == 0) { 2026-05-14T04:25:48.855681Z 01O | ^~~~~~~ 2026-05-14T04:25:48.855681Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-05-14T04:25:48.855682Z 01O 66 | if (tl == 0) { 2026-05-14T04:25:48.855682Z 01O | ^ 2026-05-14T04:25:48.855683Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-05-14T04:25:48.855683Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-14T04:25:48.855684Z 01O | ^ 2026-05-14T04:25:48.855684Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.855685Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-05-14T04:25:48.855686Z 01O | ^ 2026-05-14T04:25:48.855686Z 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-05-14T04:25:48.855687Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-05-14T04:25:48.855687Z 01O | ^~~~~ 2026-05-14T04:25:48.855778Z 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-05-14T04:25:48.855780Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-05-14T04:25:48.855780Z 01O | ^~~~~ 2026-05-14T04:25:48.855781Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-05-14T04:25:48.855781Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-14T04:25:48.855782Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.855782Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-05-14T04:25:48.855783Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-05-14T04:25:48.855783Z 01O | ^ 2026-05-14T04:25:48.855818Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-05-14T04:25:48.855819Z 01O 6 | if (chin && chmatchdup) 2026-05-14T04:25:48.855819Z 01O | ^~~~ 2026-05-14T04:25:48.855820Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-05-14T04:25:48.855821Z 01O 6 | if (chin && chmatchdup) 2026-05-14T04:25:48.855821Z 01O | ^ 2026-05-14T04:25:48.855822Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-05-14T04:25:48.855822Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-14T04:25:48.855823Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.855823Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-05-14T04:25:48.855824Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-05-14T04:25:48.855824Z 01O | ^ 2026-05-14T04:25:48.855825Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-05-14T04:25:48.855825Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-14T04:25:48.855826Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.855826Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-05-14T04:25:48.855827Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-05-14T04:25:48.855832Z 01O | ^ 2026-05-14T04:25:48.855880Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-05-14T04:25:48.855881Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-05-14T04:25:48.855882Z 01O | ^ 2026-05-14T04:25:48.855882Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-05-14T04:25:48.855883Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-05-14T04:25:48.855883Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-14T04:25:48.855884Z 01O | ^~~~~~~ 2026-05-14T04:25:48.855887Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-05-14T04:25:48.855887Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-05-14T04:25:48.855888Z 01O | ^ 2026-05-14T04:25:48.855888Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-05-14T04:25:48.855889Z 01O 31 | if (tablelen==0) { 2026-05-14T04:25:48.855890Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.855967Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-05-14T04:25:48.855969Z 01O 31 | if (tablelen==0) { 2026-05-14T04:25:48.855970Z 01O | ^ 2026-05-14T04:25:48.855970Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-05-14T04:25:48.855971Z 01O 40 | if (isSymbol(x)) { 2026-05-14T04:25:48.855971Z 01O | ^ 2026-05-14T04:25:48.855973Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-05-14T04:25:48.855974Z 01O 953 | #define isSymbol Rf_isSymbol 2026-05-14T04:25:48.855975Z 01O | ^ 2026-05-14T04:25:48.856016Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-05-14T04:25:48.856017Z 01O 40 | if (isSymbol(x)) { 2026-05-14T04:25:48.856017Z 01O | ^ 2026-05-14T04:25:48.856017Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-05-14T04:25:48.856018Z 01O 46 | if (xlen==1) { 2026-05-14T04:25:48.856019Z 01O | ^~~~~~~ 2026-05-14T04:25:48.856020Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-05-14T04:25:48.856021Z 01O 46 | if (xlen==1) { 2026-05-14T04:25:48.856022Z 01O | ^ 2026-05-14T04:25:48.856025Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-05-14T04:25:48.856025Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.856026Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.856026Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-05-14T04:25:48.856027Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.856027Z 01O | ^ 2026-05-14T04:25:48.856028Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-14T04:25:48.856028Z 01O 99 | for (int i=0; i= 'tablelen' 2026-05-14T04:25:48.856163Z 01O 123 | for (int i=0; i= 'tablelen' 2026-05-14T04:25:48.856288Z 01O 125 | for (int i=0; i= 0 2026-05-14T04:25:48.856400Z 01O 129 | if (u<0) { 2026-05-14T04:25:48.856400Z 01O | ^~~ 2026-05-14T04:25:48.856498Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-05-14T04:25:48.856499Z 01O 129 | if (u<0) { 2026-05-14T04:25:48.856500Z 01O | ^ 2026-05-14T04:25:48.856509Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-05-14T04:25:48.856509Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-05-14T04:25:48.856835Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.856924Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-14T04:25:48.856925Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.856925Z 01O | ^ 2026-05-14T04:25:48.856926Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-05-14T04:25:48.856926Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.856927Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.856927Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-05-14T04:25:48.856928Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.856929Z 01O | ^ 2026-05-14T04:25:48.856929Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-14T04:25:48.856930Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-05-14T04:25:48.857310Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.857311Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-05-14T04:25:48.857321Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-05-14T04:25:48.857322Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.857323Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.857323Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-05-14T04:25:48.857324Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-05-14T04:25:48.857324Z 01O | ^ 2026-05-14T04:25:48.857392Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-05-14T04:25:48.857394Z 01O 99 | for (int i=0; i= 0 2026-05-14T04:25:48.857428Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-05-14T04:25:48.857429Z 01O | ^~~ 2026-05-14T04:25:48.857444Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-05-14T04:25:48.857445Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-05-14T04:25:48.857445Z 01O | ^ 2026-05-14T04:25:48.857446Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-05-14T04:25:48.857446Z 01O 144 | for (int i=0; i= 'nlhs' 2026-05-14T04:25:48.857637Z 01O 14 | for (int i=0; i= 'nlhs' 2026-05-14T04:25:48.857859Z 01O 14 | for (int i=0; i= 'nlhs' 2026-05-14T04:25:48.858155Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-05-14T04:25:48.860185Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.860186Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-05-14T04:25:48.860187Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-14T04:25:48.860187Z 01O | ^ 2026-05-14T04:25:48.860187Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.860188Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.860189Z 01O | ^ 2026-05-14T04:25:48.860193Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-05-14T04:25:48.860193Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-14T04:25:48.860194Z 01O | ^ 2026-05-14T04:25:48.860194Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.860195Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.860195Z 01O | ^ 2026-05-14T04:25:48.860196Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-05-14T04:25:48.860197Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-14T04:25:48.860197Z 01O | ^ 2026-05-14T04:25:48.860198Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.860198Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.860199Z 01O | ^ 2026-05-14T04:25:48.860199Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-05-14T04:25:48.860200Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-05-14T04:25:48.860200Z 01O | ^ 2026-05-14T04:25:48.860201Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-05-14T04:25:48.860201Z 01O 228 | for (int i=0; i= 'ncol' 2026-05-14T04:25:48.860291Z 01O 234 | for (int i=0; i= 'nidx' 2026-05-14T04:25:48.860397Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-05-14T04:25:48.860473Z 01O | ^~~~ 2026-05-14T04:25:48.860474Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-05-14T04:25:48.860474Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-05-14T04:25:48.860475Z 01O | ^ 2026-05-14T04:25:48.860475Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-05-14T04:25:48.860476Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-05-14T04:25:48.860557Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-05-14T04:25:48.861829Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-05-14T04:25:48.862136Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862136Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-05-14T04:25:48.862137Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-05-14T04:25:48.862138Z 01O | ^ 2026-05-14T04:25:48.862138Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-05-14T04:25:48.862139Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-05-14T04:25:48.862139Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862140Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-05-14T04:25:48.862140Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-05-14T04:25:48.862141Z 01O | ^ 2026-05-14T04:25:48.862178Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-05-14T04:25:48.862179Z 01O 326 | if (new_marks != marks) { 2026-05-14T04:25:48.862180Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862180Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-05-14T04:25:48.862181Z 01O 326 | if (new_marks != marks) { 2026-05-14T04:25:48.862181Z 01O | ^ 2026-05-14T04:25:48.862182Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-05-14T04:25:48.862182Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-05-14T04:25:48.862183Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862187Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-05-14T04:25:48.862188Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-05-14T04:25:48.862189Z 01O | ^ 2026-05-14T04:25:48.862189Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-05-14T04:25:48.862190Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-14T04:25:48.862191Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.862281Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-05-14T04:25:48.862282Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-14T04:25:48.862283Z 01O | ^ 2026-05-14T04:25:48.862283Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-05-14T04:25:48.862284Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-05-14T04:25:48.862292Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.862333Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-05-14T04:25:48.862334Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-05-14T04:25:48.862335Z 01O | ^ 2026-05-14T04:25:48.862339Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-05-14T04:25:48.862340Z 01O 338 | if (!anynotascii) 2026-05-14T04:25:48.862340Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.862341Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-05-14T04:25:48.862341Z 01O 338 | if (!anynotascii) 2026-05-14T04:25:48.862342Z 01O | ^ 2026-05-14T04:25:48.862342Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-05-14T04:25:48.862343Z 01O 340 | if (!IS_UTF8(s)) 2026-05-14T04:25:48.862344Z 01O | ^ 2026-05-14T04:25:48.862345Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-05-14T04:25:48.862346Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-05-14T04:25:48.862347Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862348Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-05-14T04:25:48.862349Z 01O 925 | #define getCharCE Rf_getCharCE 2026-05-14T04:25:48.862350Z 01O | ^ 2026-05-14T04:25:48.862360Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-05-14T04:25:48.862360Z 01O 340 | if (!IS_UTF8(s)) 2026-05-14T04:25:48.862361Z 01O | ^ 2026-05-14T04:25:48.862398Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-05-14T04:25:48.862399Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-05-14T04:25:48.862514Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-05-14T04:25:48.862536Z 01O 364 | for (int i=0; i> 2026-05-14T04:25:48.862904Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862904Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-05-14T04:25:48.862905Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862905Z 01O 43 | 2026-05-14T04:25:48.862906Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-05-14T04:25:48.862906Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862907Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-05-14T04:25:48.862908Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862908Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-05-14T04:25:48.862909Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862909Z 01O 47 | 2026-05-14T04:25:48.862910Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-05-14T04:25:48.862910Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862911Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-05-14T04:25:48.862916Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862917Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-05-14T04:25:48.862918Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862918Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-05-14T04:25:48.862919Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862920Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-05-14T04:25:48.862920Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862921Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-05-14T04:25:48.862921Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.862922Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-05-14T04:25:48.862922Z 01O 1410 | if (freadCleanup()) { 2026-05-14T04:25:48.862923Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.862923Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-05-14T04:25:48.862924Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-14T04:25:48.862925Z 01O | ^~~~ 2026-05-14T04:25:48.862925Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-05-14T04:25:48.862926Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-05-14T04:25:48.862926Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-14T04:25:48.862927Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863007Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-05-14T04:25:48.863009Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-14T04:25:48.863010Z 01O | ^ 2026-05-14T04:25:48.863014Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-05-14T04:25:48.863014Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-14T04:25:48.863015Z 01O | ^~~~ 2026-05-14T04:25:48.863015Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-05-14T04:25:48.863016Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-05-14T04:25:48.863017Z 01O | ^ 2026-05-14T04:25:48.863017Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-05-14T04:25:48.863018Z 01O 169 | if (mmp != NULL) { 2026-05-14T04:25:48.863018Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.863019Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-05-14T04:25:48.863019Z 01O 169 | if (mmp != NULL) { 2026-05-14T04:25:48.863020Z 01O | ^ 2026-05-14T04:25:48.863020Z 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-05-14T04:25:48.863021Z 01O 193 | quoteRule = -1; 2026-05-14T04:25:48.863022Z 01O | ^~ 2026-05-14T04:25:48.863102Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: warning: The 1st argument to 'fstat' is -1 but should be >= 0 [clang-analyzer-unix.StdCLibraryFunctions] 2026-05-14T04:25:48.863103Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-05-14T04:25:48.863104Z 01O | ^ ~~ 2026-05-14T04:25:48.863114Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-05-14T04:25:48.863114Z 01O 1410 | if (freadCleanup()) { 2026-05-14T04:25:48.863115Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.863115Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-05-14T04:25:48.863116Z 01O 1410 | if (freadCleanup()) { 2026-05-14T04:25:48.863116Z 01O | ^ 2026-05-14T04:25:48.863117Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.863117Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-14T04:25:48.863118Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863118Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-05-14T04:25:48.863119Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-14T04:25:48.863120Z 01O | ^ 2026-05-14T04:25:48.863120Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-05-14T04:25:48.863121Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-14T04:25:48.863121Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.863128Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-05-14T04:25:48.863129Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-14T04:25:48.863130Z 01O | ^ 2026-05-14T04:25:48.863131Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-05-14T04:25:48.863132Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-14T04:25:48.863133Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.863134Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-05-14T04:25:48.863134Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-14T04:25:48.863135Z 01O | ^ 2026-05-14T04:25:48.863135Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-05-14T04:25:48.863136Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-14T04:25:48.863136Z 01O | ^~~ 2026-05-14T04:25:48.863203Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-05-14T04:25:48.863204Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-14T04:25:48.863204Z 01O | ^ 2026-05-14T04:25:48.863205Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-05-14T04:25:48.863206Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-14T04:25:48.863206Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863210Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-05-14T04:25:48.863211Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-14T04:25:48.863212Z 01O | ^ 2026-05-14T04:25:48.863212Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-05-14T04:25:48.863213Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-14T04:25:48.863217Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863290Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-05-14T04:25:48.863291Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-14T04:25:48.863292Z 01O | ^ 2026-05-14T04:25:48.863295Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-05-14T04:25:48.863296Z 01O 1436 | while (*nastr) { 2026-05-14T04:25:48.863296Z 01O | ^ 2026-05-14T04:25:48.863296Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-05-14T04:25:48.863297Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-05-14T04:25:48.863305Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863309Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-05-14T04:25:48.863309Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-05-14T04:25:48.863310Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863311Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-05-14T04:25:48.863311Z 01O 1464 | if (verbose) { 2026-05-14T04:25:48.863312Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863312Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-05-14T04:25:48.863313Z 01O 1464 | if (verbose) { 2026-05-14T04:25:48.863313Z 01O | ^ 2026-05-14T04:25:48.863420Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-05-14T04:25:48.863421Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-05-14T04:25:48.863422Z 01O | ^ 2026-05-14T04:25:48.863422Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-05-14T04:25:48.863423Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-14T04:25:48.863424Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863427Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-05-14T04:25:48.863428Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-14T04:25:48.863428Z 01O | ^ 2026-05-14T04:25:48.863429Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-05-14T04:25:48.863430Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.863430Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863433Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-05-14T04:25:48.863434Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.863434Z 01O | ^ 2026-05-14T04:25:48.863435Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-05-14T04:25:48.863436Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.863436Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.863537Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-05-14T04:25:48.863538Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.863539Z 01O | ^ 2026-05-14T04:25:48.863539Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-05-14T04:25:48.863540Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-14T04:25:48.863540Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863541Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-05-14T04:25:48.863542Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-14T04:25:48.863542Z 01O | ^ 2026-05-14T04:25:48.863543Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-05-14T04:25:48.863543Z 01O 1515 | if (args.input) { 2026-05-14T04:25:48.863544Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.863544Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-05-14T04:25:48.863545Z 01O 1515 | if (args.input) { 2026-05-14T04:25:48.863545Z 01O | ^ 2026-05-14T04:25:48.863548Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-05-14T04:25:48.863554Z 01O 1522 | else if (args.filename) { 2026-05-14T04:25:48.863554Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.863555Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-05-14T04:25:48.863555Z 01O 1522 | else if (args.filename) { 2026-05-14T04:25:48.863556Z 01O | ^ 2026-05-14T04:25:48.863560Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-05-14T04:25:48.863560Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-05-14T04:25:48.863561Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863561Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-05-14T04:25:48.863562Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-05-14T04:25:48.863563Z 01O | ^ 2026-05-14T04:25:48.863563Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-05-14T04:25:48.863564Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-05-14T04:25:48.863564Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863648Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-05-14T04:25:48.863649Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-05-14T04:25:48.863650Z 01O | ^~~~~~ 2026-05-14T04:25:48.863650Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-05-14T04:25:48.863651Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-05-14T04:25:48.863651Z 01O | ^ 2026-05-14T04:25:48.863655Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-05-14T04:25:48.863655Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-05-14T04:25:48.863656Z 01O | ^ ~~ 2026-05-14T04:25:48.863656Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.863657Z 01O 1780 | pos = ch; 2026-05-14T04:25:48.863658Z 01O | ^ ~~ 2026-05-14T04:25:48.863658Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-05-14T04:25:48.863659Z 01O 1780 | pos = ch; 2026-05-14T04:25:48.863659Z 01O | ^ ~~ 2026-05-14T04:25:48.863662Z 01O /builds/Rdatatable/data.table/src/fread.c:1848: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-05-14T04:25:48.863663Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-05-14T04:25:48.863664Z 01O | ^~ 2026-05-14T04:25:48.863807Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-05-14T04:25:48.863808Z 01O 38 | enum quote_rule_t 2026-05-14T04:25:48.863809Z 01O | ~~~~~^~~~~~~~~~~~ 2026-05-14T04:25:48.863809Z 01O 39 | { 2026-05-14T04:25:48.863810Z 01O | ~ 2026-05-14T04:25:48.863810Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-05-14T04:25:48.863811Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863811Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-05-14T04:25:48.863812Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863812Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-05-14T04:25:48.863813Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863813Z 01O 43 | 2026-05-14T04:25:48.863814Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-05-14T04:25:48.863814Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863820Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-05-14T04:25:48.863821Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863821Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-05-14T04:25:48.863822Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863822Z 01O 47 | 2026-05-14T04:25:48.863823Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-05-14T04:25:48.863823Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863824Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-05-14T04:25:48.863824Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863825Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-05-14T04:25:48.863826Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863826Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-05-14T04:25:48.863827Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863828Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-05-14T04:25:48.863828Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863829Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-05-14T04:25:48.863829Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.863830Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-05-14T04:25:48.863830Z 01O 1410 | if (freadCleanup()) { 2026-05-14T04:25:48.863831Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.863934Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-05-14T04:25:48.863935Z 01O 1410 | if (freadCleanup()) { 2026-05-14T04:25:48.863935Z 01O | ^ 2026-05-14T04:25:48.863936Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.863936Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-14T04:25:48.863937Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863937Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-05-14T04:25:48.863938Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-05-14T04:25:48.863939Z 01O | ^ 2026-05-14T04:25:48.863939Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-05-14T04:25:48.863940Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-14T04:25:48.863940Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.863941Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-05-14T04:25:48.863941Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-05-14T04:25:48.863942Z 01O | ^ 2026-05-14T04:25:48.863942Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-05-14T04:25:48.863943Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-14T04:25:48.863943Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.863944Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-05-14T04:25:48.863944Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-05-14T04:25:48.863945Z 01O | ^ 2026-05-14T04:25:48.863945Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-05-14T04:25:48.863946Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-14T04:25:48.863946Z 01O | ^~~ 2026-05-14T04:25:48.863947Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-05-14T04:25:48.863947Z 01O 1420 | if (nth <= 0) nth = 1; 2026-05-14T04:25:48.863948Z 01O | ^ 2026-05-14T04:25:48.863957Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-05-14T04:25:48.863957Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-14T04:25:48.863958Z 01O | ^~~~~~~ 2026-05-14T04:25:48.863959Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-05-14T04:25:48.863959Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-05-14T04:25:48.863960Z 01O | ^ 2026-05-14T04:25:48.864031Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-05-14T04:25:48.864032Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-14T04:25:48.864032Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864038Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-05-14T04:25:48.864038Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-05-14T04:25:48.864039Z 01O | ^ 2026-05-14T04:25:48.864039Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-05-14T04:25:48.864040Z 01O 1436 | while (*nastr) { 2026-05-14T04:25:48.864041Z 01O | ^ 2026-05-14T04:25:48.864041Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-05-14T04:25:48.864042Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-05-14T04:25:48.864042Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864043Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-05-14T04:25:48.864043Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-05-14T04:25:48.864044Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864044Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-05-14T04:25:48.864045Z 01O 1464 | if (verbose) { 2026-05-14T04:25:48.864046Z 01O | ^~~~~~~ 2026-05-14T04:25:48.864047Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-05-14T04:25:48.864048Z 01O 1464 | if (verbose) { 2026-05-14T04:25:48.864049Z 01O | ^ 2026-05-14T04:25:48.864056Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-05-14T04:25:48.864057Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-05-14T04:25:48.864057Z 01O | ^ 2026-05-14T04:25:48.864058Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-05-14T04:25:48.864059Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-14T04:25:48.864059Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864145Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-05-14T04:25:48.864146Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-05-14T04:25:48.864146Z 01O | ^ 2026-05-14T04:25:48.864147Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-05-14T04:25:48.864148Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.864148Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864183Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-05-14T04:25:48.864184Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.864184Z 01O | ^ 2026-05-14T04:25:48.864190Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-05-14T04:25:48.864191Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.864192Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.864192Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-05-14T04:25:48.864193Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-05-14T04:25:48.864193Z 01O | ^ 2026-05-14T04:25:48.864194Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-05-14T04:25:48.864194Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-14T04:25:48.864195Z 01O | ^~~~~~~ 2026-05-14T04:25:48.864195Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-05-14T04:25:48.864196Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-05-14T04:25:48.864197Z 01O | ^ 2026-05-14T04:25:48.864197Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-05-14T04:25:48.864198Z 01O 1515 | if (args.input) { 2026-05-14T04:25:48.864198Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.864198Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-05-14T04:25:48.864199Z 01O 1515 | if (args.input) { 2026-05-14T04:25:48.864200Z 01O | ^ 2026-05-14T04:25:48.864273Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-05-14T04:25:48.864274Z 01O 1522 | else if (args.filename) { 2026-05-14T04:25:48.864275Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.864275Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-05-14T04:25:48.864276Z 01O 1522 | else if (args.filename) { 2026-05-14T04:25:48.864276Z 01O | ^ 2026-05-14T04:25:48.864279Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-05-14T04:25:48.864280Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-05-14T04:25:48.864281Z 01O | ^ 2026-05-14T04:25:48.864418Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-05-14T04:25:48.864420Z 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-05-14T04:25:48.864421Z 01O | ^ 2026-05-14T04:25:48.864424Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-05-14T04:25:48.864425Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-05-14T04:25:48.864426Z 01O | ^~~~~~~ 2026-05-14T04:25:48.864426Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-05-14T04:25:48.864427Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-05-14T04:25:48.864427Z 01O | ^ 2026-05-14T04:25:48.864428Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-05-14T04:25:48.864428Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-05-14T04:25:48.864429Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.864429Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-05-14T04:25:48.864430Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-05-14T04:25:48.864430Z 01O | ^ 2026-05-14T04:25:48.864437Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-05-14T04:25:48.864438Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-05-14T04:25:48.864446Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.864446Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-05-14T04:25:48.864447Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-05-14T04:25:48.864448Z 01O | ^ 2026-05-14T04:25:48.864530Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-05-14T04:25:48.864531Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-05-14T04:25:48.864532Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.864533Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-05-14T04:25:48.864533Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-05-14T04:25:48.864534Z 01O | ^ 2026-05-14T04:25:48.864534Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-05-14T04:25:48.864535Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-05-14T04:25:48.864536Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.864536Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-05-14T04:25:48.864537Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-05-14T04:25:48.864537Z 01O | ^ 2026-05-14T04:25:48.864544Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-05-14T04:25:48.864545Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-05-14T04:25:48.864545Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.864636Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-05-14T04:25:48.864637Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-05-14T04:25:48.864638Z 01O | ^ 2026-05-14T04:25:48.864641Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-05-14T04:25:48.864642Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-05-14T04:25:48.864643Z 01O | ^~~~~~~ 2026-05-14T04:25:48.864643Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-05-14T04:25:48.864644Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-05-14T04:25:48.864644Z 01O | ^ 2026-05-14T04:25:48.864697Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-05-14T04:25:48.864698Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-05-14T04:25:48.864699Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864699Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-05-14T04:25:48.864700Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-05-14T04:25:48.864700Z 01O | ^ 2026-05-14T04:25:48.864704Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-05-14T04:25:48.864705Z 01O 1649 | while (ch < sample_end) { 2026-05-14T04:25:48.864705Z 01O | ^ 2026-05-14T04:25:48.864706Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-05-14T04:25:48.864707Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-05-14T04:25:48.864708Z 01O | ^~~~~~~ 2026-05-14T04:25:48.864709Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-05-14T04:25:48.864710Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-05-14T04:25:48.864711Z 01O | ^ 2026-05-14T04:25:48.864768Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-05-14T04:25:48.864769Z 01O 1674 | if (args.filename) { 2026-05-14T04:25:48.864770Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.864770Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-05-14T04:25:48.864771Z 01O 1674 | if (args.filename) { 2026-05-14T04:25:48.864771Z 01O | ^ 2026-05-14T04:25:48.864775Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-05-14T04:25:48.864776Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-05-14T04:25:48.864776Z 01O | ^~~~~~~ 2026-05-14T04:25:48.864777Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-05-14T04:25:48.864777Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-05-14T04:25:48.864778Z 01O | ^ 2026-05-14T04:25:48.864778Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-05-14T04:25:48.864779Z 01O 1752 | if (args.skipString) { 2026-05-14T04:25:48.864780Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864833Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-05-14T04:25:48.864835Z 01O 1752 | if (args.skipString) { 2026-05-14T04:25:48.864835Z 01O | ^ 2026-05-14T04:25:48.864835Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-05-14T04:25:48.864836Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-05-14T04:25:48.864837Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.864837Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-05-14T04:25:48.864838Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-05-14T04:25:48.864838Z 01O | ^ 2026-05-14T04:25:48.864841Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-05-14T04:25:48.864841Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-05-14T04:25:48.864842Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.864924Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-05-14T04:25:48.864925Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-05-14T04:25:48.864927Z 01O | ^ 2026-05-14T04:25:48.864944Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-05-14T04:25:48.864945Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-05-14T04:25:48.864945Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.865052Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-05-14T04:25:48.865053Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-05-14T04:25:48.865054Z 01O | ^ 2026-05-14T04:25:48.865054Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-05-14T04:25:48.865055Z 01O 1789 | if (verbose) { 2026-05-14T04:25:48.865055Z 01O | ^~~~~~~ 2026-05-14T04:25:48.865057Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-05-14T04:25:48.865058Z 01O 1789 | if (verbose) { 2026-05-14T04:25:48.865058Z 01O | ^ 2026-05-14T04:25:48.865062Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-05-14T04:25:48.865062Z 01O 1807 | 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-05-14T04:25:48.865063Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.865069Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-05-14T04:25:48.865072Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-05-14T04:25:48.865073Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-05-14T04:25:48.865074Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865074Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-05-14T04:25:48.865075Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-05-14T04:25:48.865076Z 01O | ^ 2026-05-14T04:25:48.865146Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-05-14T04:25:48.865147Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-05-14T04:25:48.865148Z 01O | ^~~~~~~ 2026-05-14T04:25:48.865148Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-05-14T04:25:48.865149Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-05-14T04:25:48.865150Z 01O | ^ 2026-05-14T04:25:48.865153Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-05-14T04:25:48.865153Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-05-14T04:25:48.865154Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865155Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-05-14T04:25:48.865155Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-05-14T04:25:48.865156Z 01O | ^ 2026-05-14T04:25:48.865247Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-05-14T04:25:48.865248Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-05-14T04:25:48.865249Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.865249Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-05-14T04:25:48.865250Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-05-14T04:25:48.865250Z 01O 1836 | if (args.sep == '\0') { 2026-05-14T04:25:48.865251Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865251Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-05-14T04:25:48.865252Z 01O 1836 | if (args.sep == '\0') { 2026-05-14T04:25:48.865252Z 01O | ^ 2026-05-14T04:25:48.865255Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-05-14T04:25:48.865256Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-05-14T04:25:48.865257Z 01O | ^~~~~~~ 2026-05-14T04:25:48.865257Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-05-14T04:25:48.865258Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-05-14T04:25:48.865258Z 01O | ^ 2026-05-14T04:25:48.865311Z 01O /builds/Rdatatable/data.table/src/fread.c:1848:40: note: The value '-1' provided to the cast expression is not in the valid range of values for 'quote_rule_t' 2026-05-14T04:25:48.865313Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-05-14T04:25:48.865314Z 01O | ^~ 2026-05-14T04:25:48.865320Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: warning: Value stored to 'prevLineStart' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865322Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-05-14T04:25:48.865333Z 01O | ^~~~~~~~~~~~~ ~~ 2026-05-14T04:25:48.865333Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-05-14T04:25:48.865334Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-05-14T04:25:48.865335Z 01O | ^~~~~~~~~~~~~ ~~ 2026-05-14T04:25:48.865335Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865336Z 01O 2278 | estnrow = 1; 2026-05-14T04:25:48.865336Z 01O | ^ ~ 2026-05-14T04:25:48.865337Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-05-14T04:25:48.865338Z 01O 2278 | estnrow = 1; 2026-05-14T04:25:48.865338Z 01O | ^ ~ 2026-05-14T04:25:48.865425Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865426Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-05-14T04:25:48.865427Z 01O | ^ ~ 2026-05-14T04:25:48.865427Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-05-14T04:25:48.865428Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-05-14T04:25:48.865429Z 01O | ^ ~ 2026-05-14T04:25:48.865460Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865461Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-05-14T04:25:48.865462Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865462Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-05-14T04:25:48.865463Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-05-14T04:25:48.865463Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865467Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865468Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-05-14T04:25:48.865468Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865469Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-05-14T04:25:48.865469Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-05-14T04:25:48.865470Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865470Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865471Z 01O 2487 | nth = imin(nJumps, nth); 2026-05-14T04:25:48.865471Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865472Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-05-14T04:25:48.865473Z 01O 2487 | nth = imin(nJumps, nth); 2026-05-14T04:25:48.865473Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865548Z 01O /builds/Rdatatable/data.table/src/fread.c:2743: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-05-14T04:25:48.865550Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-05-14T04:25:48.865551Z 01O | ^~~~~~ 2026-05-14T04:25:48.865629Z 01O /builds/Rdatatable/data.table/src/fread.c:2743: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-05-14T04:25:48.865636Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-05-14T04:25:48.865636Z 01O | ^~~~~~ 2026-05-14T04:25:48.865639Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.865640Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-05-14T04:25:48.865641Z 01O | ^ ~~~ 2026-05-14T04:25:48.865642Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: note: Value stored to 'tLast' is never read 2026-05-14T04:25:48.865642Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-05-14T04:25:48.865643Z 01O | ^ ~~~ 2026-05-14T04:25:48.865732Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: warning: Array access (via field 'buffer') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-05-14T04:25:48.865734Z 01O 789 | if (state->buffer[i] == '\n') { 2026-05-14T04:25:48.865735Z 01O | ^ ~~~~~~ 2026-05-14T04:25:48.865736Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-05-14T04:25:48.865736Z 01O 768 | if (state->outfile == NULL) { 2026-05-14T04:25:48.865737Z 01O | ^ 2026-05-14T04:25:48.865750Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-05-14T04:25:48.865750Z 01O 768 | if (state->outfile == NULL) { 2026-05-14T04:25:48.865751Z 01O | ^ 2026-05-14T04:25:48.865751Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-05-14T04:25:48.865752Z 01O 772 | state->buffer = malloc(chunk_size); 2026-05-14T04:25:48.865753Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865753Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-05-14T04:25:48.865754Z 01O 773 | if (!state->buffer) { 2026-05-14T04:25:48.865754Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.865755Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-05-14T04:25:48.865755Z 01O 773 | if (!state->buffer) { 2026-05-14T04:25:48.865756Z 01O | ^ 2026-05-14T04:25:48.865756Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-05-14T04:25:48.865757Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-14T04:25:48.865757Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.865815Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.865816Z 01O 780 | while (true) { 2026-05-14T04:25:48.865817Z 01O | ^ 2026-05-14T04:25:48.865817Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-14T04:25:48.865818Z 01O 782 | if (nread == 0) { 2026-05-14T04:25:48.865818Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.865819Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-14T04:25:48.865819Z 01O 782 | if (nread == 0) { 2026-05-14T04:25:48.865820Z 01O | ^ 2026-05-14T04:25:48.865843Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-05-14T04:25:48.865844Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.865845Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.865845Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-05-14T04:25:48.865846Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-05-14T04:25:48.865847Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.865852Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.865895Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-05-14T04:25:48.865896Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.865897Z 01O | ^ 2026-05-14T04:25:48.865899Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-05-14T04:25:48.865900Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-05-14T04:25:48.865900Z 01O | ^ 2026-05-14T04:25:48.865903Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.865903Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-05-14T04:25:48.865904Z 01O | ^ 2026-05-14T04:25:48.865904Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-05-14T04:25:48.865905Z 01O 789 | if (state->buffer[i] == '\n') { 2026-05-14T04:25:48.865906Z 01O | ^ ~~~~~~ 2026-05-14T04:25:48.866085Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-05-14T04:25:48.866086Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-14T04:25:48.866087Z 01O | ^ ~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866088Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-05-14T04:25:48.866088Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-14T04:25:48.866089Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866290Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-05-14T04:25:48.866291Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-14T04:25:48.866292Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866293Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-05-14T04:25:48.866293Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-05-14T04:25:48.866294Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866294Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-05-14T04:25:48.866295Z 01O 768 | if (state->outfile == NULL) { 2026-05-14T04:25:48.866295Z 01O | ^ 2026-05-14T04:25:48.866296Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-05-14T04:25:48.866296Z 01O 768 | if (state->outfile == NULL) { 2026-05-14T04:25:48.866297Z 01O | ^ 2026-05-14T04:25:48.866297Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-05-14T04:25:48.866298Z 01O 773 | if (!state->buffer) { 2026-05-14T04:25:48.866299Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.866299Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-05-14T04:25:48.866300Z 01O 773 | if (!state->buffer) { 2026-05-14T04:25:48.866300Z 01O | ^ 2026-05-14T04:25:48.866300Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-05-14T04:25:48.866301Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-14T04:25:48.866302Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866302Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.866303Z 01O 780 | while (true) { 2026-05-14T04:25:48.866303Z 01O | ^ 2026-05-14T04:25:48.866304Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-14T04:25:48.866312Z 01O 782 | if (nread == 0) { 2026-05-14T04:25:48.866312Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.866313Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-14T04:25:48.866313Z 01O 782 | if (nread == 0) { 2026-05-14T04:25:48.866314Z 01O | ^ 2026-05-14T04:25:48.866314Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-05-14T04:25:48.866315Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.866315Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.866316Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-05-14T04:25:48.866317Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.866317Z 01O | ^ 2026-05-14T04:25:48.866318Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-05-14T04:25:48.866318Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-14T04:25:48.866319Z 01O | ^ ~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866320Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: The 1st argument to 'fwrite' is NULL but should not be NULL [clang-analyzer-unix.StdCLibraryFunctions] 2026-05-14T04:25:48.866320Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-14T04:25:48.866321Z 01O | ^ ~~~~~~~~~~~~~ 2026-05-14T04:25:48.866321Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-05-14T04:25:48.866322Z 01O 768 | if (state->outfile == NULL) { 2026-05-14T04:25:48.866323Z 01O | ^ 2026-05-14T04:25:48.866323Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-05-14T04:25:48.866324Z 01O 768 | if (state->outfile == NULL) { 2026-05-14T04:25:48.866324Z 01O | ^ 2026-05-14T04:25:48.866325Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-05-14T04:25:48.866325Z 01O 772 | state->buffer = malloc(chunk_size); 2026-05-14T04:25:48.866326Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866326Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-05-14T04:25:48.866327Z 01O 773 | if (!state->buffer) { 2026-05-14T04:25:48.866327Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.866328Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-05-14T04:25:48.866328Z 01O 773 | if (!state->buffer) { 2026-05-14T04:25:48.866329Z 01O | ^ 2026-05-14T04:25:48.866329Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-05-14T04:25:48.866330Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-05-14T04:25:48.866330Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.866331Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.866332Z 01O 780 | while (true) { 2026-05-14T04:25:48.866332Z 01O | ^ 2026-05-14T04:25:48.866332Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-05-14T04:25:48.866333Z 01O 782 | if (nread == 0) { 2026-05-14T04:25:48.866334Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.866334Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-05-14T04:25:48.866335Z 01O 782 | if (nread == 0) { 2026-05-14T04:25:48.866335Z 01O | ^ 2026-05-14T04:25:48.866335Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-05-14T04:25:48.866336Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.866340Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.866340Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-05-14T04:25:48.866341Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-05-14T04:25:48.866342Z 01O | ^ 2026-05-14T04:25:48.866342Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-05-14T04:25:48.866343Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-05-14T04:25:48.866343Z 01O | ^ ~~~~~~~~~~~~~ 2026-05-14T04:25:48.866427Z 01O /builds/Rdatatable/data.table/src/froll.c:1364:3: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-05-14T04:25:48.866428Z 01O 1364 | next[p] = tail; 2026-05-14T04:25:48.866428Z 01O | ^ 2026-05-14T04:25:48.866429Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.866429Z 01O 1506 | if (verbose) 2026-05-14T04:25:48.866430Z 01O | ^~~~~~~ 2026-05-14T04:25:48.866430Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-14T04:25:48.866431Z 01O 1506 | if (verbose) 2026-05-14T04:25:48.866431Z 01O | ^ 2026-05-14T04:25:48.866432Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-05-14T04:25:48.866432Z 01O 1508 | if (k == 0) { 2026-05-14T04:25:48.866433Z 01O | ^~~~~~ 2026-05-14T04:25:48.866433Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-05-14T04:25:48.866434Z 01O 1508 | if (k == 0) { 2026-05-14T04:25:48.866434Z 01O | ^ 2026-05-14T04:25:48.866435Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-05-14T04:25:48.866435Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.866436Z 01O | ^~~~~~ 2026-05-14T04:25:48.866437Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-05-14T04:25:48.866439Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-05-14T04:25:48.866440Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.866441Z 01O | ^~~~~~ 2026-05-14T04:25:48.866462Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-05-14T04:25:48.866463Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.866464Z 01O | ^ 2026-05-14T04:25:48.866472Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-05-14T04:25:48.866473Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.866473Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.866474Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-05-14T04:25:48.866474Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.866475Z 01O | ^ 2026-05-14T04:25:48.866475Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-05-14T04:25:48.866476Z 01O 1567 | if (nx_mod_k) { 2026-05-14T04:25:48.866476Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.866477Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-05-14T04:25:48.866477Z 01O 1567 | if (nx_mod_k) { 2026-05-14T04:25:48.866478Z 01O | ^ 2026-05-14T04:25:48.866478Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-05-14T04:25:48.866479Z 01O 1574 | bool even = !(k % 2); 2026-05-14T04:25:48.866479Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.866480Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-05-14T04:25:48.866485Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-05-14T04:25:48.866486Z 01O | ^~~~ 2026-05-14T04:25:48.866486Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-05-14T04:25:48.866487Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-05-14T04:25:48.866488Z 01O 1579 | if (!o) { // # nocov start 2026-05-14T04:25:48.866488Z 01O | ^~ 2026-05-14T04:25:48.866488Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-05-14T04:25:48.866489Z 01O 1579 | if (!o) { // # nocov start 2026-05-14T04:25:48.866490Z 01O | ^ 2026-05-14T04:25:48.866526Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-05-14T04:25:48.866527Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-14T04:25:48.866527Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.866528Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-05-14T04:25:48.866528Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-14T04:25:48.866529Z 01O | ^ 2026-05-14T04:25:48.866531Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-05-14T04:25:48.866532Z 01O 1588 | if (!m) { // # nocov start 2026-05-14T04:25:48.866532Z 01O | ^~ 2026-05-14T04:25:48.866535Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-05-14T04:25:48.866535Z 01O 1588 | if (!m) { // # nocov start 2026-05-14T04:25:48.866536Z 01O | ^ 2026-05-14T04:25:48.866536Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-05-14T04:25:48.866537Z 01O 1594 | if (!n) { // # nocov start 2026-05-14T04:25:48.866537Z 01O | ^~ 2026-05-14T04:25:48.866632Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-05-14T04:25:48.866633Z 01O 1594 | if (!n) { // # nocov start 2026-05-14T04:25:48.866633Z 01O | ^ 2026-05-14T04:25:48.866634Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-05-14T04:25:48.866634Z 01O 1600 | if (!s) { // # nocov start 2026-05-14T04:25:48.866635Z 01O | ^~ 2026-05-14T04:25:48.866643Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-05-14T04:25:48.866643Z 01O 1600 | if (!s) { // # nocov start 2026-05-14T04:25:48.866644Z 01O | ^ 2026-05-14T04:25:48.866644Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-05-14T04:25:48.866645Z 01O 1606 | if (!prev) { // # nocov start 2026-05-14T04:25:48.866645Z 01O | ^~~~~ 2026-05-14T04:25:48.866646Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-05-14T04:25:48.866647Z 01O 1606 | if (!prev) { // # nocov start 2026-05-14T04:25:48.866647Z 01O | ^ 2026-05-14T04:25:48.866647Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-05-14T04:25:48.866648Z 01O 1612 | if (!next) { // # nocov start 2026-05-14T04:25:48.866649Z 01O | ^~~~~ 2026-05-14T04:25:48.866649Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-05-14T04:25:48.866650Z 01O 1612 | if (!next) { // # nocov start 2026-05-14T04:25:48.866650Z 01O | ^ 2026-05-14T04:25:48.866651Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-05-14T04:25:48.866651Z 01O 1618 | if (verbose) 2026-05-14T04:25:48.866652Z 01O | ^~~~~~~ 2026-05-14T04:25:48.866652Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-05-14T04:25:48.866653Z 01O 1618 | if (verbose) 2026-05-14T04:25:48.866653Z 01O | ^ 2026-05-14T04:25:48.866717Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-05-14T04:25:48.866724Z 01O 1621 | for (int j=0; j= 'k' 2026-05-14T04:25:48.866858Z 01O 1358 | for (int i=0; i=0) { 2026-05-14T04:25:48.867038Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.867038Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-05-14T04:25:48.867039Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.867039Z 01O | ^ 2026-05-14T04:25:48.867040Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-05-14T04:25:48.867040Z 01O 1567 | if (nx_mod_k) { 2026-05-14T04:25:48.867041Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.867041Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-05-14T04:25:48.867042Z 01O 1567 | if (nx_mod_k) { 2026-05-14T04:25:48.867042Z 01O | ^ 2026-05-14T04:25:48.867094Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-05-14T04:25:48.867095Z 01O 1574 | bool even = !(k % 2); 2026-05-14T04:25:48.867095Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.867106Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-05-14T04:25:48.867107Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-05-14T04:25:48.867108Z 01O | ^~~~ 2026-05-14T04:25:48.867109Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-05-14T04:25:48.867110Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-05-14T04:25:48.867110Z 01O 1579 | if (!o) { // # nocov start 2026-05-14T04:25:48.867111Z 01O | ^~ 2026-05-14T04:25:48.867111Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-05-14T04:25:48.867112Z 01O 1579 | if (!o) { // # nocov start 2026-05-14T04:25:48.867112Z 01O | ^ 2026-05-14T04:25:48.867144Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-05-14T04:25:48.867145Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-14T04:25:48.867146Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.867146Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-05-14T04:25:48.867147Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-14T04:25:48.867147Z 01O | ^ 2026-05-14T04:25:48.867148Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-05-14T04:25:48.867148Z 01O 1588 | if (!m) { // # nocov start 2026-05-14T04:25:48.867149Z 01O | ^~ 2026-05-14T04:25:48.867149Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-05-14T04:25:48.867150Z 01O 1588 | if (!m) { // # nocov start 2026-05-14T04:25:48.867150Z 01O | ^ 2026-05-14T04:25:48.867153Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-05-14T04:25:48.867158Z 01O 1594 | if (!n) { // # nocov start 2026-05-14T04:25:48.867159Z 01O | ^~ 2026-05-14T04:25:48.867159Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-05-14T04:25:48.867160Z 01O 1594 | if (!n) { // # nocov start 2026-05-14T04:25:48.867160Z 01O | ^ 2026-05-14T04:25:48.867206Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-05-14T04:25:48.867207Z 01O 1600 | if (!s) { // # nocov start 2026-05-14T04:25:48.867208Z 01O | ^~ 2026-05-14T04:25:48.867208Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-05-14T04:25:48.867209Z 01O 1600 | if (!s) { // # nocov start 2026-05-14T04:25:48.867209Z 01O | ^ 2026-05-14T04:25:48.867211Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-05-14T04:25:48.867212Z 01O 1606 | if (!prev) { // # nocov start 2026-05-14T04:25:48.867212Z 01O | ^~~~~ 2026-05-14T04:25:48.867219Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-05-14T04:25:48.867220Z 01O 1606 | if (!prev) { // # nocov start 2026-05-14T04:25:48.867220Z 01O | ^ 2026-05-14T04:25:48.867221Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-05-14T04:25:48.867221Z 01O 1612 | if (!next) { // # nocov start 2026-05-14T04:25:48.867222Z 01O | ^~~~~ 2026-05-14T04:25:48.867222Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-05-14T04:25:48.867232Z 01O 1612 | if (!next) { // # nocov start 2026-05-14T04:25:48.867233Z 01O | ^ 2026-05-14T04:25:48.867233Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-05-14T04:25:48.867234Z 01O 1618 | if (verbose) 2026-05-14T04:25:48.867235Z 01O | ^~~~~~~ 2026-05-14T04:25:48.867236Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-05-14T04:25:48.867237Z 01O 1618 | if (verbose) 2026-05-14T04:25:48.867238Z 01O | ^ 2026-05-14T04:25:48.867292Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-05-14T04:25:48.867293Z 01O 1621 | for (int j=0; j= 'b' 2026-05-14T04:25:48.867573Z 01O 1621 | for (int j=0; jmessage[0]), 500, par ? _("%s: finding order and initializing links for %d blocks in parallel took %.3fs\n") 2026-05-14T04:25:48.867685Z 01O | ^~~ 2026-05-14T04:25:48.867685Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-05-14T04:25:48.867686Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.867687Z 01O 1633 | for (int i=0; i= 'm' 2026-05-14T04:25:48.868112Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-05-14T04:25:48.868112Z 01O | ^~~~~ 2026-05-14T04:25:48.868113Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-05-14T04:25:48.868113Z 01O 1393 | if (SMALL(i)) { 2026-05-14T04:25:48.868114Z 01O | ^ 2026-05-14T04:25:48.868134Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-05-14T04:25:48.868135Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-05-14T04:25:48.868135Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.868136Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-05-14T04:25:48.868137Z 01O 1393 | if (SMALL(i)) { 2026-05-14T04:25:48.868137Z 01O | ^ 2026-05-14T04:25:48.868139Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-05-14T04:25:48.868145Z 01O 1396 | if (m[0] == i) { 2026-05-14T04:25:48.868145Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.868200Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-05-14T04:25:48.868201Z 01O 1396 | if (m[0] == i) { 2026-05-14T04:25:48.868202Z 01O | ^ 2026-05-14T04:25:48.868202Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-05-14T04:25:48.868203Z 01O 1399 | if (s[0] > 0) { 2026-05-14T04:25:48.868203Z 01O | ^ 2026-05-14T04:25:48.868204Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-05-14T04:25:48.868205Z 01O 1400 | m[0] = prev[m[0]]; 2026-05-14T04:25:48.868205Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.868206Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: warning: Out of bound access to memory preceding the heap area [clang-analyzer-security.ArrayBound] 2026-05-14T04:25:48.868206Z 01O 1471 | m[0] = prev[m[0]]; 2026-05-14T04:25:48.868207Z 01O | ^ 2026-05-14T04:25:48.868287Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.868288Z 01O 1506 | if (verbose) 2026-05-14T04:25:48.868288Z 01O | ^~~~~~~ 2026-05-14T04:25:48.868289Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-14T04:25:48.868289Z 01O 1506 | if (verbose) 2026-05-14T04:25:48.868290Z 01O | ^ 2026-05-14T04:25:48.868290Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-05-14T04:25:48.868291Z 01O 1508 | if (k == 0) { 2026-05-14T04:25:48.868291Z 01O | ^~~~~~ 2026-05-14T04:25:48.868292Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-05-14T04:25:48.868292Z 01O 1508 | if (k == 0) { 2026-05-14T04:25:48.868293Z 01O | ^ 2026-05-14T04:25:48.868293Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-05-14T04:25:48.868294Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.868294Z 01O | ^~~~~~ 2026-05-14T04:25:48.868295Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-05-14T04:25:48.868325Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-05-14T04:25:48.868326Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.868327Z 01O | ^~~~~~ 2026-05-14T04:25:48.868327Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-05-14T04:25:48.868328Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.868328Z 01O | ^ 2026-05-14T04:25:48.868329Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-05-14T04:25:48.868329Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.868330Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.868330Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-05-14T04:25:48.868331Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.868331Z 01O | ^ 2026-05-14T04:25:48.868332Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-05-14T04:25:48.868332Z 01O 1567 | if (nx_mod_k) { 2026-05-14T04:25:48.868333Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.868362Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-05-14T04:25:48.868364Z 01O 1567 | if (nx_mod_k) { 2026-05-14T04:25:48.868365Z 01O | ^ 2026-05-14T04:25:48.868411Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-05-14T04:25:48.868419Z 01O 1574 | bool even = !(k % 2); 2026-05-14T04:25:48.868420Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.868420Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-05-14T04:25:48.868421Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-05-14T04:25:48.868421Z 01O | ^~~~ 2026-05-14T04:25:48.868422Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-05-14T04:25:48.868422Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-05-14T04:25:48.868423Z 01O 1579 | if (!o) { // # nocov start 2026-05-14T04:25:48.868423Z 01O | ^~ 2026-05-14T04:25:48.868424Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-05-14T04:25:48.868424Z 01O 1579 | if (!o) { // # nocov start 2026-05-14T04:25:48.868425Z 01O | ^ 2026-05-14T04:25:48.868425Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-05-14T04:25:48.868426Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-14T04:25:48.868426Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.868513Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-05-14T04:25:48.868514Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-05-14T04:25:48.868515Z 01O | ^ 2026-05-14T04:25:48.868528Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-05-14T04:25:48.868529Z 01O 1588 | if (!m) { // # nocov start 2026-05-14T04:25:48.868529Z 01O | ^~ 2026-05-14T04:25:48.868530Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-05-14T04:25:48.868530Z 01O 1588 | if (!m) { // # nocov start 2026-05-14T04:25:48.868531Z 01O | ^ 2026-05-14T04:25:48.868531Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-05-14T04:25:48.868532Z 01O 1594 | if (!n) { // # nocov start 2026-05-14T04:25:48.868532Z 01O | ^~ 2026-05-14T04:25:48.868533Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-05-14T04:25:48.868533Z 01O 1594 | if (!n) { // # nocov start 2026-05-14T04:25:48.868534Z 01O | ^ 2026-05-14T04:25:48.868534Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-05-14T04:25:48.868535Z 01O 1600 | if (!s) { // # nocov start 2026-05-14T04:25:48.868535Z 01O | ^~ 2026-05-14T04:25:48.868536Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-05-14T04:25:48.868536Z 01O 1600 | if (!s) { // # nocov start 2026-05-14T04:25:48.868537Z 01O | ^ 2026-05-14T04:25:48.868537Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-05-14T04:25:48.868538Z 01O 1606 | if (!prev) { // # nocov start 2026-05-14T04:25:48.868538Z 01O | ^~~~~ 2026-05-14T04:25:48.868539Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-05-14T04:25:48.868539Z 01O 1606 | if (!prev) { // # nocov start 2026-05-14T04:25:48.868540Z 01O | ^ 2026-05-14T04:25:48.868540Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-05-14T04:25:48.868541Z 01O 1612 | if (!next) { // # nocov start 2026-05-14T04:25:48.868541Z 01O | ^~~~~ 2026-05-14T04:25:48.868590Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-05-14T04:25:48.868591Z 01O 1612 | if (!next) { // # nocov start 2026-05-14T04:25:48.868592Z 01O | ^ 2026-05-14T04:25:48.868593Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-05-14T04:25:48.868594Z 01O 1618 | if (verbose) 2026-05-14T04:25:48.868594Z 01O | ^~~~~~~ 2026-05-14T04:25:48.868595Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-05-14T04:25:48.868600Z 01O 1618 | if (verbose) 2026-05-14T04:25:48.868601Z 01O | ^ 2026-05-14T04:25:48.868635Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-05-14T04:25:48.868636Z 01O 1621 | for (int j=0; j= 'b' 2026-05-14T04:25:48.868897Z 01O 1621 | for (int j=0; j= 'm' 2026-05-14T04:25:48.869337Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-05-14T04:25:48.869338Z 01O | ^~~~~ 2026-05-14T04:25:48.869395Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-05-14T04:25:48.869397Z 01O 1460 | if (SMALL(i)) { 2026-05-14T04:25:48.869398Z 01O | ^ 2026-05-14T04:25:48.869405Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-05-14T04:25:48.869406Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-05-14T04:25:48.869407Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.869407Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-05-14T04:25:48.869408Z 01O 1460 | if (SMALL(i)) { 2026-05-14T04:25:48.869408Z 01O | ^ 2026-05-14T04:25:48.869409Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-05-14T04:25:48.869409Z 01O 1463 | if (m[0] == i) { 2026-05-14T04:25:48.869410Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.869410Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-05-14T04:25:48.869411Z 01O 1463 | if (m[0] == i) { 2026-05-14T04:25:48.869411Z 01O | ^ 2026-05-14T04:25:48.869412Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-05-14T04:25:48.869412Z 01O 1467 | } else if (even && n[0] == i) { 2026-05-14T04:25:48.869413Z 01O | ^~~~ 2026-05-14T04:25:48.869413Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-05-14T04:25:48.869414Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-05-14T04:25:48.869414Z 01O 1467 | } else if (even && n[0] == i) { 2026-05-14T04:25:48.869415Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.869415Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-05-14T04:25:48.869416Z 01O 1467 | } else if (even && n[0] == i) { 2026-05-14T04:25:48.869417Z 01O | ^ 2026-05-14T04:25:48.869419Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-05-14T04:25:48.869420Z 01O 1470 | if (s[0] > 0) { 2026-05-14T04:25:48.869420Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.869421Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-05-14T04:25:48.869421Z 01O 1470 | if (s[0] > 0) { 2026-05-14T04:25:48.869422Z 01O | ^ 2026-05-14T04:25:48.869428Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-05-14T04:25:48.869429Z 01O 1471 | m[0] = prev[m[0]]; 2026-05-14T04:25:48.869429Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.869525Z 01O /builds/Rdatatable/data.table/src/froll.c:1578:12: warning: Call to 'malloc' has an allocation size of 0 bytes [clang-analyzer-optin.portability.UnixAPI] 2026-05-14T04:25:48.869526Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-05-14T04:25:48.869527Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.869527Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.869528Z 01O 1506 | if (verbose) 2026-05-14T04:25:48.869528Z 01O | ^~~~~~~ 2026-05-14T04:25:48.869529Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-05-14T04:25:48.869529Z 01O 1506 | if (verbose) 2026-05-14T04:25:48.869530Z 01O | ^ 2026-05-14T04:25:48.869530Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-05-14T04:25:48.869531Z 01O 1508 | if (k == 0) { 2026-05-14T04:25:48.869537Z 01O | ^~~~~~ 2026-05-14T04:25:48.869537Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-05-14T04:25:48.869538Z 01O 1508 | if (k == 0) { 2026-05-14T04:25:48.869538Z 01O | ^ 2026-05-14T04:25:48.869586Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-05-14T04:25:48.869587Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.869588Z 01O | ^~~~~~ 2026-05-14T04:25:48.869590Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-05-14T04:25:48.869628Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-05-14T04:25:48.869629Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.869630Z 01O | ^~~~~~ 2026-05-14T04:25:48.869778Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-05-14T04:25:48.869779Z 01O 1516 | if (k == 1 || k == 2) { // special case for k==1 and k==2, wont rise warning for NAs present and hasnf=false 2026-05-14T04:25:48.869780Z 01O | ^ 2026-05-14T04:25:48.869781Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-05-14T04:25:48.869781Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.869782Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.869782Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-05-14T04:25:48.869783Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.869783Z 01O | ^ 2026-05-14T04:25:48.869783Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-05-14T04:25:48.869784Z 01O 1549 | for (uint64_t i=0; i= 0 2026-05-14T04:25:48.869997Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.869998Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.869998Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-05-14T04:25:48.869999Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.869999Z 01O | ^ 2026-05-14T04:25:48.870000Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-05-14T04:25:48.870000Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-05-14T04:25:48.870181Z 01O 1549 | for (uint64_t i=0; i= 0 2026-05-14T04:25:48.871009Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.871010Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.871010Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-05-14T04:25:48.871011Z 01O 1548 | if (hasnf>=0) { 2026-05-14T04:25:48.871011Z 01O | ^ 2026-05-14T04:25:48.871038Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-05-14T04:25:48.871039Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-05-14T04:25:48.871106Z 01O 1549 | for (uint64_t i=0; i 0 2026-05-14T04:25:48.871859Z 01O 541 | bool truehasnf = hasnf>0; 2026-05-14T04:25:48.871860Z 01O | ^~~~~~~ 2026-05-14T04:25:48.871860Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-05-14T04:25:48.871861Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-05-14T04:25:48.872025Z 01O 542 | for (uint64_t i=0; i 0 2026-05-14T04:25:48.872428Z 01O 616 | bool truehasnf = hasnf>0; 2026-05-14T04:25:48.872429Z 01O | ^~~~~~~ 2026-05-14T04:25:48.872429Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-05-14T04:25:48.872430Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-05-14T04:25:48.872541Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-05-14T04:25:48.872810Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-05-14T04:25:48.873212Z 01O | ^ 2026-05-14T04:25:48.873212Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-05-14T04:25:48.873213Z 01O 888 | if (i+1 == ik) { 2026-05-14T04:25:48.873217Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.873217Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-05-14T04:25:48.873218Z 01O 888 | if (i+1 == ik) { 2026-05-14T04:25:48.873218Z 01O | ^ 2026-05-14T04:25:48.873219Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-05-14T04:25:48.873219Z 01O 890 | } else if (i+1 < ik) { 2026-05-14T04:25:48.873220Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.873220Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-05-14T04:25:48.873221Z 01O 890 | } else if (i+1 < ik) { 2026-05-14T04:25:48.873222Z 01O | ^ 2026-05-14T04:25:48.873234Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:893:25: note: Assuming index is non-negative and less than 1, the number of 'int' elements in the heap area 2026-05-14T04:25:48.873236Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-05-14T04:25:48.873237Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.873238Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-05-14T04:25:48.873239Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-05-14T04:25:48.873239Z 01O | ^ 2026-05-14T04:25:48.873394Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-05-14T04:25:48.873395Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-05-14T04:25:48.873396Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.873397Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-05-14T04:25:48.873405Z 01O 998 | if (!nc) { // total NA for x 2026-05-14T04:25:48.873405Z 01O | ^~ 2026-05-14T04:25:48.873406Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-05-14T04:25:48.873407Z 01O 998 | if (!nc) { // total NA for x 2026-05-14T04:25:48.873407Z 01O | ^ 2026-05-14T04:25:48.873407Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.873408Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-05-14T04:25:48.873965Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-05-14T04:25:48.874251Z 01O | ^~~~~~~ 2026-05-14T04:25:48.874251Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-05-14T04:25:48.874252Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-05-14T04:25:48.874252Z 01O | ^ 2026-05-14T04:25:48.874253Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-05-14T04:25:48.874261Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-05-14T04:25:48.874262Z 01O | ^ 2026-05-14T04:25:48.874262Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-05-14T04:25:48.874263Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-14T04:25:48.874263Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.874264Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-05-14T04:25:48.874264Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-05-14T04:25:48.874265Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-14T04:25:48.874265Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.874266Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-05-14T04:25:48.874267Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-14T04:25:48.874267Z 01O | ^ 2026-05-14T04:25:48.874268Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-05-14T04:25:48.874268Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-14T04:25:48.874269Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.874352Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-05-14T04:25:48.874353Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-05-14T04:25:48.874354Z 01O | ^ 2026-05-14T04:25:48.874354Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-05-14T04:25:48.874355Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-05-14T04:25:48.874454Z 01O | ^~~~~~~ 2026-05-14T04:25:48.874454Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-05-14T04:25:48.874455Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-05-14T04:25:48.874456Z 01O | ^ 2026-05-14T04:25:48.874462Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-05-14T04:25:48.874463Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-05-14T04:25:48.874463Z 01O | ^ 2026-05-14T04:25:48.874464Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-05-14T04:25:48.874464Z 01O 122 | if (!counts || !TMP ) { 2026-05-14T04:25:48.874465Z 01O | ^~~~~~~ 2026-05-14T04:25:48.874465Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-05-14T04:25:48.874466Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-05-14T04:25:48.874466Z 01O 122 | if (!counts || !TMP ) { 2026-05-14T04:25:48.874467Z 01O | ^~~~ 2026-05-14T04:25:48.874467Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-05-14T04:25:48.874468Z 01O 122 | if (!counts || !TMP ) { 2026-05-14T04:25:48.874468Z 01O | ^ 2026-05-14T04:25:48.874469Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-05-14T04:25:48.874469Z 01O 127 | for (int b=0; b= 'howMany' 2026-05-14T04:25:48.874593Z 01O 131 | for (int i=0; i= 'highSize' 2026-05-14T04:25:48.874672Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-05-14T04:25:48.875011Z 01O | ^ 2026-05-14T04:25:48.875012Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-05-14T04:25:48.875012Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-05-14T04:25:48.875013Z 01O | ^ ~ 2026-05-14T04:25:48.875013Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-05-14T04:25:48.875014Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-05-14T04:25:48.875015Z 01O | ^ ~ 2026-05-14T04:25:48.875025Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-14T04:25:48.875026Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875027Z 01O | ^ 2026-05-14T04:25:48.875027Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875028Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875029Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875029Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-14T04:25:48.875030Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875030Z 01O | ^ 2026-05-14T04:25:48.875031Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875031Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875032Z 01O | ^ 2026-05-14T04:25:48.875032Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-14T04:25:48.875033Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875034Z 01O | ^ 2026-05-14T04:25:48.875155Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875156Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875156Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.875157Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-14T04:25:48.875158Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875158Z 01O | ^ 2026-05-14T04:25:48.875159Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875165Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875166Z 01O | ^ 2026-05-14T04:25:48.875171Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-14T04:25:48.875171Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875172Z 01O | ^ 2026-05-14T04:25:48.875172Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875173Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875174Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875174Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-05-14T04:25:48.875175Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875175Z 01O | ^ 2026-05-14T04:25:48.875176Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-05-14T04:25:48.875176Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-14T04:25:48.875177Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875267Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-05-14T04:25:48.875269Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-14T04:25:48.875270Z 01O | ^ 2026-05-14T04:25:48.875272Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-05-14T04:25:48.875273Z 01O 1122 | if (inherits(x, "factor")) 2026-05-14T04:25:48.875273Z 01O | ^ 2026-05-14T04:25:48.875276Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-05-14T04:25:48.875276Z 01O 933 | #define inherits Rf_inherits 2026-05-14T04:25:48.875277Z 01O | ^ 2026-05-14T04:25:48.875277Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-05-14T04:25:48.875278Z 01O 1122 | if (inherits(x, "factor")) 2026-05-14T04:25:48.875279Z 01O | ^ 2026-05-14T04:25:48.875284Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-05-14T04:25:48.875285Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-05-14T04:25:48.875285Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.875286Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-05-14T04:25:48.875286Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-05-14T04:25:48.875287Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.875288Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-05-14T04:25:48.875288Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-05-14T04:25:48.875289Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-14T04:25:48.875289Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.875290Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-05-14T04:25:48.875290Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-14T04:25:48.875291Z 01O | ^ 2026-05-14T04:25:48.875375Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-05-14T04:25:48.875376Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-05-14T04:25:48.875377Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875378Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-05-14T04:25:48.875378Z 01O 1129 | if (!s) 2026-05-14T04:25:48.875379Z 01O | ^~ 2026-05-14T04:25:48.875379Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-05-14T04:25:48.875388Z 01O 1129 | if (!s) 2026-05-14T04:25:48.875388Z 01O | ^ 2026-05-14T04:25:48.875389Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-05-14T04:25:48.875389Z 01O 1131 | for (int i=0; i= 'n' 2026-05-14T04:25:48.875400Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-05-14T04:25:48.875485Z 01O | ^ 2026-05-14T04:25:48.875485Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-05-14T04:25:48.875486Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-05-14T04:25:48.875486Z 01O | ^ ~ 2026-05-14T04:25:48.875543Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-05-14T04:25:48.875544Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-05-14T04:25:48.875545Z 01O | ^ ~ 2026-05-14T04:25:48.875546Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-05-14T04:25:48.875548Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-05-14T04:25:48.875549Z 01O | ~~~~ ^ 2026-05-14T04:25:48.875557Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-14T04:25:48.875558Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875558Z 01O | ^ 2026-05-14T04:25:48.875563Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875564Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875565Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875565Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-14T04:25:48.875566Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875566Z 01O | ^ 2026-05-14T04:25:48.875623Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875625Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875626Z 01O | ^ 2026-05-14T04:25:48.875627Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-14T04:25:48.875628Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875629Z 01O | ^ 2026-05-14T04:25:48.875630Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875631Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875633Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.875634Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-05-14T04:25:48.875635Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875636Z 01O | ^ 2026-05-14T04:25:48.875637Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875637Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875638Z 01O | ^ 2026-05-14T04:25:48.875692Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-05-14T04:25:48.875693Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875693Z 01O | ^ 2026-05-14T04:25:48.875694Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.875694Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.875695Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875696Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-05-14T04:25:48.875696Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-05-14T04:25:48.875697Z 01O | ^ 2026-05-14T04:25:48.875697Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-05-14T04:25:48.875698Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-14T04:25:48.875698Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875699Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-05-14T04:25:48.875699Z 01O 1120 | if (!isVectorAtomic(x)) 2026-05-14T04:25:48.875700Z 01O | ^ 2026-05-14T04:25:48.875738Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-05-14T04:25:48.875739Z 01O 1122 | if (inherits(x, "factor")) 2026-05-14T04:25:48.875740Z 01O | ^ 2026-05-14T04:25:48.875740Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-05-14T04:25:48.875741Z 01O 933 | #define inherits Rf_inherits 2026-05-14T04:25:48.875747Z 01O | ^ 2026-05-14T04:25:48.875747Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-05-14T04:25:48.875748Z 01O 1122 | if (inherits(x, "factor")) 2026-05-14T04:25:48.875748Z 01O | ^ 2026-05-14T04:25:48.875749Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-05-14T04:25:48.875749Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-05-14T04:25:48.875750Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.875750Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-05-14T04:25:48.875751Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-05-14T04:25:48.875752Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.875752Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-05-14T04:25:48.875817Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-05-14T04:25:48.875818Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-14T04:25:48.875818Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.875819Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-05-14T04:25:48.875819Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-05-14T04:25:48.875820Z 01O | ^ 2026-05-14T04:25:48.875825Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-05-14T04:25:48.875826Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-05-14T04:25:48.875827Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.875827Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-05-14T04:25:48.875828Z 01O 1129 | if (!s) 2026-05-14T04:25:48.875828Z 01O | ^~ 2026-05-14T04:25:48.875829Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-05-14T04:25:48.875829Z 01O 1129 | if (!s) 2026-05-14T04:25:48.875830Z 01O | ^ 2026-05-14T04:25:48.875830Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-05-14T04:25:48.875831Z 01O 1131 | for (int i=0; i= 'n' 2026-05-14T04:25:48.875857Z 01O 1135 | for (int i=0; i' is a garbage value 2026-05-14T04:25:48.875982Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-05-14T04:25:48.875982Z 01O | ~~~~ ^ 2026-05-14T04:25:48.876095Z 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-05-14T04:25:48.876096Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-14T04:25:48.876097Z 01O | ^ 2026-05-14T04:25:48.876097Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-05-14T04:25:48.876098Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-05-14T04:25:48.876099Z 01O | ^ 2026-05-14T04:25:48.876099Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-05-14T04:25:48.876100Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-05-14T04:25:48.876100Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.876116Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-05-14T04:25:48.876117Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-05-14T04:25:48.876118Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876118Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-05-14T04:25:48.876119Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-05-14T04:25:48.876119Z 01O | ^ 2026-05-14T04:25:48.876122Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-05-14T04:25:48.876123Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-05-14T04:25:48.876124Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876124Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-05-14T04:25:48.876125Z 01O 54 | if (!ret) 2026-05-14T04:25:48.876125Z 01O | ^~~~ 2026-05-14T04:25:48.876126Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-05-14T04:25:48.876126Z 01O 54 | if (!ret) 2026-05-14T04:25:48.876127Z 01O | ^ 2026-05-14T04:25:48.876188Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-05-14T04:25:48.876189Z 01O 59 | if (!table) { 2026-05-14T04:25:48.876189Z 01O | ^~~~~~ 2026-05-14T04:25:48.876190Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-05-14T04:25:48.876190Z 01O 59 | if (!table) { 2026-05-14T04:25:48.876191Z 01O | ^ 2026-05-14T04:25:48.876193Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-05-14T04:25:48.876194Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-05-14T04:25:48.876194Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876195Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-05-14T04:25:48.876203Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-05-14T04:25:48.876203Z 01O | ^ 2026-05-14T04:25:48.876236Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-05-14T04:25:48.876238Z 01O 71 | ret->shift = HASH_BITS - k; 2026-05-14T04:25:48.876239Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876240Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-05-14T04:25:48.876240Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-05-14T04:25:48.876241Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876241Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-05-14T04:25:48.876242Z 01O 133 | if (!new_h) return NULL; 2026-05-14T04:25:48.876243Z 01O | ^~~~~ 2026-05-14T04:25:48.876243Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-05-14T04:25:48.876244Z 01O 133 | if (!new_h) return NULL; 2026-05-14T04:25:48.876244Z 01O | ^ 2026-05-14T04:25:48.876252Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-05-14T04:25:48.876252Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-05-14T04:25:48.876253Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.876255Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.876256Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-05-14T04:25:48.876257Z 01O | ^ 2026-05-14T04:25:48.876257Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-05-14T04:25:48.876258Z 01O 138 | if (h->table[i].key) 2026-05-14T04:25:48.876258Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876260Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-05-14T04:25:48.876261Z 01O 138 | if (h->table[i].key) 2026-05-14T04:25:48.876261Z 01O | ^ 2026-05-14T04:25:48.876354Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-05-14T04:25:48.876355Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-05-14T04:25:48.876355Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876389Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-05-14T04:25:48.876390Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-05-14T04:25:48.876391Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.876391Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-05-14T04:25:48.876392Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-05-14T04:25:48.876392Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876393Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-05-14T04:25:48.876393Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-14T04:25:48.876394Z 01O | ^ 2026-05-14T04:25:48.876395Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-05-14T04:25:48.876395Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-05-14T04:25:48.876396Z 01O | ^ 2026-05-14T04:25:48.876396Z 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-05-14T04:25:48.876397Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-05-14T04:25:48.876398Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-05-14T04:25:48.876529Z 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-05-14T04:25:48.876530Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-05-14T04:25:48.876531Z 01O | ^ 2026-05-14T04:25:48.876597Z 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-05-14T04:25:48.876599Z 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-05-14T04:25:48.876601Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-05-14T04:25:48.876602Z 01O | ^ 2026-05-14T04:25:48.876603Z 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-05-14T04:25:48.876639Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-05-14T04:25:48.876640Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-05-14T04:25:48.876640Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876641Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-05-14T04:25:48.876641Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-05-14T04:25:48.876642Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876742Z 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-05-14T04:25:48.876744Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-05-14T04:25:48.876744Z 01O | ^ 2026-05-14T04:25:48.876745Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.876745Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.876746Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.876746Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.876747Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.876747Z 01O | ^ 2026-05-14T04:25:48.876748Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.876748Z 01O 128 | if (verbose) 2026-05-14T04:25:48.876749Z 01O | ^~~~~~~ 2026-05-14T04:25:48.876749Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.876750Z 01O 128 | if (verbose) 2026-05-14T04:25:48.876750Z 01O | ^ 2026-05-14T04:25:48.876837Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.876838Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.876839Z 01O | ^ 2026-05-14T04:25:48.876839Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.876840Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.876840Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.876841Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.876841Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.876842Z 01O | ^ 2026-05-14T04:25:48.876850Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.876856Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.876857Z 01O | ^ 2026-05-14T04:25:48.876858Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.876858Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.876859Z 01O | ^ 2026-05-14T04:25:48.876859Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.876860Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.876860Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.876953Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.876954Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.876955Z 01O | ^ 2026-05-14T04:25:48.876955Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.876956Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.876957Z 01O | ^ 2026-05-14T04:25:48.877001Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.877002Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877002Z 01O | ^ 2026-05-14T04:25:48.877003Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.877003Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.877004Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.877005Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.877005Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877006Z 01O | ^ 2026-05-14T04:25:48.877006Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.877007Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.877007Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.877008Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.877008Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.877009Z 01O | ^ 2026-05-14T04:25:48.877009Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.877010Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.877168Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-05-14T04:25:48.877558Z 01O | ^ 2026-05-14T04:25:48.877558Z 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-05-14T04:25:48.877559Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-05-14T04:25:48.877560Z 01O | ^ 2026-05-14T04:25:48.877649Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.877650Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.877650Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.877651Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.877652Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.877652Z 01O | ^ 2026-05-14T04:25:48.877658Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.877659Z 01O 128 | if (verbose) 2026-05-14T04:25:48.877659Z 01O | ^~~~~~~ 2026-05-14T04:25:48.877660Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.877660Z 01O 128 | if (verbose) 2026-05-14T04:25:48.877661Z 01O | ^ 2026-05-14T04:25:48.877661Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.877662Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877662Z 01O | ^ 2026-05-14T04:25:48.877663Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.877663Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.877664Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.877665Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.877665Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877666Z 01O | ^ 2026-05-14T04:25:48.877731Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.877732Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.877733Z 01O | ^ 2026-05-14T04:25:48.877733Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.877734Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877740Z 01O | ^ 2026-05-14T04:25:48.877740Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.877741Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.877742Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.877742Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.877743Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877743Z 01O | ^ 2026-05-14T04:25:48.877747Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.877748Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.877748Z 01O | ^ 2026-05-14T04:25:48.877749Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.877750Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877750Z 01O | ^ 2026-05-14T04:25:48.877831Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.877832Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.877832Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.877833Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.877834Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.877834Z 01O | ^ 2026-05-14T04:25:48.877839Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.877839Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.877840Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.877840Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.877841Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.877841Z 01O | ^ 2026-05-14T04:25:48.877842Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.877842Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.877967Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-05-14T04:25:48.878280Z 01O | ^ 2026-05-14T04:25:48.878281Z 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-05-14T04:25:48.878282Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-05-14T04:25:48.878282Z 01O | ^ 2026-05-14T04:25:48.878341Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.878342Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.878342Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.878343Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.878343Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.878344Z 01O | ^ 2026-05-14T04:25:48.878364Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.878365Z 01O 128 | if (verbose) 2026-05-14T04:25:48.878365Z 01O | ^~~~~~~ 2026-05-14T04:25:48.878366Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.878366Z 01O 128 | if (verbose) 2026-05-14T04:25:48.878367Z 01O | ^ 2026-05-14T04:25:48.878367Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.878368Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.878368Z 01O | ^ 2026-05-14T04:25:48.878369Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.878369Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.878370Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.878467Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.878469Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.878469Z 01O | ^ 2026-05-14T04:25:48.878472Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.878473Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.878474Z 01O | ^ 2026-05-14T04:25:48.878478Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.878479Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.878479Z 01O | ^ 2026-05-14T04:25:48.878480Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.878480Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.878481Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.878487Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.878487Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.878488Z 01O | ^ 2026-05-14T04:25:48.878488Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.878489Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.878490Z 01O | ^ 2026-05-14T04:25:48.878492Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.878493Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.878493Z 01O | ^ 2026-05-14T04:25:48.878570Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.878572Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.878572Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.878573Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.878573Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.878574Z 01O | ^ 2026-05-14T04:25:48.878574Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.878575Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.878576Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.878576Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.878577Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.878577Z 01O | ^ 2026-05-14T04:25:48.878577Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.878578Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.878778Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-05-14T04:25:48.879207Z 01O | ^ 2026-05-14T04:25:48.879207Z 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-05-14T04:25:48.879208Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-05-14T04:25:48.879209Z 01O | ^ 2026-05-14T04:25:48.879209Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.879210Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.879210Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.879211Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.879211Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.879212Z 01O | ^ 2026-05-14T04:25:48.879212Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.879216Z 01O 128 | if (verbose) 2026-05-14T04:25:48.879217Z 01O | ^~~~~~~ 2026-05-14T04:25:48.879217Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.879218Z 01O 128 | if (verbose) 2026-05-14T04:25:48.879218Z 01O | ^ 2026-05-14T04:25:48.879286Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.879287Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.879287Z 01O | ^ 2026-05-14T04:25:48.879292Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.879293Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.879294Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.879294Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.879295Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.879295Z 01O | ^ 2026-05-14T04:25:48.879301Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.879302Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.879302Z 01O | ^ 2026-05-14T04:25:48.879303Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.879303Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.879304Z 01O | ^ 2026-05-14T04:25:48.879304Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.879305Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.879313Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.879314Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.879314Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.879315Z 01O | ^ 2026-05-14T04:25:48.879396Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.879397Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.879398Z 01O | ^ 2026-05-14T04:25:48.879403Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.879404Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.879405Z 01O | ^ 2026-05-14T04:25:48.879405Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.879406Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.879406Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.879407Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.879408Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.879408Z 01O | ^ 2026-05-14T04:25:48.879409Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.879409Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.879410Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.879410Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.879411Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.879411Z 01O | ^ 2026-05-14T04:25:48.879412Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.879412Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.879608Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-05-14T04:25:48.879960Z 01O | ^ 2026-05-14T04:25:48.880063Z 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-05-14T04:25:48.880064Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-05-14T04:25:48.880064Z 01O | ^ 2026-05-14T04:25:48.880065Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.880066Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.880066Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.880066Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.880067Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.880068Z 01O | ^ 2026-05-14T04:25:48.880068Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.880069Z 01O 128 | if (verbose) 2026-05-14T04:25:48.880069Z 01O | ^~~~~~~ 2026-05-14T04:25:48.880069Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.880070Z 01O 128 | if (verbose) 2026-05-14T04:25:48.880070Z 01O | ^ 2026-05-14T04:25:48.880076Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.880077Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.880077Z 01O | ^ 2026-05-14T04:25:48.880078Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.880079Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.880079Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.880080Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.880080Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.880081Z 01O | ^ 2026-05-14T04:25:48.880139Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.880140Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.880141Z 01O | ^ 2026-05-14T04:25:48.880143Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.880144Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.880145Z 01O | ^ 2026-05-14T04:25:48.880247Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.880258Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.880259Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.880259Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.880260Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.880260Z 01O | ^ 2026-05-14T04:25:48.880272Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.880273Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.880273Z 01O | ^ 2026-05-14T04:25:48.880274Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.880274Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.880275Z 01O | ^ 2026-05-14T04:25:48.880275Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.880276Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.880277Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.880277Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.880278Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.880279Z 01O | ^ 2026-05-14T04:25:48.880279Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.880280Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.880280Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.880281Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.880281Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.880282Z 01O | ^ 2026-05-14T04:25:48.880282Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.880283Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.880475Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-05-14T04:25:48.881010Z 01O | ^ 2026-05-14T04:25:48.881011Z 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-05-14T04:25:48.881012Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-05-14T04:25:48.881012Z 01O | ^ 2026-05-14T04:25:48.881018Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.881019Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.881019Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.881019Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.881020Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.881021Z 01O | ^ 2026-05-14T04:25:48.881021Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.881022Z 01O 128 | if (verbose) 2026-05-14T04:25:48.881022Z 01O | ^~~~~~~ 2026-05-14T04:25:48.881022Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.881023Z 01O 128 | if (verbose) 2026-05-14T04:25:48.881023Z 01O | ^ 2026-05-14T04:25:48.881024Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.881025Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.881025Z 01O | ^ 2026-05-14T04:25:48.881025Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.881026Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.881032Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.881131Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.881132Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.881133Z 01O | ^ 2026-05-14T04:25:48.881133Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.881134Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.881134Z 01O | ^ 2026-05-14T04:25:48.881139Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.881140Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.881141Z 01O | ^ 2026-05-14T04:25:48.881141Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.881142Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.881142Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.881143Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.881144Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.881144Z 01O | ^ 2026-05-14T04:25:48.881217Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.881218Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.881219Z 01O | ^ 2026-05-14T04:25:48.881238Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.881238Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.881239Z 01O | ^ 2026-05-14T04:25:48.881239Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.881240Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.881241Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.881241Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.881242Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.881243Z 01O | ^ 2026-05-14T04:25:48.881243Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.881244Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.881244Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.881245Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.881245Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.881246Z 01O | ^ 2026-05-14T04:25:48.881246Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.881247Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.881388Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-05-14T04:25:48.881956Z 01O | ^ 2026-05-14T04:25:48.882033Z 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-05-14T04:25:48.882035Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-05-14T04:25:48.882035Z 01O | ^ 2026-05-14T04:25:48.882036Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.882036Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.882042Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.882043Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.882043Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.882044Z 01O | ^ 2026-05-14T04:25:48.882044Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.882045Z 01O 128 | if (verbose) 2026-05-14T04:25:48.882045Z 01O | ^~~~~~~ 2026-05-14T04:25:48.882046Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.882046Z 01O 128 | if (verbose) 2026-05-14T04:25:48.882047Z 01O | ^ 2026-05-14T04:25:48.882095Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.882097Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.882098Z 01O | ^ 2026-05-14T04:25:48.882098Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.882100Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.882101Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.882102Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.882103Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.882104Z 01O | ^ 2026-05-14T04:25:48.882105Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.882106Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.882107Z 01O | ^ 2026-05-14T04:25:48.882217Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.882218Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.882219Z 01O | ^ 2026-05-14T04:25:48.882219Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.882220Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.882220Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.882233Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.882233Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.882234Z 01O | ^ 2026-05-14T04:25:48.882234Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.882235Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.882236Z 01O | ^ 2026-05-14T04:25:48.882268Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.882269Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.882270Z 01O | ^ 2026-05-14T04:25:48.882275Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.882276Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.882276Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.882277Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.882277Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.882278Z 01O | ^ 2026-05-14T04:25:48.882278Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.882279Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.882290Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.882290Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.882292Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.882292Z 01O | ^ 2026-05-14T04:25:48.882293Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.882294Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.882481Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-05-14T04:25:48.882878Z 01O | ^ 2026-05-14T04:25:48.882879Z 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-05-14T04:25:48.882879Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-05-14T04:25:48.882880Z 01O | ^ 2026-05-14T04:25:48.882949Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.882950Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.882950Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.882951Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.882951Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.882952Z 01O | ^ 2026-05-14T04:25:48.882971Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.882972Z 01O 128 | if (verbose) 2026-05-14T04:25:48.882972Z 01O | ^~~~~~~ 2026-05-14T04:25:48.882973Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.882973Z 01O 128 | if (verbose) 2026-05-14T04:25:48.882974Z 01O | ^ 2026-05-14T04:25:48.883070Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.883078Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883078Z 01O | ^ 2026-05-14T04:25:48.883079Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883079Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883080Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.883081Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.883081Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883082Z 01O | ^ 2026-05-14T04:25:48.883151Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883152Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883153Z 01O | ^ 2026-05-14T04:25:48.883153Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.883154Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883155Z 01O | ^ 2026-05-14T04:25:48.883155Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883156Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883156Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.883157Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.883157Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883158Z 01O | ^ 2026-05-14T04:25:48.883158Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883159Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883160Z 01O | ^ 2026-05-14T04:25:48.883160Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.883161Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883161Z 01O | ^ 2026-05-14T04:25:48.883262Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883263Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883263Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.883267Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.883267Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883268Z 01O | ^ 2026-05-14T04:25:48.883268Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.883269Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.883269Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.883270Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.883270Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.883271Z 01O | ^ 2026-05-14T04:25:48.883296Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.883297Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.883436Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-05-14T04:25:48.883737Z 01O | ^ 2026-05-14T04:25:48.883751Z 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-05-14T04:25:48.883752Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-05-14T04:25:48.883753Z 01O | ^ 2026-05-14T04:25:48.883753Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.883754Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.883754Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.883755Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.883755Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.883756Z 01O | ^ 2026-05-14T04:25:48.883756Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.883757Z 01O 128 | if (verbose) 2026-05-14T04:25:48.883757Z 01O | ^~~~~~~ 2026-05-14T04:25:48.883759Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.883760Z 01O 128 | if (verbose) 2026-05-14T04:25:48.883760Z 01O | ^ 2026-05-14T04:25:48.883823Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.883824Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883824Z 01O | ^ 2026-05-14T04:25:48.883825Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883825Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883831Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.883835Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.883836Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883836Z 01O | ^ 2026-05-14T04:25:48.883840Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883840Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883841Z 01O | ^ 2026-05-14T04:25:48.883841Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.883842Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883843Z 01O | ^ 2026-05-14T04:25:48.883913Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883914Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883915Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.883916Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.883916Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883917Z 01O | ^ 2026-05-14T04:25:48.883982Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883984Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883985Z 01O | ^ 2026-05-14T04:25:48.883992Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.883993Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883993Z 01O | ^ 2026-05-14T04:25:48.883994Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.883994Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.883995Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.883996Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.883996Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.883997Z 01O | ^ 2026-05-14T04:25:48.884017Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.884018Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.884019Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.884019Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.884020Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.884020Z 01O | ^ 2026-05-14T04:25:48.884021Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.884021Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.884257Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-05-14T04:25:48.884626Z 01O | ^ 2026-05-14T04:25:48.884626Z 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-05-14T04:25:48.884627Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-05-14T04:25:48.884628Z 01O | ^ 2026-05-14T04:25:48.884628Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.884629Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.884630Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.884630Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.884631Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.884631Z 01O | ^ 2026-05-14T04:25:48.884695Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.884704Z 01O 128 | if (verbose) 2026-05-14T04:25:48.884704Z 01O | ^~~~~~~ 2026-05-14T04:25:48.884707Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.884707Z 01O 128 | if (verbose) 2026-05-14T04:25:48.884708Z 01O | ^ 2026-05-14T04:25:48.884711Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.884712Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.884713Z 01O | ^ 2026-05-14T04:25:48.884713Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.884714Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.884714Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.884717Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.884718Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.884719Z 01O | ^ 2026-05-14T04:25:48.884719Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.884720Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.884720Z 01O | ^ 2026-05-14T04:25:48.884797Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.884798Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.884799Z 01O | ^ 2026-05-14T04:25:48.884799Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.884800Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.884800Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.884804Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.884805Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.884805Z 01O | ^ 2026-05-14T04:25:48.884848Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.884849Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.884849Z 01O | ^ 2026-05-14T04:25:48.884850Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.884850Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.884851Z 01O | ^ 2026-05-14T04:25:48.884855Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.884856Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.884856Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.884857Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.884858Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.884858Z 01O | ^ 2026-05-14T04:25:48.884859Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.884859Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.884860Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.884860Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.884861Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.884861Z 01O | ^ 2026-05-14T04:25:48.884940Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.884946Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.885029Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-05-14T04:25:48.885426Z 01O | ^ 2026-05-14T04:25:48.885437Z 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-05-14T04:25:48.885438Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-05-14T04:25:48.885439Z 01O | ^ 2026-05-14T04:25:48.885439Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.885440Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.885440Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.885441Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.885441Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.885442Z 01O | ^ 2026-05-14T04:25:48.885442Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.885443Z 01O 128 | if (verbose) 2026-05-14T04:25:48.885443Z 01O | ^~~~~~~ 2026-05-14T04:25:48.885444Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.885444Z 01O 128 | if (verbose) 2026-05-14T04:25:48.885445Z 01O | ^ 2026-05-14T04:25:48.885445Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.885446Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.885446Z 01O | ^ 2026-05-14T04:25:48.885447Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.885447Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.885448Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.885638Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.885644Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.885645Z 01O | ^ 2026-05-14T04:25:48.885646Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.885664Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.885665Z 01O | ^ 2026-05-14T04:25:48.885672Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.885673Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.885673Z 01O | ^ 2026-05-14T04:25:48.885678Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.885678Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.885679Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.885680Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.885680Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.885681Z 01O | ^ 2026-05-14T04:25:48.885681Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.885682Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.885683Z 01O | ^ 2026-05-14T04:25:48.885687Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.885687Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.885688Z 01O | ^ 2026-05-14T04:25:48.885688Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.885689Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.885690Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.885690Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.885691Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.885691Z 01O | ^ 2026-05-14T04:25:48.885750Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.885756Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.885757Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.885758Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.885759Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.885760Z 01O | ^ 2026-05-14T04:25:48.885760Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.885762Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.885845Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-05-14T04:25:48.886222Z 01O | ^ 2026-05-14T04:25:48.886264Z 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-05-14T04:25:48.886266Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-05-14T04:25:48.886267Z 01O | ^ 2026-05-14T04:25:48.886268Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-05-14T04:25:48.886269Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.886269Z 01O | ^~~~~~~~~~~~~ 2026-05-14T04:25:48.886270Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-05-14T04:25:48.886271Z 01O 124 | if (!xlength(obj)) 2026-05-14T04:25:48.886272Z 01O | ^ 2026-05-14T04:25:48.886273Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-05-14T04:25:48.886274Z 01O 128 | if (verbose) 2026-05-14T04:25:48.886275Z 01O | ^~~~~~~ 2026-05-14T04:25:48.886275Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-05-14T04:25:48.886276Z 01O 128 | if (verbose) 2026-05-14T04:25:48.886277Z 01O | ^ 2026-05-14T04:25:48.886278Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.886279Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.886280Z 01O | ^ 2026-05-14T04:25:48.886301Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.886303Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.886304Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.886305Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.886306Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.886307Z 01O | ^ 2026-05-14T04:25:48.886316Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.886317Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.886318Z 01O | ^ 2026-05-14T04:25:48.886319Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.886320Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.886321Z 01O | ^ 2026-05-14T04:25:48.886321Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.886322Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.886347Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.886348Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-05-14T04:25:48.886349Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.886349Z 01O | ^ 2026-05-14T04:25:48.886360Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.886361Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.886363Z 01O | ^ 2026-05-14T04:25:48.886363Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-05-14T04:25:48.886364Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.886365Z 01O | ^ 2026-05-14T04:25:48.886372Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.886374Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.886375Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.886376Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-05-14T04:25:48.886377Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-05-14T04:25:48.886378Z 01O | ^ 2026-05-14T04:25:48.886378Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-05-14T04:25:48.886379Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.886380Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.886381Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-05-14T04:25:48.886382Z 01O 138 | if (obj_scalar) { 2026-05-14T04:25:48.886382Z 01O | ^ 2026-05-14T04:25:48.886383Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-05-14T04:25:48.886384Z 01O 151 | for (int i=0; i= 'nx' 2026-05-14T04:25:48.886587Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-05-14T04:25:48.887051Z 01O | ^ 2026-05-14T04:25:48.887052Z 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-05-14T04:25:48.887053Z 01O 136 | SEXP x = R_NilValue; 2026-05-14T04:25:48.887054Z 01O | ^ ~~~~~~~~~~ 2026-05-14T04:25:48.887055Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-05-14T04:25:48.887056Z 01O 136 | SEXP x = R_NilValue; 2026-05-14T04:25:48.887057Z 01O | ^ ~~~~~~~~~~ 2026-05-14T04:25:48.887199Z 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-05-14T04:25:48.887200Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-05-14T04:25:48.887201Z 01O | ^ 2026-05-14T04:25:48.887240Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-05-14T04:25:48.887241Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-05-14T04:25:48.887242Z 01O | ^ 2026-05-14T04:25:48.887243Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-05-14T04:25:48.887244Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-05-14T04:25:48.887245Z 01O | ^ 2026-05-14T04:25:48.887246Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-05-14T04:25:48.887247Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-05-14T04:25:48.887248Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887249Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-05-14T04:25:48.887250Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-05-14T04:25:48.887251Z 01O | ^ 2026-05-14T04:25:48.887252Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-05-14T04:25:48.887253Z 01O 131 | if (length(throttle)) { 2026-05-14T04:25:48.887254Z 01O | ^ 2026-05-14T04:25:48.887255Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-05-14T04:25:48.887256Z 01O 987 | #define length(x) Rf_length(x) 2026-05-14T04:25:48.887257Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.887257Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-05-14T04:25:48.887273Z 01O 131 | if (length(throttle)) { 2026-05-14T04:25:48.887274Z 01O | ^ 2026-05-14T04:25:48.887320Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-05-14T04:25:48.887321Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-14T04:25:48.887322Z 01O | ^~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887322Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-05-14T04:25:48.887323Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-05-14T04:25:48.887324Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-14T04:25:48.887325Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887335Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-05-14T04:25:48.887335Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-05-14T04:25:48.887336Z 01O | ^ 2026-05-14T04:25:48.887337Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-05-14T04:25:48.887338Z 01O 138 | initDTthreads(); 2026-05-14T04:25:48.887338Z 01O | ^~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887339Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-05-14T04:25:48.887340Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-05-14T04:25:48.887341Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887342Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-05-14T04:25:48.887343Z 01O 14 | const char *val = getenv(name); 2026-05-14T04:25:48.887343Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.887344Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-05-14T04:25:48.887345Z 01O 14 | const char *val = getenv(name); 2026-05-14T04:25:48.887346Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.887347Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-05-14T04:25:48.887348Z 01O 14 | const char *val = getenv(name); 2026-05-14T04:25:48.887348Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.887349Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-05-14T04:25:48.887350Z 01O 15 | if (val == NULL) return def; 2026-05-14T04:25:48.887351Z 01O | ^~~ 2026-05-14T04:25:48.887354Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-05-14T04:25:48.887355Z 01O 15 | if (val == NULL) return def; 2026-05-14T04:25:48.887356Z 01O | ^ 2026-05-14T04:25:48.887356Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-05-14T04:25:48.887357Z 01O 17 | if (nchar == 0) return def; 2026-05-14T04:25:48.887358Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.887360Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-05-14T04:25:48.887361Z 01O 17 | if (nchar == 0) return def; 2026-05-14T04:25:48.887362Z 01O | ^ 2026-05-14T04:25:48.887458Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-05-14T04:25:48.887459Z 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-05-14T04:25:48.887461Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887462Z 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-05-14T04:25:48.887463Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-05-14T04:25:48.887464Z 01O | ^ 2026-05-14T04:25:48.887474Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-05-14T04:25:48.887475Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-05-14T04:25:48.887476Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887477Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-05-14T04:25:48.887478Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-05-14T04:25:48.887479Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887566Z 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-05-14T04:25:48.887568Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-05-14T04:25:48.887569Z 01O | ^ ~~~~~ 2026-05-14T04:25:48.887570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-14T04:25:48.887571Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-14T04:25:48.887572Z 01O | ^ 2026-05-14T04:25:48.887573Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887574Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887575Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887576Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-05-14T04:25:48.887577Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-14T04:25:48.887578Z 01O | ^ 2026-05-14T04:25:48.887578Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887579Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887581Z 01O | ^ 2026-05-14T04:25:48.887652Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-14T04:25:48.887654Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-14T04:25:48.887654Z 01O | ^ 2026-05-14T04:25:48.887663Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887665Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887666Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.887667Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-05-14T04:25:48.887668Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-14T04:25:48.887669Z 01O | ^ 2026-05-14T04:25:48.887670Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887671Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887672Z 01O | ^ 2026-05-14T04:25:48.887673Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-05-14T04:25:48.887674Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-14T04:25:48.887675Z 01O | ^ 2026-05-14T04:25:48.887748Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887749Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887750Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887751Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-05-14T04:25:48.887752Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-05-14T04:25:48.887762Z 01O | ^ 2026-05-14T04:25:48.887763Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-05-14T04:25:48.887764Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-14T04:25:48.887765Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887777Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-05-14T04:25:48.887779Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-05-14T04:25:48.887780Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-14T04:25:48.887781Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-05-14T04:25:48.887783Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-05-14T04:25:48.887784Z 01O | ^ 2026-05-14T04:25:48.887785Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-14T04:25:48.887786Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-14T04:25:48.887787Z 01O | ^ 2026-05-14T04:25:48.887787Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887788Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887789Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887790Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-05-14T04:25:48.887791Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-14T04:25:48.887792Z 01O | ^ 2026-05-14T04:25:48.887854Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887855Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887857Z 01O | ^ 2026-05-14T04:25:48.887865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-14T04:25:48.887867Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-14T04:25:48.887867Z 01O | ^ 2026-05-14T04:25:48.887868Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887869Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887870Z 01O | ^~~~~~~~~~~~ 2026-05-14T04:25:48.887871Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-05-14T04:25:48.887872Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-14T04:25:48.887873Z 01O | ^ 2026-05-14T04:25:48.887873Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887874Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887875Z 01O | ^ 2026-05-14T04:25:48.887876Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-05-14T04:25:48.887877Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-14T04:25:48.887878Z 01O | ^ 2026-05-14T04:25:48.887937Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-05-14T04:25:48.887939Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-05-14T04:25:48.887940Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.887947Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-05-14T04:25:48.887955Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-05-14T04:25:48.887956Z 01O | ^ 2026-05-14T04:25:48.887957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-05-14T04:25:48.887958Z 01O 13 | if (!length(l)) return(l); 2026-05-14T04:25:48.887959Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.887959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-05-14T04:25:48.887960Z 01O 13 | if (!length(l)) return(l); 2026-05-14T04:25:48.887961Z 01O | ^ 2026-05-14T04:25:48.887962Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-05-14T04:25:48.887963Z 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-05-14T04:25:48.887964Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.888025Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-05-14T04:25:48.888026Z 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-05-14T04:25:48.888028Z 01O | ^ 2026-05-14T04:25:48.888029Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-05-14T04:25:48.888030Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-05-14T04:25:48.888030Z 01O | ^~~~ 2026-05-14T04:25:48.888040Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-05-14T04:25:48.888041Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-05-14T04:25:48.888042Z 01O | ^ 2026-05-14T04:25:48.888043Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-05-14T04:25:48.888044Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-05-14T04:25:48.888045Z 01O | ^~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.888046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-05-14T04:25:48.888047Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-05-14T04:25:48.888049Z 01O | ^~~~~ 2026-05-14T04:25:48.888049Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-05-14T04:25:48.888051Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-05-14T04:25:48.888052Z 01O | ^ 2026-05-14T04:25:48.888116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-05-14T04:25:48.888118Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.888119Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.888120Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.888121Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.888122Z 01O | ^ 2026-05-14T04:25:48.888129Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-14T04:25:48.888130Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.888131Z 01O | ^ 2026-05-14T04:25:48.888132Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.888133Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.888134Z 01O | ^ 2026-05-14T04:25:48.888135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-14T04:25:48.888136Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.888137Z 01O | ^ 2026-05-14T04:25:48.888146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-14T04:25:48.888148Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.888149Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.888150Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-14T04:25:48.888151Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.888152Z 01O | ^ 2026-05-14T04:25:48.888153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-14T04:25:48.888154Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.888155Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.888164Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-14T04:25:48.888166Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.888167Z 01O | ^ 2026-05-14T04:25:48.888167Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-14T04:25:48.888169Z 01O 37 | if (fill) { 2026-05-14T04:25:48.888169Z 01O | ^~~~ 2026-05-14T04:25:48.888172Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-14T04:25:48.888174Z 01O 37 | if (fill) { 2026-05-14T04:25:48.888174Z 01O | ^ 2026-05-14T04:25:48.888178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-14T04:25:48.888179Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.888180Z 01O | ^~~~ 2026-05-14T04:25:48.888181Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-14T04:25:48.888182Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.888183Z 01O | ^ 2026-05-14T04:25:48.888259Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-14T04:25:48.888261Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.888262Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.888336Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-14T04:25:48.888338Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.888339Z 01O | ^ 2026-05-14T04:25:48.888339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-14T04:25:48.888340Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.888341Z 01O | ^~~~~~ 2026-05-14T04:25:48.888341Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-14T04:25:48.888342Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.888343Z 01O | ^ 2026-05-14T04:25:48.888343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-14T04:25:48.888344Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.888345Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.888345Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-14T04:25:48.888346Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.888347Z 01O | ^ 2026-05-14T04:25:48.888348Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-14T04:25:48.888349Z 01O 49 | for (int j=0; j0 checked above 2026-05-14T04:25:48.888372Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.888373Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-14T04:25:48.888374Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.888375Z 01O | ^ 2026-05-14T04:25:48.888386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-14T04:25:48.888387Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.888388Z 01O | ^~~~~~~ 2026-05-14T04:25:48.888388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-14T04:25:48.888389Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.888390Z 01O | ^ 2026-05-14T04:25:48.888416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-14T04:25:48.888417Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.888418Z 01O | ^~~~ 2026-05-14T04:25:48.888418Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-14T04:25:48.888422Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-14T04:25:48.888423Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.888424Z 01O | ^~~~ 2026-05-14T04:25:48.888425Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-14T04:25:48.888426Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.888427Z 01O | ^ 2026-05-14T04:25:48.888455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-14T04:25:48.888456Z 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-05-14T04:25:48.888457Z 01O | ^~~~ 2026-05-14T04:25:48.888481Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-14T04:25:48.888482Z 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-05-14T04:25:48.888483Z 01O | ^ 2026-05-14T04:25:48.888545Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-14T04:25:48.888556Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.888557Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.888569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-14T04:25:48.888570Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.888571Z 01O | ^ 2026-05-14T04:25:48.888627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.888628Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.888629Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.888669Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-14T04:25:48.888670Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-14T04:25:48.888684Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.888684Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.888685Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-14T04:25:48.888686Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.888687Z 01O | ^ 2026-05-14T04:25:48.888688Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-14T04:25:48.888689Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.888690Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.888691Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-14T04:25:48.888697Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.888698Z 01O | ^ 2026-05-14T04:25:48.888699Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-05-14T04:25:48.888700Z 01O 83 | int nuniq=0; 2026-05-14T04:25:48.888700Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.888701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-05-14T04:25:48.888702Z 01O 85 | for (int i=0; i0 checked above 2026-05-14T04:25:48.889466Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.889467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.889468Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.889469Z 01O | ^ 2026-05-14T04:25:48.889538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-14T04:25:48.889539Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.889540Z 01O | ^ 2026-05-14T04:25:48.889541Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.889542Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.889543Z 01O | ^ 2026-05-14T04:25:48.889543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-14T04:25:48.889544Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.889545Z 01O | ^ 2026-05-14T04:25:48.889604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-14T04:25:48.889605Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.889606Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.889607Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-14T04:25:48.889608Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.889609Z 01O | ^ 2026-05-14T04:25:48.889613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-14T04:25:48.889614Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.889615Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.889616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-14T04:25:48.889617Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.889618Z 01O | ^ 2026-05-14T04:25:48.889618Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-14T04:25:48.889619Z 01O 37 | if (fill) { 2026-05-14T04:25:48.889620Z 01O | ^~~~ 2026-05-14T04:25:48.889697Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-14T04:25:48.889698Z 01O 37 | if (fill) { 2026-05-14T04:25:48.889699Z 01O | ^ 2026-05-14T04:25:48.889702Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-14T04:25:48.889703Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.889704Z 01O | ^~~~ 2026-05-14T04:25:48.889705Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-14T04:25:48.889706Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.889707Z 01O | ^ 2026-05-14T04:25:48.889713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-14T04:25:48.889714Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.889715Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.889716Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-14T04:25:48.889726Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.889728Z 01O | ^ 2026-05-14T04:25:48.889728Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-14T04:25:48.889729Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.889730Z 01O | ^~~~~~ 2026-05-14T04:25:48.889781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-14T04:25:48.889782Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.889783Z 01O | ^ 2026-05-14T04:25:48.889783Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-14T04:25:48.889784Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.889786Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.889790Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-14T04:25:48.889791Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.889792Z 01O | ^ 2026-05-14T04:25:48.889793Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-14T04:25:48.889794Z 01O 49 | for (int j=0; j0 checked above 2026-05-14T04:25:48.889864Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.889867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-14T04:25:48.889868Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.889869Z 01O | ^ 2026-05-14T04:25:48.889870Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-14T04:25:48.889871Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.889872Z 01O | ^~~~~~~ 2026-05-14T04:25:48.889876Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-14T04:25:48.889878Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.889878Z 01O | ^ 2026-05-14T04:25:48.889879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-14T04:25:48.889880Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.889881Z 01O | ^~~~ 2026-05-14T04:25:48.889882Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-14T04:25:48.889940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-14T04:25:48.889942Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.889943Z 01O | ^~~~ 2026-05-14T04:25:48.889944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-14T04:25:48.889945Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.889946Z 01O | ^ 2026-05-14T04:25:48.889949Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-14T04:25:48.889950Z 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-05-14T04:25:48.889961Z 01O | ^~~~ 2026-05-14T04:25:48.889986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-14T04:25:48.889987Z 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-05-14T04:25:48.889989Z 01O | ^ 2026-05-14T04:25:48.889989Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-14T04:25:48.889990Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.889991Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.889992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-14T04:25:48.889993Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.889994Z 01O | ^ 2026-05-14T04:25:48.892546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.892549Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.892550Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.892551Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-14T04:25:48.892552Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-14T04:25:48.892553Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.892554Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.892601Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-14T04:25:48.892603Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.892603Z 01O | ^ 2026-05-14T04:25:48.892604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-14T04:25:48.892605Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.892606Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.892610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-14T04:25:48.892611Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.892612Z 01O | ^ 2026-05-14T04:25:48.892613Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-14T04:25:48.892613Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-14T04:25:48.892684Z 01O 92 | for (int j=0; j 'ncol' 2026-05-14T04:25:48.892755Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-14T04:25:48.892756Z 01O | ^~~~~~ 2026-05-14T04:25:48.892756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-05-14T04:25:48.892757Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-14T04:25:48.892758Z 01O | ^ 2026-05-14T04:25:48.892761Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-05-14T04:25:48.892762Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-14T04:25:48.892763Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.892764Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-05-14T04:25:48.892765Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-05-14T04:25:48.892766Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.892771Z 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-05-14T04:25:48.892772Z 01O 153 | for (int j=0; j0 checked above 2026-05-14T04:25:48.893005Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.893009Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.893010Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.893011Z 01O | ^ 2026-05-14T04:25:48.893011Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-14T04:25:48.893012Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.893013Z 01O | ^ 2026-05-14T04:25:48.893016Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.893017Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.893018Z 01O | ^ 2026-05-14T04:25:48.893018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-14T04:25:48.893019Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.893020Z 01O | ^ 2026-05-14T04:25:48.893023Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-14T04:25:48.893024Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.893025Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.893026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-14T04:25:48.893027Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.893028Z 01O | ^ 2026-05-14T04:25:48.893031Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-14T04:25:48.893032Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.893033Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.893034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-14T04:25:48.893035Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.893035Z 01O | ^ 2026-05-14T04:25:48.893036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-14T04:25:48.893037Z 01O 37 | if (fill) { 2026-05-14T04:25:48.893038Z 01O | ^~~~ 2026-05-14T04:25:48.893050Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-14T04:25:48.893051Z 01O 37 | if (fill) { 2026-05-14T04:25:48.893051Z 01O | ^ 2026-05-14T04:25:48.893054Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-14T04:25:48.893055Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.893056Z 01O | ^~~~ 2026-05-14T04:25:48.893056Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-14T04:25:48.893057Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.893058Z 01O | ^ 2026-05-14T04:25:48.893062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-14T04:25:48.893063Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.893064Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-14T04:25:48.893069Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.893070Z 01O | ^ 2026-05-14T04:25:48.893071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-14T04:25:48.893072Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.893073Z 01O | ^~~~~~ 2026-05-14T04:25:48.893073Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-14T04:25:48.893074Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.893075Z 01O | ^ 2026-05-14T04:25:48.893078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-14T04:25:48.893079Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.893081Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.893084Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-14T04:25:48.893085Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.893086Z 01O | ^ 2026-05-14T04:25:48.893087Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-14T04:25:48.893088Z 01O 49 | for (int j=0; j0 checked above 2026-05-14T04:25:48.893106Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.893107Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-14T04:25:48.893107Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.893108Z 01O | ^ 2026-05-14T04:25:48.893108Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-14T04:25:48.893109Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.893109Z 01O | ^~~~~~~ 2026-05-14T04:25:48.893113Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-14T04:25:48.893113Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.893120Z 01O | ^ 2026-05-14T04:25:48.893120Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-14T04:25:48.893121Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.893121Z 01O | ^~~~ 2026-05-14T04:25:48.893122Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-14T04:25:48.893125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-14T04:25:48.893125Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.893126Z 01O | ^~~~ 2026-05-14T04:25:48.893126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-14T04:25:48.893127Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.893128Z 01O | ^ 2026-05-14T04:25:48.893131Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-14T04:25:48.893131Z 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-05-14T04:25:48.893133Z 01O | ^~~~ 2026-05-14T04:25:48.893134Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-14T04:25:48.893135Z 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-05-14T04:25:48.893136Z 01O | ^ 2026-05-14T04:25:48.893139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-14T04:25:48.893140Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.893141Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.893141Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-14T04:25:48.893142Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.893142Z 01O | ^ 2026-05-14T04:25:48.893145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.893146Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.893146Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-14T04:25:48.893147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-14T04:25:48.893148Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.893148Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.893151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-14T04:25:48.893152Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.893152Z 01O | ^ 2026-05-14T04:25:48.893153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-14T04:25:48.893153Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.893154Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.893157Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-14T04:25:48.893157Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.893158Z 01O | ^ 2026-05-14T04:25:48.893158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-14T04:25:48.893159Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-14T04:25:48.893204Z 01O 92 | for (int j=0; j= 'thisncol' 2026-05-14T04:25:48.893267Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-05-14T04:25:48.893283Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.893284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-05-14T04:25:48.893285Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-05-14T04:25:48.893285Z 01O | ^ 2026-05-14T04:25:48.893286Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-05-14T04:25:48.893286Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-05-14T04:25:48.893298Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.893298Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-05-14T04:25:48.893299Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-14T04:25:48.893300Z 01O | ^ 2026-05-14T04:25:48.893302Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-05-14T04:25:48.893303Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893303Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.893304Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-14T04:25:48.893304Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-05-14T04:25:48.893305Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893306Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893308Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-14T04:25:48.893309Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893309Z 01O | ^ 2026-05-14T04:25:48.893310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-05-14T04:25:48.893311Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893311Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-05-14T04:25:48.893312Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893313Z 01O | ^ 2026-05-14T04:25:48.893315Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-05-14T04:25:48.893315Z 01O 142 | for (int i=0; i= 'ncol' 2026-05-14T04:25:48.893332Z 01O 143 | for (int i=0; i0 checked above 2026-05-14T04:25:48.893498Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.893500Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.893501Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.893502Z 01O | ^ 2026-05-14T04:25:48.893502Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-14T04:25:48.893503Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.893503Z 01O | ^ 2026-05-14T04:25:48.893505Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.893506Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.893507Z 01O | ^ 2026-05-14T04:25:48.893507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-14T04:25:48.893508Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.893508Z 01O | ^ 2026-05-14T04:25:48.893510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-14T04:25:48.893514Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.893515Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.893518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-14T04:25:48.893518Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.893519Z 01O | ^ 2026-05-14T04:25:48.893520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-14T04:25:48.893520Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.893521Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.893524Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-14T04:25:48.893524Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.893525Z 01O | ^ 2026-05-14T04:25:48.893525Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-14T04:25:48.893526Z 01O 37 | if (fill) { 2026-05-14T04:25:48.893526Z 01O | ^~~~ 2026-05-14T04:25:48.893527Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-14T04:25:48.893527Z 01O 37 | if (fill) { 2026-05-14T04:25:48.893528Z 01O | ^ 2026-05-14T04:25:48.893528Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-14T04:25:48.893529Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.893529Z 01O | ^~~~ 2026-05-14T04:25:48.893530Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-14T04:25:48.893530Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.893531Z 01O | ^ 2026-05-14T04:25:48.893539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-14T04:25:48.893539Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.893540Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893543Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-14T04:25:48.893544Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.893544Z 01O | ^ 2026-05-14T04:25:48.893545Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-14T04:25:48.893545Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.893546Z 01O | ^~~~~~ 2026-05-14T04:25:48.893546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-14T04:25:48.893547Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.893547Z 01O | ^ 2026-05-14T04:25:48.893550Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-14T04:25:48.893551Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.893552Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.893552Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-14T04:25:48.893553Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.893554Z 01O | ^ 2026-05-14T04:25:48.893555Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-05-14T04:25:48.893556Z 01O 49 | for (int j=0; j0 checked above 2026-05-14T04:25:48.893566Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.893567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-14T04:25:48.893568Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.893568Z 01O | ^ 2026-05-14T04:25:48.893569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-14T04:25:48.893569Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.893570Z 01O | ^~~~~~~ 2026-05-14T04:25:48.893572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-14T04:25:48.893573Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.893573Z 01O | ^ 2026-05-14T04:25:48.893573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-14T04:25:48.893574Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.893575Z 01O | ^~~~ 2026-05-14T04:25:48.893577Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-14T04:25:48.893579Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-14T04:25:48.893580Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.893581Z 01O | ^~~~ 2026-05-14T04:25:48.893581Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-14T04:25:48.893582Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.893582Z 01O | ^ 2026-05-14T04:25:48.893585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-14T04:25:48.893585Z 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-05-14T04:25:48.893586Z 01O | ^~~~ 2026-05-14T04:25:48.893589Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-14T04:25:48.893590Z 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-05-14T04:25:48.893591Z 01O | ^ 2026-05-14T04:25:48.893591Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-14T04:25:48.893592Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.893592Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.893595Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-14T04:25:48.893595Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.893596Z 01O | ^ 2026-05-14T04:25:48.893597Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.893597Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.893598Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893598Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-14T04:25:48.893601Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-05-14T04:25:48.893602Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.893605Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.893606Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-05-14T04:25:48.893606Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.893607Z 01O | ^ 2026-05-14T04:25:48.893609Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-05-14T04:25:48.893610Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.893611Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.893611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-05-14T04:25:48.893612Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-05-14T04:25:48.893613Z 01O | ^ 2026-05-14T04:25:48.893616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-05-14T04:25:48.893616Z 01O 85 | for (int i=0; i= 'thisncol' 2026-05-14T04:25:48.893658Z 01O 92 | for (int j=0; j= 'thisncol' 2026-05-14T04:25:48.893701Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-05-14T04:25:48.893711Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.893711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-05-14T04:25:48.893712Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-05-14T04:25:48.893713Z 01O | ^ 2026-05-14T04:25:48.893714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-05-14T04:25:48.893715Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-05-14T04:25:48.893730Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.893730Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-05-14T04:25:48.893731Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-05-14T04:25:48.893731Z 01O | ^ 2026-05-14T04:25:48.893732Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-05-14T04:25:48.893732Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893733Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.893734Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-14T04:25:48.893737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-05-14T04:25:48.893737Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893741Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893742Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-05-14T04:25:48.893742Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893743Z 01O | ^ 2026-05-14T04:25:48.893799Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-05-14T04:25:48.893803Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893803Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.893809Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-05-14T04:25:48.893810Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-05-14T04:25:48.893810Z 01O | ^ 2026-05-14T04:25:48.893814Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-05-14T04:25:48.893815Z 01O 142 | for (int i=0; i= 'ncol' 2026-05-14T04:25:48.893878Z 01O 143 | for (int i=0; i0 checked above 2026-05-14T04:25:48.894915Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.894917Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.894918Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.894919Z 01O | ^ 2026-05-14T04:25:48.894919Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-14T04:25:48.894920Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.894920Z 01O | ^ 2026-05-14T04:25:48.894946Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.894949Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.894950Z 01O | ^ 2026-05-14T04:25:48.894956Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-14T04:25:48.894957Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.894958Z 01O | ^ 2026-05-14T04:25:48.895002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-14T04:25:48.895004Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.895005Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.895006Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-14T04:25:48.895007Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.895008Z 01O | ^ 2026-05-14T04:25:48.895034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-14T04:25:48.895036Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.895036Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.895042Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-14T04:25:48.895043Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.895044Z 01O | ^ 2026-05-14T04:25:48.895045Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-14T04:25:48.895046Z 01O 37 | if (fill) { 2026-05-14T04:25:48.895046Z 01O | ^~~~ 2026-05-14T04:25:48.895116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-14T04:25:48.895118Z 01O 37 | if (fill) { 2026-05-14T04:25:48.895118Z 01O | ^ 2026-05-14T04:25:48.895118Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-14T04:25:48.895119Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.895120Z 01O | ^~~~ 2026-05-14T04:25:48.895126Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-14T04:25:48.895126Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.895127Z 01O | ^ 2026-05-14T04:25:48.895212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-14T04:25:48.895212Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.895218Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.895221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-14T04:25:48.895232Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.895233Z 01O | ^ 2026-05-14T04:25:48.895237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-14T04:25:48.895238Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.895238Z 01O | ^~~~~~ 2026-05-14T04:25:48.895239Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-14T04:25:48.895239Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.895240Z 01O | ^ 2026-05-14T04:25:48.895365Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-05-14T04:25:48.895366Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.895366Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.895369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.895370Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.895370Z 01O | ^ 2026-05-14T04:25:48.895374Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-05-14T04:25:48.895375Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.895376Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.895376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-05-14T04:25:48.895377Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.895378Z 01O | ^ 2026-05-14T04:25:48.895378Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-14T04:25:48.895379Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.895380Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.895463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-14T04:25:48.895464Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.895465Z 01O | ^ 2026-05-14T04:25:48.895465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.895466Z 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-05-14T04:25:48.895471Z 01O | ^~~~ 2026-05-14T04:25:48.895475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-05-14T04:25:48.895476Z 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-05-14T04:25:48.895477Z 01O | ^ 2026-05-14T04:25:48.895486Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-05-14T04:25:48.895487Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-14T04:25:48.895488Z 01O | ^~~~~ 2026-05-14T04:25:48.895490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-05-14T04:25:48.895491Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-14T04:25:48.895492Z 01O | ^ 2026-05-14T04:25:48.895492Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-05-14T04:25:48.895493Z 01O 49 | for (int j=0; j0 checked above 2026-05-14T04:25:48.895510Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.895512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-14T04:25:48.895513Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.895513Z 01O | ^ 2026-05-14T04:25:48.895514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-14T04:25:48.895514Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.895515Z 01O | ^~~~~~~ 2026-05-14T04:25:48.895517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-14T04:25:48.895518Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.895518Z 01O | ^ 2026-05-14T04:25:48.895519Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-05-14T04:25:48.895519Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.895520Z 01O | ^~~~ 2026-05-14T04:25:48.895624Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-05-14T04:25:48.895627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-05-14T04:25:48.895627Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.895628Z 01O | ^~~~ 2026-05-14T04:25:48.895628Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-05-14T04:25:48.895629Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.895630Z 01O | ^ 2026-05-14T04:25:48.895632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-14T04:25:48.895632Z 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-05-14T04:25:48.895633Z 01O | ^~~~ 2026-05-14T04:25:48.895719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-14T04:25:48.895720Z 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-05-14T04:25:48.895721Z 01O | ^ 2026-05-14T04:25:48.895723Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-14T04:25:48.895724Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.895724Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.895727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-14T04:25:48.895727Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.895732Z 01O | ^ 2026-05-14T04:25:48.895733Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-05-14T04:25:48.895733Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-05-14T04:25:48.895734Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.895824Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.895825Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.895825Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.895828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-14T04:25:48.895828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-05-14T04:25:48.895829Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.895829Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.895831Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-05-14T04:25:48.895832Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.895833Z 01O | ^ 2026-05-14T04:25:48.895835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-05-14T04:25:48.895836Z 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-05-14T04:25:48.895837Z 01O | ^~~~ 2026-05-14T04:25:48.895963Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-05-14T04:25:48.895963Z 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-05-14T04:25:48.895964Z 01O | ^ 2026-05-14T04:25:48.895965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-05-14T04:25:48.895965Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.895966Z 01O | ^~~~ 2026-05-14T04:25:48.895968Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-05-14T04:25:48.895969Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.895969Z 01O | ^ 2026-05-14T04:25:48.895971Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.895972Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.895973Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.895973Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-05-14T04:25:48.895976Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-05-14T04:25:48.895976Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.895977Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.895978Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-05-14T04:25:48.895978Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.895979Z 01O | ^ 2026-05-14T04:25:48.895980Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-05-14T04:25:48.895981Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-14T04:25:48.895982Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.896067Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-05-14T04:25:48.896068Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-14T04:25:48.896068Z 01O | ^ 2026-05-14T04:25:48.896071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-05-14T04:25:48.896076Z 01O 251 | if (idcol) { 2026-05-14T04:25:48.896077Z 01O | ^~~~~ 2026-05-14T04:25:48.896077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-05-14T04:25:48.896078Z 01O 251 | if (idcol) { 2026-05-14T04:25:48.896078Z 01O | ^ 2026-05-14T04:25:48.896079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.896079Z 01O 276 | for(int j=0; j0 checked above 2026-05-14T04:25:48.896956Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.897050Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.897051Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.897051Z 01O | ^ 2026-05-14T04:25:48.897054Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-05-14T04:25:48.897055Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.897055Z 01O | ^ 2026-05-14T04:25:48.897056Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-05-14T04:25:48.897056Z 01O 956 | #define isNull Rf_isNull 2026-05-14T04:25:48.897057Z 01O | ^ 2026-05-14T04:25:48.897057Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-05-14T04:25:48.897058Z 01O 32 | if (isNull(li)) continue; 2026-05-14T04:25:48.897058Z 01O | ^ 2026-05-14T04:25:48.897061Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-05-14T04:25:48.897061Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.897062Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.897063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-05-14T04:25:48.897063Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-05-14T04:25:48.897064Z 01O | ^ 2026-05-14T04:25:48.897163Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-05-14T04:25:48.897164Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.897165Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.897165Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-05-14T04:25:48.897166Z 01O 35 | if (!thisncol) continue; 2026-05-14T04:25:48.897166Z 01O | ^ 2026-05-14T04:25:48.897167Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-05-14T04:25:48.897167Z 01O 37 | if (fill) { 2026-05-14T04:25:48.897168Z 01O | ^~~~ 2026-05-14T04:25:48.897168Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-05-14T04:25:48.897169Z 01O 37 | if (fill) { 2026-05-14T04:25:48.897169Z 01O | ^ 2026-05-14T04:25:48.897173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-05-14T04:25:48.897173Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.897174Z 01O | ^~~~ 2026-05-14T04:25:48.897179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-05-14T04:25:48.897179Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-05-14T04:25:48.897180Z 01O | ^ 2026-05-14T04:25:48.897180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-05-14T04:25:48.897181Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.897182Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.897280Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-05-14T04:25:48.897280Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-05-14T04:25:48.897281Z 01O | ^ 2026-05-14T04:25:48.897282Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-05-14T04:25:48.897282Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.897283Z 01O | ^~~~~~ 2026-05-14T04:25:48.897283Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-05-14T04:25:48.897284Z 01O 45 | if (nNames>0) anyNames=true; 2026-05-14T04:25:48.897284Z 01O | ^ 2026-05-14T04:25:48.897287Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-05-14T04:25:48.897288Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.897289Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.897289Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.897290Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.897291Z 01O | ^ 2026-05-14T04:25:48.897398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-05-14T04:25:48.897399Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.897400Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.897403Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-05-14T04:25:48.897404Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.897405Z 01O | ^ 2026-05-14T04:25:48.897405Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-05-14T04:25:48.897406Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.897407Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.897409Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-05-14T04:25:48.897410Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-05-14T04:25:48.897411Z 01O | ^ 2026-05-14T04:25:48.897411Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.897412Z 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-05-14T04:25:48.897502Z 01O | ^~~~ 2026-05-14T04:25:48.897507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-05-14T04:25:48.897508Z 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-05-14T04:25:48.897509Z 01O | ^ 2026-05-14T04:25:48.897509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-05-14T04:25:48.897510Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-14T04:25:48.897511Z 01O | ^~~~~ 2026-05-14T04:25:48.897511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-05-14T04:25:48.897512Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-05-14T04:25:48.897512Z 01O | ^ 2026-05-14T04:25:48.897515Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-05-14T04:25:48.897516Z 01O 49 | for (int j=0; j0 checked above 2026-05-14T04:25:48.897518Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.897548Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-05-14T04:25:48.897549Z 01O 29 | for (int i=0; i0 checked above 2026-05-14T04:25:48.897549Z 01O | ^ 2026-05-14T04:25:48.897550Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-05-14T04:25:48.897550Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.897551Z 01O | ^~~~~~~ 2026-05-14T04:25:48.897551Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-05-14T04:25:48.897552Z 01O 57 | if (numZero) { // #1871 2026-05-14T04:25:48.897552Z 01O | ^ 2026-05-14T04:25:48.897555Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-05-14T04:25:48.897555Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.897556Z 01O | ^~~~ 2026-05-14T04:25:48.897556Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-05-14T04:25:48.897557Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-05-14T04:25:48.897558Z 01O | ^ 2026-05-14T04:25:48.897610Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-05-14T04:25:48.897611Z 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-05-14T04:25:48.897612Z 01O | ^~~~ 2026-05-14T04:25:48.897661Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-05-14T04:25:48.897662Z 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-05-14T04:25:48.897663Z 01O | ^ 2026-05-14T04:25:48.897720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-05-14T04:25:48.897720Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.897721Z 01O | ^~~~~~~~~~~~~~ 2026-05-14T04:25:48.897723Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-05-14T04:25:48.897729Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-05-14T04:25:48.897730Z 01O | ^ 2026-05-14T04:25:48.897730Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-05-14T04:25:48.897731Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-05-14T04:25:48.897732Z 01O | ^~~~~~~~~~~ 2026-05-14T04:25:48.897736Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.897737Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.897737Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.897738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-05-14T04:25:48.897738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-05-14T04:25:48.897739Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.897740Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.897824Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-05-14T04:25:48.897825Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-05-14T04:25:48.897825Z 01O | ^ 2026-05-14T04:25:48.897827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-05-14T04:25:48.897828Z 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-05-14T04:25:48.897829Z 01O | ^~~~ 2026-05-14T04:25:48.897892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-05-14T04:25:48.897893Z 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-05-14T04:25:48.897894Z 01O | ^ 2026-05-14T04:25:48.897952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-05-14T04:25:48.897952Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.897953Z 01O | ^~~~ 2026-05-14T04:25:48.897953Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-05-14T04:25:48.897954Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.897955Z 01O | ^ 2026-05-14T04:25:48.897955Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-05-14T04:25:48.897956Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.897956Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.897957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-05-14T04:25:48.897957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-05-14T04:25:48.897958Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.897959Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.897959Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-05-14T04:25:48.897960Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-05-14T04:25:48.897965Z 01O | ^ 2026-05-14T04:25:48.897965Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-05-14T04:25:48.897966Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-14T04:25:48.897967Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.898016Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-05-14T04:25:48.898021Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-05-14T04:25:48.898021Z 01O | ^ 2026-05-14T04:25:48.898022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-05-14T04:25:48.898022Z 01O 251 | if (idcol) { 2026-05-14T04:25:48.898023Z 01O | ^~~~~ 2026-05-14T04:25:48.898023Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-05-14T04:25:48.898024Z 01O 251 | if (idcol) { 2026-05-14T04:25:48.898024Z 01O | ^ 2026-05-14T04:25:48.898027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:276:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.898028Z 01O 276 | for(int j=0; j= 1 2026-05-14T04:25:48.898744Z 01O 27 | if (n<1) return 0; 2026-05-14T04:25:48.898744Z 01O | ^~~ 2026-05-14T04:25:48.898834Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-05-14T04:25:48.898835Z 01O 27 | if (n<1) return 0; 2026-05-14T04:25:48.898835Z 01O | ^ 2026-05-14T04:25:48.898835Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-05-14T04:25:48.898836Z 01O 29 | va_start(ap, fmt); 2026-05-14T04:25:48.898837Z 01O | ^ 2026-05-14T04:25:48.898840Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-05-14T04:25:48.898840Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-05-14T04:25:48.898841Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-05-14T04:25:48.898842Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-05-14T04:25:48.898842Z 01O 40 | while (*ch!='\0') { 2026-05-14T04:25:48.898843Z 01O | ^~~~~~~~~ 2026-05-14T04:25:48.898929Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-05-14T04:25:48.898930Z 01O 40 | while (*ch!='\0') { 2026-05-14T04:25:48.898930Z 01O | ^ 2026-05-14T04:25:48.898931Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-05-14T04:25:48.898931Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-05-14T04:25:48.898932Z 01O | ^~~~~~~~ 2026-05-14T04:25:48.898932Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-05-14T04:25:48.898933Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-05-14T04:25:48.898933Z 01O | ^ 2026-05-14T04:25:48.898938Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-05-14T04:25:48.898939Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-05-14T04:25:48.898940Z 01O | ^~~~~~~~~~ 2026-05-14T04:25:48.898940Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-05-14T04:25:48.898941Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-05-14T04:25:48.898941Z 01O | ^ 2026-05-14T04:25:48.898942Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-05-14T04:25:48.898942Z 01O 47 | if (!end) { 2026-05-14T04:25:48.898943Z 01O | ^~~~ 2026-05-14T04:25:48.898943Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-05-14T04:25:48.898944Z 01O 47 | if (!end) { 2026-05-14T04:25:48.898948Z 01O | ^ 2026-05-14T04:25:48.899027Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-05-14T04:25:48.899028Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-05-14T04:25:48.899029Z 01O | ^ 2026-05-14T04:25:48.899033Z 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-05-14T04:25:48.899035Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-05-14T04:25:48.899035Z 01O | ^~~~~~ 2026-05-14T04:25:48.899036Z 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-05-14T04:25:48.899037Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-05-14T04:25:48.899037Z 01O | ^~~~~~ 2026-05-14T04:25:48.899306Z 01E Suppressed 1 warnings (1 in non-user code). 2026-05-14T04:25:48.899306Z 01E Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 2026-05-14T04:25:48.916042Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-05-14T04:25:49.449722Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-05-14T04:25:49.449835Z 01O * using R Under development (unstable) (2026-05-12 r90049) 2026-05-14T04:25:49.450093Z 01O * using platform: x86_64-pc-linux-gnu 2026-05-14T04:25:49.450292Z 01O * R was compiled by 2026-05-14T04:25:49.450404Z 01O Debian clang version 21.1.8 (7+b1) 2026-05-14T04:25:49.450405Z 01O GNU Fortran (Debian 15.2.0-17) 15.2.0 2026-05-14T04:25:49.450665Z 01O * running under: Debian GNU/Linux forky/sid 2026-05-14T04:25:49.450909Z 01O * using session charset: UTF-8 2026-05-14T04:25:49.451586Z 01O * current time: 2026-05-14 04:25:49 UTC 2026-05-14T04:25:50.215898Z 01O * using option ‘--as-cran’ 2026-05-14T04:25:50.216173Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-05-14T04:25:50.218418Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-05-14T04:25:50.218624Z 01O * package encoding: UTF-8 2026-05-14T04:25:50.218852Z 01O * checking CRAN incoming feasibility ... OK 2026-05-14T04:25:50.747291Z 01O * checking package namespace information ... OK 2026-05-14T04:25:50.754671Z 01O * checking package dependencies ... OK 2026-05-14T04:25:51.909081Z 01O * checking if this is a source package ... OK 2026-05-14T04:25:51.912198Z 01O * checking if there is a namespace ... OK 2026-05-14T04:25:51.917360Z 01O * checking for .dll and .exe files ... OK 2026-05-14T04:25:51.917994Z 01O * checking for hidden files and directories ... OK 2026-05-14T04:25:51.921163Z 01O * checking for portable file names ... OK 2026-05-14T04:25:51.926095Z 01O * checking for sufficient/correct file permissions ... OK 2026-05-14T04:25:51.930085Z 01O * checking whether package ‘data.table’ can be installed ... [22s/22s] OK 2026-05-14T04:26:14.233285Z 01O * used C compiler: ‘Debian clang version 21.1.8 (7+b1)’ 2026-05-14T04:26:14.233743Z 01O * checking installed package size ... INFO 2026-05-14T04:26:14.237973Z 01O installed size is 7.9Mb 2026-05-14T04:26:14.238846Z 01O sub-directories of 1Mb or more: 2026-05-14T04:26:14.239493Z 01O doc 1.1Mb 2026-05-14T04:26:14.239494Z 01O libs 1.5Mb 2026-05-14T04:26:14.239495Z 01O po 1.7Mb 2026-05-14T04:26:14.239495Z 01O tests 2.2Mb 2026-05-14T04:26:14.262202Z 01O * checking package directory ... OK 2026-05-14T04:26:14.262711Z 01O * checking for future file timestamps ... OK 2026-05-14T04:26:14.263339Z 01O * checking ‘build’ directory ... OK 2026-05-14T04:26:14.264244Z 01O * checking DESCRIPTION meta-information ... OK 2026-05-14T04:26:15.064432Z 01O * checking top-level files ... OK 2026-05-14T04:26:16.518715Z 01O * checking for left-over files ... OK 2026-05-14T04:26:16.521971Z 01O * checking index information ... OK 2026-05-14T04:26:16.698155Z 01O * checking package subdirectories ... OK 2026-05-14T04:26:17.091706Z 01O * checking code files for non-ASCII characters ... OK 2026-05-14T04:26:17.145097Z 01O * checking R files for syntax errors ... OK 2026-05-14T04:26:17.226116Z 01O * checking whether the package can be loaded ... OK 2026-05-14T04:26:17.436387Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-05-14T04:26:17.605056Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-05-14T04:26:17.774148Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-05-14T04:26:17.945442Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-05-14T04:26:18.160173Z 01O * checking loading without being on the library search path ... OK 2026-05-14T04:26:18.582696Z 01O * checking whether startup messages can be suppressed ... OK 2026-05-14T04:26:18.792356Z 01O * checking use of S3 registration ... OK 2026-05-14T04:26:18.825438Z 01O * checking dependencies in R code ... OK 2026-05-14T04:26:19.744084Z 01O * checking S3 generic/method consistency ... OK 2026-05-14T04:26:20.119591Z 01O * checking replacement functions ... OK 2026-05-14T04:26:20.338754Z 01O * checking foreign function calls ... OK 2026-05-14T04:26:21.136359Z 01O * checking R code for possible problems ... [17s/17s] OK 2026-05-14T04:26:38.134325Z 01O * checking Rd files ... OK 2026-05-14T04:26:39.033749Z 01O * checking Rd metadata ... OK 2026-05-14T04:26:39.080183Z 01O * checking Rd line widths ... OK 2026-05-14T04:26:39.385843Z 01O * checking Rd cross-references ... OK 2026-05-14T04:26:40.055292Z 01O * checking for missing documentation entries ... OK 2026-05-14T04:26:40.313933Z 01O * checking for code/documentation mismatches ... OK 2026-05-14T04:26:41.406919Z 01O * checking Rd \usage sections ... OK 2026-05-14T04:26:42.353730Z 01O * checking Rd contents ... OK 2026-05-14T04:26:42.829559Z 01O * checking for unstated dependencies in examples ... OK 2026-05-14T04:26:43.354141Z 01O * checking line endings in shell scripts ... OK 2026-05-14T04:26:43.354773Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-05-14T04:26:43.378698Z 01O * checking line endings in Makefiles ... OK 2026-05-14T04:26:43.380970Z 01O * checking compilation flags in Makevars ... OK 2026-05-14T04:26:43.489451Z 01O * checking for GNU extensions in Makefiles ... OK 2026-05-14T04:26:43.499649Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-05-14T04:26:43.501444Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-05-14T04:26:43.505877Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-05-14T04:26:43.513440Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-05-14T04:26:43.539244Z 01O * checking compilation flags used ... OK 2026-05-14T04:26:43.541500Z 01O * checking compiled code ... OK 2026-05-14T04:26:43.670477Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-05-14T04:26:43.893389Z 01O * checking files in ‘vignettes’ ... OK 2026-05-14T04:26:44.749004Z 01O * checking examples ... OK 2026-05-14T04:26:52.142833Z 01O * checking examples with --run-donttest ... OK 2026-05-14T04:27:02.589169Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-05-14T04:27:02.664614Z 01O * checking tests ... 2026-05-14T04:27:02.827190Z 01O Running ‘autoprint.R’ 2026-05-14T04:27:03.088622Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-05-14T04:27:03.096507Z 01O Running ‘froll.R’ [391s/391s] 2026-05-14T04:33:34.503729Z 01O Running ‘litedown.R’ 2026-05-14T04:33:34.807988Z 01O Running ‘main.R’ [42s/42s] 2026-05-14T04:34:16.346278Z 01O Running ‘mergelist.R’ 2026-05-14T04:34:17.923498Z 01O Running ‘nafill.R’ 2026-05-14T04:34:18.436248Z 01O Running ‘optimize.R’ 2026-05-14T04:34:19.816311Z 01O Running ‘other.R’ 2026-05-14T04:34:20.033684Z 01O Running ‘programming.R’ 2026-05-14T04:34:20.633894Z 01O Running ‘S4.R’ 2026-05-14T04:34:20.955939Z 01O Running ‘types.R’ 2026-05-14T04:34:21.207313Z 01O [439s/439s] OK 2026-05-14T04:34:21.308013Z 01O * checking for unstated dependencies in vignettes ... OK 2026-05-14T04:34:21.593235Z 01O * checking package vignettes ... OK 2026-05-14T04:34:22.208284Z 01O * checking re-building of vignette outputs ... [30s/31s] OK 2026-05-14T04:34:52.997539Z 01O * checking PDF version of manual ... OK 2026-05-14T04:34:58.791346Z 01O * checking HTML version of manual ... NOTE 2026-05-14T04:35:05.146715Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-05-14T04:35:05.146727Z 01O * checking for non-standard things in the check directory ... OK 2026-05-14T04:35:05.149171Z 01E 2026-05-14T04:35:05.149173Z 01E See 2026-05-14T04:35:05.149174Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-05-14T04:35:05.149175Z 01E for details. 2026-05-14T04:35:05.149176Z 01E 2026-05-14T04:35:05.147289Z 01O * checking for detritus in the temp directory ... OK 2026-05-14T04:35:05.149205Z 01O * DONE 2026-05-14T04:35:05.149205Z 01O Status: 1 NOTE 2026-05-14T04:35:05.170623Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-05-14T04:35:05.172407Z 01O freadR.c:835:21: warning: implicit conversion from 'unsigned long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-const-int-float-conversion] 2026-05-14T04:35:05.355873Z 00O section_end:1778733305:step_script 2026-05-14T04:35:05.355878Z 00O+section_start:1778733305:after_script 2026-05-14T04:35:05.356305Z 00O+Running after_script 2026-05-14T04:35:05.715276Z 01O Running after script... 2026-05-14T04:35:05.715298Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-05-14T04:35:05.716595Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-05-14T04:35:05.716646Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-05-14T04:35:05.716776Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-05-14T04:35:05.716806Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-05-14T04:35:05.894378Z 00O section_end:1778733305:after_script 2026-05-14T04:35:05.894382Z 00O+section_start:1778733305:upload_artifacts_on_failure 2026-05-14T04:35:05.895120Z 00O+Uploading artifacts for failed job 2026-05-14T04:35:06.346999Z 01O Uploading artifacts... 2026-05-14T04:35:06.432942Z 01E bus/test-lin-dev-clang-cran: found 714 matching artifact files and directories 2026-05-14T04:35:08.751313Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=46868d51134c4436b25b396f0d46a240 id=14364355809 responseStatus=201 Created token=6f_aNiSQL 2026-05-14T04:35:08.932802Z 00O section_end:1778733308:upload_artifacts_on_failure 2026-05-14T04:35:08.932807Z 00O+section_start:1778733308:cleanup_file_variables 2026-05-14T04:35:08.932904Z 00O+Cleaning up project directory and file based variables 2026-05-14T04:35:09.449983Z 00O section_end:1778733309:cleanup_file_variables 2026-05-14T04:35:09.449987Z 00O+ 2026-05-14T04:35:09.491042Z 00O ERROR: Job failed: exit code 1