2026-07-31T04:21:49.220367Z 00O Running with gitlab-runner 19.2.0~pre.1355.g471b878c (471b878c) 2026-07-31T04:21:49.220378Z 00O  on green-4.saas-linux-medium-amd64.runners-manager.gitlab.com/default Yy-Tzs3Q7, system ID: s_57a32fe7e1c1 2026-07-31T04:21:49.220386Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true 2026-07-31T04:21:49.220409Z 00O Resolving secrets 2026-07-31T04:21:49.220557Z 00O section_start:1785471709:prepare_executor  2026-07-31T04:21:49.220561Z 00O+Preparing the "docker+machine" executor 2026-07-31T04:21:49.349572Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-07-31T04:21:53.008652Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-07-31T04:21:53.009102Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-07-31T04:21:53.009111Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-07-31T04:22:10.648662Z 00O Using docker image sha256:bf4623d5d20c8eee684cd529ed7f04f6ad90a9c6a117d16f18b49b43376594fb for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:2b70ae1b7944b080d82f724553312e058e883c766ff7e8360d7605c6467d0a92 ... 2026-07-31T04:22:10.648745Z 00O section_end:1785471730:prepare_executor  2026-07-31T04:22:10.648827Z 00O+section_start:1785471730:prepare_script  2026-07-31T04:22:10.648832Z 00O+Preparing environment 2026-07-31T04:22:10.649537Z 00O Using effective pull policy of [always] for container sha256:665aab5dc1a560d1d16ab9e89bee324b20015b6d86924fc8f51d8798bb0cd75b 2026-07-31T04:22:16.467248Z 01O Running on runner-yy-tzs3q7-project-3622566-concurrent-0 via runner-yy-tzs3q7-s-l-m-amd64-1785471264-8e68fcea... 2026-07-31T04:22:16.627438Z 00O section_end:1785471736:prepare_script  2026-07-31T04:22:16.627943Z 00O+section_start:1785471736:get_sources  2026-07-31T04:22:16.627949Z 00O+Getting source from Git repository 2026-07-31T04:22:16.975621Z 01O Gitaly correlation ID: 2f5de216a5e6447a8ac96b621baa2031 2026-07-31T04:22:16.982292Z 01O Fetching changes... 2026-07-31T04:22:16.985690Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-07-31T04:22:16.988136Z 01O Created fresh repository. 2026-07-31T04:22:22.767872Z 01O Checking out 7bc8bc13 as detached HEAD (ref is master)... 2026-07-31T04:22:22.947899Z 01O 2026-07-31T04:22:22.947904Z 01O Skipping Git submodules setup 2026-07-31T04:22:22.947905Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-07-31T04:22:23.147809Z 00O section_end:1785471743:get_sources  2026-07-31T04:22:23.148553Z 00O+section_start:1785471743:download_artifacts  2026-07-31T04:22:23.148560Z 00O+Downloading artifacts 2026-07-31T04:22:23.524092Z 01O Downloading artifacts for mirror-packages (15637875528)... 2026-07-31T04:22:23.760246Z 01E Direct download from storage.googleapis.com  correlation_id=7705200e492e480aba215dda060abd17 id=15637875528 status=302 token=71_XaYSJh 2026-07-31T04:22:24.356638Z 01E Downloading artifacts from coordinator... ok  correlation_id=7705200e492e480aba215dda060abd17 id=15637875528 status=302 token=71_XaYSJh 2026-07-31T04:22:24.991185Z 01O Downloading artifacts for build (15637875529)... 2026-07-31T04:22:25.350202Z 01E Direct download from storage.googleapis.com  correlation_id=a833b4594ba14931bf877e212f8b1d25 id=15637875529 status=302 token=71_XaYSJh 2026-07-31T04:22:25.682785Z 01E Downloading artifacts from coordinator... ok  correlation_id=a833b4594ba14931bf877e212f8b1d25 id=15637875529 status=302 token=71_XaYSJh 2026-07-31T04:22:26.307865Z 00O section_end:1785471746:download_artifacts  2026-07-31T04:22:26.308264Z 00O+section_start:1785471746:step_script  2026-07-31T04:22:26.308271Z 00O+Executing "step_script" stage of the job script 2026-07-31T04:22:26.308282Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-07-31T04:22:26.309170Z 00O Using docker image sha256:bf4623d5d20c8eee684cd529ed7f04f6ad90a9c6a117d16f18b49b43376594fb for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:2b70ae1b7944b080d82f724553312e058e883c766ff7e8360d7605c6467d0a92 ... 2026-07-31T04:22:26.616758Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-07-31T04:22:26.625446Z 01O $ mkdir -p ~/.R 2026-07-31T04:22:26.626684Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-07-31T04:22:26.626784Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-07-31T04:22:26.626832Z 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-07-31T04:22:26.829690Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-07-31T04:22:26.829697Z 01E 2026-07-31T04:23:37.381785Z 01E Updating HTML index of packages in '.Library' 2026-07-31T04:23:37.382044Z 01E Making 'packages.html' ... done 2026-07-31T04:23:37.396610Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-07-31T04:23:37.413502Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-07-31T04:23:44.418310Z 01E 2 warnings generated. 2026-07-31T04:23:44.418343Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-07-31T04:23:47.320505Z 01E 2 warnings generated. 2026-07-31T04:23:47.320804Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-07-31T04:23:53.916909Z 01E 2 warnings generated. 2026-07-31T04:23:53.916920Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-07-31T04:23:54.142142Z 01E 6 warnings generated. 2026-07-31T04:23:54.142385Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-07-31T04:23:56.709513Z 01E 6 warnings generated. 2026-07-31T04:23:56.709723Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-07-31T04:23:58.826052Z 01E 6 warnings generated. 2026-07-31T04:23:58.826239Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-07-31T04:23:59.090283Z 01E 6 warnings generated. 2026-07-31T04:23:59.090521Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-07-31T04:24:03.165790Z 01E 6 warnings generated. 2026-07-31T04:24:03.166006Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-07-31T04:24:03.227185Z 01E 6 warnings generated. 2026-07-31T04:24:03.227374Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-07-31T04:24:05.984233Z 01E 9 warnings generated. 2026-07-31T04:24:05.984444Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-07-31T04:24:11.015371Z 01E 10 warnings generated. 2026-07-31T04:24:11.015576Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-07-31T04:24:14.672071Z 01E 11 warnings generated. 2026-07-31T04:24:14.672256Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-07-31T04:24:22.306052Z 01E 12 warnings generated. 2026-07-31T04:24:22.306065Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-07-31T04:24:25.421219Z 01E 12 warnings generated. 2026-07-31T04:24:25.421474Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-07-31T04:24:30.680625Z 01E 24 warnings generated. 2026-07-31T04:24:30.681015Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-07-31T04:24:39.015339Z 01E 27 warnings generated. 2026-07-31T04:24:39.015353Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-07-31T04:24:49.083505Z 01E 33 warnings generated. 2026-07-31T04:24:49.083516Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-07-31T04:24:52.477080Z 01E 34 warnings generated. 2026-07-31T04:24:52.477346Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-07-31T04:24:54.791865Z 01E 37 warnings generated. 2026-07-31T04:24:54.792067Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-07-31T04:24:54.842950Z 01E 37 warnings generated. 2026-07-31T04:24:54.843189Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-07-31T04:24:55.177086Z 01E 37 warnings generated. 2026-07-31T04:24:55.177362Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-07-31T04:25:01.163993Z 01E 39 warnings generated. 2026-07-31T04:25:01.164021Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-07-31T04:25:04.489342Z 01E 39 warnings generated. 2026-07-31T04:25:04.489555Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-07-31T04:25:17.690032Z 01E 44 warnings generated. 2026-07-31T04:25:17.690050Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-07-31T04:25:17.807805Z 01E 45 warnings generated. 2026-07-31T04:25:17.808044Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-07-31T04:25:18.055060Z 01E 45 warnings generated. 2026-07-31T04:25:18.055304Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-07-31T04:25:22.534075Z 01E 48 warnings generated. 2026-07-31T04:25:22.534378Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-07-31T04:25:22.583638Z 01E 48 warnings generated. 2026-07-31T04:25:22.583888Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-07-31T04:25:22.616074Z 01E 48 warnings generated. 2026-07-31T04:25:22.616262Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-07-31T04:25:23.464326Z 01E 48 warnings generated. 2026-07-31T04:25:23.464668Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-07-31T04:25:26.527812Z 01E 61 warnings generated. 2026-07-31T04:25:26.528102Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-07-31T04:25:26.560288Z 01E 61 warnings generated. 2026-07-31T04:25:26.560654Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-07-31T04:25:26.611777Z 01E 61 warnings generated. 2026-07-31T04:25:26.612165Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-07-31T04:25:26.765466Z 01E 62 warnings generated. 2026-07-31T04:25:26.765743Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-07-31T04:25:27.245845Z 01E 62 warnings generated. 2026-07-31T04:25:27.246159Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-07-31T04:25:28.091174Z 01E 62 warnings generated. 2026-07-31T04:25:28.091531Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-07-31T04:25:31.423471Z 01E 68 warnings generated. 2026-07-31T04:25:31.423691Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-07-31T04:25:33.996652Z 01E 68 warnings generated. 2026-07-31T04:25:33.996937Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-07-31T04:25:34.026069Z 01E 68 warnings generated. 2026-07-31T04:25:34.026411Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-07-31T04:25:36.831156Z 01E 68 warnings generated. 2026-07-31T04:25:36.831443Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-07-31T04:25:38.058890Z 01E 70 warnings generated. 2026-07-31T04:25:38.059134Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-07-31T04:25:38.407191Z 01E 70 warnings generated. 2026-07-31T04:25:38.407440Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-07-31T04:25:41.075286Z 01E 70 warnings generated. 2026-07-31T04:25:41.075524Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-07-31T04:25:41.404974Z 01E 70 warnings generated. 2026-07-31T04:25:41.405203Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-07-31T04:25:48.083246Z 01E 70 warnings generated. 2026-07-31T04:25:48.083285Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-07-31T04:25:49.114617Z 01E 70 warnings generated. 2026-07-31T04:25:49.115005Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-07-31T04:25:49.152476Z 01E 70 warnings generated. 2026-07-31T04:25:49.152701Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-07-31T04:25:52.061247Z 01E 70 warnings generated. 2026-07-31T04:25:52.061986Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: warning: Out of bound access to memory after the end of 'source' [clang-analyzer-security.ArrayBound] 2026-07-31T04:25:52.061988Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-31T04:25:52.061989Z 01O | ^ 2026-07-31T04:25:52.061990Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-07-31T04:25:52.061990Z 01O 934 | const STYPE val = sd[soff]; \ 2026-07-31T04:25:52.061991Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.061991Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-07-31T04:25:52.061992Z 01O 711 | if (len<1) return NULL; 2026-07-31T04:25:52.061992Z 01O | ^~~~~ 2026-07-31T04:25:52.061993Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-07-31T04:25:52.061993Z 01O 711 | if (len<1) return NULL; 2026-07-31T04:25:52.061994Z 01O | ^ 2026-07-31T04:25:52.061994Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-07-31T04:25:52.061995Z 01O 712 | int slen = sourceLen>=0 ? sourceLen : length(source); // since source may get reassigned to a scalar, we should not mark it as const 2026-07-31T04:25:52.061995Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.061996Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-07-31T04:25:52.061996Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-07-31T04:25:52.061997Z 01O 713 | if (slen==0) return NULL; 2026-07-31T04:25:52.061997Z 01O | ^~~~~~~ 2026-07-31T04:25:52.061998Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-07-31T04:25:52.061998Z 01O 713 | if (slen==0) return NULL; 2026-07-31T04:25:52.061999Z 01O | ^ 2026-07-31T04:25:52.061999Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-07-31T04:25:52.062000Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-07-31T04:25:52.062000Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.062000Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-07-31T04:25:52.062001Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-07-31T04:25:52.062002Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-07-31T04:25:52.062002Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.062003Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-07-31T04:25:52.062003Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-07-31T04:25:52.062004Z 01O | ^ 2026-07-31T04:25:52.062004Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-07-31T04:25:52.062004Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-07-31T04:25:52.062005Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.062005Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-07-31T04:25:52.062006Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-07-31T04:25:52.062006Z 01O | ^ 2026-07-31T04:25:52.062007Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-07-31T04:25:52.062032Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-07-31T04:25:52.062033Z 01O | ^~~~~~ 2026-07-31T04:25:52.062033Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-07-31T04:25:52.062034Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-07-31T04:25:52.062034Z 01O | ^ 2026-07-31T04:25:52.062035Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-07-31T04:25:52.062035Z 01O 723 | if (colname==NULL) 2026-07-31T04:25:52.062036Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.062036Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-07-31T04:25:52.062036Z 01O 723 | if (colname==NULL) 2026-07-31T04:25:52.062037Z 01O | ^ 2026-07-31T04:25:52.062044Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-07-31T04:25:52.062045Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-07-31T04:25:52.062046Z 01O | ^ 2026-07-31T04:25:52.062118Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-07-31T04:25:52.062121Z 01O 963 | #define isReal Rf_isReal 2026-07-31T04:25:52.062122Z 01O | ^ 2026-07-31T04:25:52.062122Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-07-31T04:25:52.062123Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-07-31T04:25:52.062124Z 01O | ^ 2026-07-31T04:25:52.062125Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-07-31T04:25:52.062126Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-07-31T04:25:52.062127Z 01O | ^ 2026-07-31T04:25:52.062127Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-07-31T04:25:52.062128Z 01O 963 | #define isReal Rf_isReal 2026-07-31T04:25:52.062129Z 01O | ^ 2026-07-31T04:25:52.062129Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-07-31T04:25:52.062130Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-07-31T04:25:52.062131Z 01O | ^ 2026-07-31T04:25:52.062132Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-07-31T04:25:52.062132Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-07-31T04:25:52.062133Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.062134Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-07-31T04:25:52.062183Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-07-31T04:25:52.062189Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-07-31T04:25:52.062190Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.062190Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-07-31T04:25:52.062191Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-07-31T04:25:52.062191Z 01O | ^ 2026-07-31T04:25:52.062205Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-07-31T04:25:52.062206Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-07-31T04:25:52.062207Z 01O | ^ 2026-07-31T04:25:52.062207Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-07-31T04:25:52.062208Z 01O 966 | #define isString Rf_isString 2026-07-31T04:25:52.062223Z 01O | ^ 2026-07-31T04:25:52.062233Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-07-31T04:25:52.062233Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-07-31T04:25:52.062234Z 01O | ^ 2026-07-31T04:25:52.062234Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-07-31T04:25:52.062235Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-07-31T04:25:52.062235Z 01O | ^ 2026-07-31T04:25:52.062292Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-07-31T04:25:52.062293Z 01O 955 | #define isNewList Rf_isNewList 2026-07-31T04:25:52.062294Z 01O | ^ 2026-07-31T04:25:52.062294Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-07-31T04:25:52.062295Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-07-31T04:25:52.062295Z 01O | ^ 2026-07-31T04:25:52.062296Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-07-31T04:25:52.062296Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-07-31T04:25:52.062297Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.062297Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-07-31T04:25:52.062298Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-07-31T04:25:52.062298Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-07-31T04:25:52.062299Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.062300Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-07-31T04:25:52.062300Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-07-31T04:25:52.062301Z 01O | ^ 2026-07-31T04:25:52.062365Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-07-31T04:25:52.062366Z 01O 971 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-07-31T04:25:52.062367Z 01O | ^ 2026-07-31T04:25:52.062368Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062368Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062369Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.062369Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-07-31T04:25:52.062370Z 01O 971 | const int off = length(where) ? 0 : start; // off = target offset; e.g. called from rbindlist with where=R_NilValue and start!=0 2026-07-31T04:25:52.062370Z 01O | ^ 2026-07-31T04:25:52.062371Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062371Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062372Z 01O | ^ 2026-07-31T04:25:52.062411Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-07-31T04:25:52.062412Z 01O 972 | 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-07-31T04:25:52.062412Z 01O | ^ 2026-07-31T04:25:52.062413Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062424Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062425Z 01O | ^ 2026-07-31T04:25:52.062429Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-07-31T04:25:52.062430Z 01O 972 | 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-07-31T04:25:52.062431Z 01O | ^ 2026-07-31T04:25:52.062431Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062432Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062432Z 01O | ^ 2026-07-31T04:25:52.062512Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-07-31T04:25:52.062513Z 01O 972 | 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-07-31T04:25:52.062514Z 01O | ^~~~~~ 2026-07-31T04:25:52.062514Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-07-31T04:25:52.062515Z 01O 972 | 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-07-31T04:25:52.062516Z 01O | ^ 2026-07-31T04:25:52.062516Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062517Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062517Z 01O | ^ 2026-07-31T04:25:52.062518Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-07-31T04:25:52.062518Z 01O 972 | 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-07-31T04:25:52.062519Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.062593Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-07-31T04:25:52.062594Z 01O 972 | 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-07-31T04:25:52.062595Z 01O | ^ 2026-07-31T04:25:52.062595Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062596Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062596Z 01O | ^ 2026-07-31T04:25:52.062597Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-07-31T04:25:52.062597Z 01O 972 | 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-07-31T04:25:52.062598Z 01O | ^~~~~~~ 2026-07-31T04:25:52.062620Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-07-31T04:25:52.062620Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-07-31T04:25:52.062621Z 01O | ^ 2026-07-31T04:25:52.062621Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062622Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062622Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.062633Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-07-31T04:25:52.062634Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-07-31T04:25:52.062635Z 01O | ^ 2026-07-31T04:25:52.062636Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062637Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062637Z 01O | ^ 2026-07-31T04:25:52.062638Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-07-31T04:25:52.062638Z 01O 974 | switch (TYPEOF(target)) { 2026-07-31T04:25:52.062639Z 01O | ^ 2026-07-31T04:25:52.062680Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-07-31T04:25:52.062681Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-31T04:25:52.062681Z 01O | ^~~ 2026-07-31T04:25:52.062682Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-07-31T04:25:52.062686Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-07-31T04:25:52.062687Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-31T04:25:52.062687Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.062688Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-07-31T04:25:52.062688Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-31T04:25:52.062689Z 01O | ^ 2026-07-31T04:25:52.062749Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-07-31T04:25:52.062750Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-31T04:25:52.062750Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.062751Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-07-31T04:25:52.062751Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-31T04:25:52.062752Z 01O | ^ 2026-07-31T04:25:52.062758Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-07-31T04:25:52.062759Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-31T04:25:52.062760Z 01O | ^ 2026-07-31T04:25:52.062760Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-07-31T04:25:52.062761Z 01O 932 | if (length(where)) { \ 2026-07-31T04:25:52.062761Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.062764Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.062764Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.062765Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.062815Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-07-31T04:25:52.062816Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-31T04:25:52.062816Z 01O | ^ 2026-07-31T04:25:52.062816Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-07-31T04:25:52.062817Z 01O 932 | if (length(where)) { \ 2026-07-31T04:25:52.062818Z 01O | ^ 2026-07-31T04:25:52.062818Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-07-31T04:25:52.062818Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-31T04:25:52.062819Z 01O | ^ 2026-07-31T04:25:52.062824Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-07-31T04:25:52.062824Z 01O 933 | if (slen==1) { \ 2026-07-31T04:25:52.062825Z 01O | ^~~~ 2026-07-31T04:25:52.062825Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-07-31T04:25:52.062826Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-31T04:25:52.062826Z 01O | ^ 2026-07-31T04:25:52.062888Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-07-31T04:25:52.062889Z 01O 933 | if (slen==1) { \ 2026-07-31T04:25:52.062890Z 01O | ^ 2026-07-31T04:25:52.062890Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Access of 'source' at an overflowing index, while it holds only a single 'struct SEXPREC *' element 2026-07-31T04:25:52.062891Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-31T04:25:52.062891Z 01O | ^ 2026-07-31T04:25:52.062893Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-07-31T04:25:52.062894Z 01O 934 | const STYPE val = sd[soff]; \ 2026-07-31T04:25:52.062895Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.062971Z 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-07-31T04:25:52.062972Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-07-31T04:25:52.062973Z 01O | ^~~~~ 2026-07-31T04:25:52.062973Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-07-31T04:25:52.062974Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-31T04:25:52.062975Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.062975Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-07-31T04:25:52.062975Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-31T04:25:52.062976Z 01O | ^ 2026-07-31T04:25:52.062985Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-07-31T04:25:52.062986Z 01O 6 | if (chin && chmatchdup) 2026-07-31T04:25:52.062986Z 01O | ^~~~ 2026-07-31T04:25:52.062987Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-07-31T04:25:52.062987Z 01O 6 | if (chin && chmatchdup) 2026-07-31T04:25:52.062988Z 01O | ^ 2026-07-31T04:25:52.062988Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-07-31T04:25:52.062989Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-31T04:25:52.062989Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.062990Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-07-31T04:25:52.062990Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-31T04:25:52.062991Z 01O | ^ 2026-07-31T04:25:52.062991Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-07-31T04:25:52.062991Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-31T04:25:52.062992Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.062992Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-07-31T04:25:52.062993Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-31T04:25:52.062993Z 01O | ^ 2026-07-31T04:25:52.063043Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-07-31T04:25:52.063043Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-07-31T04:25:52.063044Z 01O | ^ 2026-07-31T04:25:52.063049Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-07-31T04:25:52.063052Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-07-31T04:25:52.063052Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-31T04:25:52.063053Z 01O | ^~~~~~~ 2026-07-31T04:25:52.063056Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-07-31T04:25:52.063056Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-31T04:25:52.063057Z 01O | ^ 2026-07-31T04:25:52.063057Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-07-31T04:25:52.063058Z 01O 31 | if (tablelen==0) { 2026-07-31T04:25:52.063058Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.063059Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-07-31T04:25:52.063059Z 01O 31 | if (tablelen==0) { 2026-07-31T04:25:52.063060Z 01O | ^ 2026-07-31T04:25:52.063110Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-07-31T04:25:52.063111Z 01O 40 | if (isSymbol(x)) { 2026-07-31T04:25:52.063111Z 01O | ^ 2026-07-31T04:25:52.063114Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-07-31T04:25:52.063115Z 01O 953 | #define isSymbol Rf_isSymbol 2026-07-31T04:25:52.063115Z 01O | ^ 2026-07-31T04:25:52.063115Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-07-31T04:25:52.063116Z 01O 40 | if (isSymbol(x)) { 2026-07-31T04:25:52.063116Z 01O | ^ 2026-07-31T04:25:52.063117Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-07-31T04:25:52.063117Z 01O 46 | if (xlen==1) { 2026-07-31T04:25:52.063118Z 01O | ^~~~~~~ 2026-07-31T04:25:52.063118Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-07-31T04:25:52.063119Z 01O 46 | if (xlen==1) { 2026-07-31T04:25:52.063119Z 01O | ^ 2026-07-31T04:25:52.063123Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-07-31T04:25:52.063124Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063124Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.063124Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-07-31T04:25:52.063125Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-07-31T04:25:52.063126Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063126Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.063178Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-07-31T04:25:52.063179Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063179Z 01O | ^ 2026-07-31T04:25:52.063180Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-07-31T04:25:52.063180Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-31T04:25:52.063181Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.063181Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.063182Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-31T04:25:52.063182Z 01O | ^ 2026-07-31T04:25:52.063182Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-07-31T04:25:52.063183Z 01O 66 | if (tl == 0) { 2026-07-31T04:25:52.063183Z 01O | ^~~~~~~ 2026-07-31T04:25:52.063184Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-07-31T04:25:52.063184Z 01O 66 | if (tl == 0) { 2026-07-31T04:25:52.063189Z 01O | ^ 2026-07-31T04:25:52.063192Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-07-31T04:25:52.063193Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-31T04:25:52.063193Z 01O | ^ 2026-07-31T04:25:52.063194Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.063194Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-31T04:25:52.063195Z 01O | ^ 2026-07-31T04:25:52.063195Z 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-07-31T04:25:52.063196Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-07-31T04:25:52.063196Z 01O | ^~~~~ 2026-07-31T04:25:52.063268Z 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-07-31T04:25:52.063269Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-07-31T04:25:52.063270Z 01O | ^~~~~ 2026-07-31T04:25:52.063270Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-07-31T04:25:52.063271Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-31T04:25:52.063271Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.063272Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-07-31T04:25:52.063272Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-31T04:25:52.063273Z 01O | ^ 2026-07-31T04:25:52.063273Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-07-31T04:25:52.063274Z 01O 6 | if (chin && chmatchdup) 2026-07-31T04:25:52.063274Z 01O | ^~~~ 2026-07-31T04:25:52.063274Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-07-31T04:25:52.063275Z 01O 6 | if (chin && chmatchdup) 2026-07-31T04:25:52.063275Z 01O | ^ 2026-07-31T04:25:52.063276Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-07-31T04:25:52.063276Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-31T04:25:52.063277Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.063277Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-07-31T04:25:52.063278Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-31T04:25:52.063278Z 01O | ^ 2026-07-31T04:25:52.063281Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-07-31T04:25:52.063282Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-31T04:25:52.063282Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.063362Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-07-31T04:25:52.063363Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-31T04:25:52.063363Z 01O | ^ 2026-07-31T04:25:52.063364Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-07-31T04:25:52.063364Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-07-31T04:25:52.063365Z 01O | ^ 2026-07-31T04:25:52.063365Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-07-31T04:25:52.063366Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-07-31T04:25:52.063366Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-31T04:25:52.063367Z 01O | ^~~~~~~ 2026-07-31T04:25:52.063370Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-07-31T04:25:52.063382Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-31T04:25:52.063383Z 01O | ^ 2026-07-31T04:25:52.063383Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-07-31T04:25:52.063384Z 01O 31 | if (tablelen==0) { 2026-07-31T04:25:52.063384Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.063385Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-07-31T04:25:52.063385Z 01O 31 | if (tablelen==0) { 2026-07-31T04:25:52.063386Z 01O | ^ 2026-07-31T04:25:52.063396Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-07-31T04:25:52.063397Z 01O 40 | if (isSymbol(x)) { 2026-07-31T04:25:52.063397Z 01O | ^ 2026-07-31T04:25:52.063398Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-07-31T04:25:52.063398Z 01O 953 | #define isSymbol Rf_isSymbol 2026-07-31T04:25:52.063399Z 01O | ^ 2026-07-31T04:25:52.063399Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-07-31T04:25:52.063400Z 01O 40 | if (isSymbol(x)) { 2026-07-31T04:25:52.063400Z 01O | ^ 2026-07-31T04:25:52.063400Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-07-31T04:25:52.063401Z 01O 46 | if (xlen==1) { 2026-07-31T04:25:52.063401Z 01O | ^~~~~~~ 2026-07-31T04:25:52.063402Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-07-31T04:25:52.063402Z 01O 46 | if (xlen==1) { 2026-07-31T04:25:52.063402Z 01O | ^ 2026-07-31T04:25:52.063403Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-07-31T04:25:52.063403Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063404Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.063404Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-07-31T04:25:52.063405Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063405Z 01O | ^ 2026-07-31T04:25:52.063406Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-07-31T04:25:52.063406Z 01O 99 | for (int i=0; i= 'tablelen' 2026-07-31T04:25:52.063545Z 01O 123 | for (int i=0; i= 'tablelen' 2026-07-31T04:25:52.063613Z 01O 125 | for (int i=0; i= 0 2026-07-31T04:25:52.063624Z 01O 129 | if (u<0) { 2026-07-31T04:25:52.063624Z 01O | ^~~ 2026-07-31T04:25:52.063624Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-07-31T04:25:52.063625Z 01O 129 | if (u<0) { 2026-07-31T04:25:52.063625Z 01O | ^ 2026-07-31T04:25:52.063689Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-07-31T04:25:52.063690Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-07-31T04:25:52.063946Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.063947Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-07-31T04:25:52.063947Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063948Z 01O | ^ 2026-07-31T04:25:52.063948Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-07-31T04:25:52.063948Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063949Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.063952Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-07-31T04:25:52.063952Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.063953Z 01O | ^ 2026-07-31T04:25:52.063953Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-07-31T04:25:52.063954Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-07-31T04:25:52.064219Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.064219Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-07-31T04:25:52.064220Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-07-31T04:25:52.064220Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.064221Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.064221Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-07-31T04:25:52.064222Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-31T04:25:52.064222Z 01O | ^ 2026-07-31T04:25:52.064242Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-07-31T04:25:52.064242Z 01O 99 | for (int i=0; i= 0 2026-07-31T04:25:52.064350Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-07-31T04:25:52.064350Z 01O | ^~~ 2026-07-31T04:25:52.064350Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-07-31T04:25:52.064351Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-07-31T04:25:52.064351Z 01O | ^ 2026-07-31T04:25:52.064352Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-07-31T04:25:52.064352Z 01O 144 | for (int i=0; i= 'nlhs' 2026-07-31T04:25:52.064403Z 01O 14 | for (int i=0; i= 'nlhs' 2026-07-31T04:25:52.064688Z 01O 14 | for (int i=0; i= 'nlhs' 2026-07-31T04:25:52.064840Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-07-31T04:25:52.066166Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.066167Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-07-31T04:25:52.066167Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-31T04:25:52.066168Z 01O | ^ 2026-07-31T04:25:52.066215Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.066216Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.066216Z 01O | ^ 2026-07-31T04:25:52.066217Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-07-31T04:25:52.066217Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-31T04:25:52.066218Z 01O | ^ 2026-07-31T04:25:52.066218Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.066219Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.066219Z 01O | ^ 2026-07-31T04:25:52.066223Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-07-31T04:25:52.066223Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-31T04:25:52.066224Z 01O | ^ 2026-07-31T04:25:52.066224Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.066225Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.066225Z 01O | ^ 2026-07-31T04:25:52.066226Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-07-31T04:25:52.066226Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-31T04:25:52.066227Z 01O | ^ 2026-07-31T04:25:52.066227Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-07-31T04:25:52.066227Z 01O 228 | for (int i=0; i= 'ncol' 2026-07-31T04:25:52.066289Z 01O 234 | for (int i=0; i= 'nidx' 2026-07-31T04:25:52.066419Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-07-31T04:25:52.066429Z 01O | ^~~~ 2026-07-31T04:25:52.066429Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-07-31T04:25:52.066430Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-07-31T04:25:52.066430Z 01O | ^ 2026-07-31T04:25:52.066430Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-07-31T04:25:52.066431Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-07-31T04:25:52.066508Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-07-31T04:25:52.067432Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-07-31T04:25:52.067733Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.067733Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-07-31T04:25:52.067734Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-07-31T04:25:52.067734Z 01O | ^ 2026-07-31T04:25:52.067735Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-07-31T04:25:52.067735Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-07-31T04:25:52.067736Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.067736Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-07-31T04:25:52.067737Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-07-31T04:25:52.067737Z 01O | ^ 2026-07-31T04:25:52.067737Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-07-31T04:25:52.067738Z 01O 326 | if (new_marks != marks) { 2026-07-31T04:25:52.067738Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.067739Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-07-31T04:25:52.067739Z 01O 326 | if (new_marks != marks) { 2026-07-31T04:25:52.067740Z 01O | ^ 2026-07-31T04:25:52.067844Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-07-31T04:25:52.067845Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-07-31T04:25:52.067846Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.067846Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-07-31T04:25:52.067847Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-07-31T04:25:52.067847Z 01O | ^ 2026-07-31T04:25:52.067855Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-07-31T04:25:52.067856Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-07-31T04:25:52.067856Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.067857Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-07-31T04:25:52.067857Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-07-31T04:25:52.067858Z 01O | ^ 2026-07-31T04:25:52.067858Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-07-31T04:25:52.067859Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-07-31T04:25:52.067860Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.067916Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-07-31T04:25:52.067917Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-07-31T04:25:52.067917Z 01O | ^ 2026-07-31T04:25:52.067918Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-07-31T04:25:52.067918Z 01O 338 | if (!anynotascii) 2026-07-31T04:25:52.067919Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.067919Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-07-31T04:25:52.067920Z 01O 338 | if (!anynotascii) 2026-07-31T04:25:52.067920Z 01O | ^ 2026-07-31T04:25:52.067921Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-07-31T04:25:52.067926Z 01O 340 | if (!IS_UTF8(s)) 2026-07-31T04:25:52.067926Z 01O | ^ 2026-07-31T04:25:52.067927Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-07-31T04:25:52.067927Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-07-31T04:25:52.067928Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.067931Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-07-31T04:25:52.067932Z 01O 925 | #define getCharCE Rf_getCharCE 2026-07-31T04:25:52.067933Z 01O | ^ 2026-07-31T04:25:52.067933Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-07-31T04:25:52.067934Z 01O 340 | if (!IS_UTF8(s)) 2026-07-31T04:25:52.067934Z 01O | ^ 2026-07-31T04:25:52.067934Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-07-31T04:25:52.067935Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-07-31T04:25:52.068105Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-07-31T04:25:52.068109Z 01O 364 | for (int i=0; i> 2026-07-31T04:25:52.068368Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068368Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-07-31T04:25:52.068369Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068369Z 01O 43 | 2026-07-31T04:25:52.068370Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-07-31T04:25:52.068370Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068371Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-07-31T04:25:52.068371Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068372Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-07-31T04:25:52.068372Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068373Z 01O 47 | 2026-07-31T04:25:52.068373Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-07-31T04:25:52.068374Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068374Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-07-31T04:25:52.068375Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068375Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-07-31T04:25:52.068376Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068376Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-07-31T04:25:52.068377Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068378Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-07-31T04:25:52.068378Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068379Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-07-31T04:25:52.068386Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068386Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-07-31T04:25:52.068387Z 01O 1410 | if (freadCleanup()) { 2026-07-31T04:25:52.068387Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.068388Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-07-31T04:25:52.068388Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-31T04:25:52.068389Z 01O | ^~~~ 2026-07-31T04:25:52.068389Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-07-31T04:25:52.068390Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-07-31T04:25:52.068390Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-31T04:25:52.068391Z 01O | ^~~~~~~ 2026-07-31T04:25:52.068433Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-07-31T04:25:52.068434Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-31T04:25:52.068434Z 01O | ^ 2026-07-31T04:25:52.068437Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-07-31T04:25:52.068438Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-31T04:25:52.068438Z 01O | ^~~~ 2026-07-31T04:25:52.068439Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-07-31T04:25:52.068439Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-31T04:25:52.068440Z 01O | ^ 2026-07-31T04:25:52.068441Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-07-31T04:25:52.068441Z 01O 169 | if (mmp != NULL) { 2026-07-31T04:25:52.068442Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.068443Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-07-31T04:25:52.068444Z 01O 169 | if (mmp != NULL) { 2026-07-31T04:25:52.068444Z 01O | ^ 2026-07-31T04:25:52.068503Z 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-07-31T04:25:52.068504Z 01O 193 | quoteRule = -1; 2026-07-31T04:25:52.068505Z 01O | ^~ 2026-07-31T04:25:52.068505Z 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-07-31T04:25:52.068506Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-07-31T04:25:52.068506Z 01O | ^ ~~ 2026-07-31T04:25:52.068507Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-07-31T04:25:52.068507Z 01O 1410 | if (freadCleanup()) { 2026-07-31T04:25:52.068508Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.068508Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-07-31T04:25:52.068509Z 01O 1410 | if (freadCleanup()) { 2026-07-31T04:25:52.068509Z 01O | ^ 2026-07-31T04:25:52.068512Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.068513Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-31T04:25:52.068513Z 01O | ^~~~~~~ 2026-07-31T04:25:52.068514Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-07-31T04:25:52.068514Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-31T04:25:52.068519Z 01O | ^ 2026-07-31T04:25:52.068520Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-07-31T04:25:52.068520Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-31T04:25:52.068521Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.068577Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-07-31T04:25:52.068577Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-31T04:25:52.068578Z 01O | ^ 2026-07-31T04:25:52.068578Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-07-31T04:25:52.068579Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-31T04:25:52.068579Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.068582Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-07-31T04:25:52.068582Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-31T04:25:52.068583Z 01O | ^ 2026-07-31T04:25:52.068583Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-07-31T04:25:52.068584Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-31T04:25:52.068584Z 01O | ^~~ 2026-07-31T04:25:52.068584Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-07-31T04:25:52.068585Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-31T04:25:52.068585Z 01O | ^ 2026-07-31T04:25:52.068588Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-07-31T04:25:52.068588Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-31T04:25:52.068589Z 01O | ^~~~~~~ 2026-07-31T04:25:52.068668Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-07-31T04:25:52.068669Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-31T04:25:52.068670Z 01O | ^ 2026-07-31T04:25:52.068670Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-07-31T04:25:52.068671Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-31T04:25:52.068671Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068672Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-07-31T04:25:52.068672Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-31T04:25:52.068673Z 01O | ^ 2026-07-31T04:25:52.068673Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-07-31T04:25:52.068674Z 01O 1436 | while (*nastr) { 2026-07-31T04:25:52.068674Z 01O | ^ 2026-07-31T04:25:52.068679Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-07-31T04:25:52.068679Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-07-31T04:25:52.068680Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068680Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-07-31T04:25:52.068681Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-07-31T04:25:52.068681Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068682Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-07-31T04:25:52.068682Z 01O 1464 | if (verbose) { 2026-07-31T04:25:52.068683Z 01O | ^~~~~~~ 2026-07-31T04:25:52.068683Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-07-31T04:25:52.068684Z 01O 1464 | if (verbose) { 2026-07-31T04:25:52.068684Z 01O | ^ 2026-07-31T04:25:52.068736Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-07-31T04:25:52.068747Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-07-31T04:25:52.068748Z 01O | ^ 2026-07-31T04:25:52.068752Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-07-31T04:25:52.068753Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-31T04:25:52.068753Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068754Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-07-31T04:25:52.068754Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-31T04:25:52.068755Z 01O | ^ 2026-07-31T04:25:52.068784Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-07-31T04:25:52.068784Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.068785Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068785Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-07-31T04:25:52.068786Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.068787Z 01O | ^ 2026-07-31T04:25:52.068787Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-07-31T04:25:52.068788Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.068788Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.068789Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-07-31T04:25:52.068789Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.068790Z 01O | ^ 2026-07-31T04:25:52.068822Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-07-31T04:25:52.068823Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-31T04:25:52.068823Z 01O | ^~~~~~~ 2026-07-31T04:25:52.068824Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-07-31T04:25:52.068824Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-31T04:25:52.068825Z 01O | ^ 2026-07-31T04:25:52.068825Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-07-31T04:25:52.068826Z 01O 1515 | if (args.input) { 2026-07-31T04:25:52.068826Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.068826Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-07-31T04:25:52.068827Z 01O 1515 | if (args.input) { 2026-07-31T04:25:52.068827Z 01O | ^ 2026-07-31T04:25:52.068862Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-07-31T04:25:52.068862Z 01O 1522 | else if (args.filename) { 2026-07-31T04:25:52.068863Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.068863Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-07-31T04:25:52.068864Z 01O 1522 | else if (args.filename) { 2026-07-31T04:25:52.068864Z 01O | ^ 2026-07-31T04:25:52.068865Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-07-31T04:25:52.068865Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-07-31T04:25:52.068866Z 01O | ^~~~~~~ 2026-07-31T04:25:52.068866Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-07-31T04:25:52.068867Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-07-31T04:25:52.068867Z 01O | ^ 2026-07-31T04:25:52.068872Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-07-31T04:25:52.068873Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-07-31T04:25:52.068873Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.068888Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-07-31T04:25:52.068888Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-07-31T04:25:52.068889Z 01O | ^~~~~~ 2026-07-31T04:25:52.068889Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-07-31T04:25:52.068890Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-07-31T04:25:52.068890Z 01O | ^ 2026-07-31T04:25:52.068957Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-07-31T04:25:52.068958Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-07-31T04:25:52.068958Z 01O | ^ ~~ 2026-07-31T04:25:52.068959Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.068960Z 01O 1780 | pos = ch; 2026-07-31T04:25:52.068960Z 01O | ^ ~~ 2026-07-31T04:25:52.068960Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-07-31T04:25:52.068961Z 01O 1780 | pos = ch; 2026-07-31T04:25:52.068961Z 01O | ^ ~~ 2026-07-31T04:25:52.068962Z 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-07-31T04:25:52.068963Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-07-31T04:25:52.068963Z 01O | ^~ 2026-07-31T04:25:52.069096Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-07-31T04:25:52.069097Z 01O 38 | enum quote_rule_t 2026-07-31T04:25:52.069098Z 01O | ~~~~~^~~~~~~~~~~~ 2026-07-31T04:25:52.069098Z 01O 39 | { 2026-07-31T04:25:52.069098Z 01O | ~ 2026-07-31T04:25:52.069099Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-07-31T04:25:52.069099Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069100Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-07-31T04:25:52.069100Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069101Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-07-31T04:25:52.069101Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069102Z 01O 43 | 2026-07-31T04:25:52.069102Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-07-31T04:25:52.069103Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069103Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-07-31T04:25:52.069104Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069104Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-07-31T04:25:52.069105Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069105Z 01O 47 | 2026-07-31T04:25:52.069106Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-07-31T04:25:52.069106Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069107Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-07-31T04:25:52.069107Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069108Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-07-31T04:25:52.069114Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069115Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-07-31T04:25:52.069115Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069116Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-07-31T04:25:52.069116Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069117Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-07-31T04:25:52.069117Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069118Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-07-31T04:25:52.069118Z 01O 1410 | if (freadCleanup()) { 2026-07-31T04:25:52.069119Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.069119Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-07-31T04:25:52.069120Z 01O 1410 | if (freadCleanup()) { 2026-07-31T04:25:52.069120Z 01O | ^ 2026-07-31T04:25:52.069120Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.069121Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-31T04:25:52.069121Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069122Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-07-31T04:25:52.069122Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-31T04:25:52.069123Z 01O | ^ 2026-07-31T04:25:52.069123Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-07-31T04:25:52.069124Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-31T04:25:52.069124Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.069180Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-07-31T04:25:52.069180Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-31T04:25:52.069181Z 01O | ^ 2026-07-31T04:25:52.069181Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-07-31T04:25:52.069182Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-31T04:25:52.069182Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.069183Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-07-31T04:25:52.069183Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-31T04:25:52.069184Z 01O | ^ 2026-07-31T04:25:52.069184Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-07-31T04:25:52.069184Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-31T04:25:52.069185Z 01O | ^~~ 2026-07-31T04:25:52.069185Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-07-31T04:25:52.069186Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-31T04:25:52.069186Z 01O | ^ 2026-07-31T04:25:52.069187Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-07-31T04:25:52.069187Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-31T04:25:52.069188Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069190Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-07-31T04:25:52.069191Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-31T04:25:52.069192Z 01O | ^ 2026-07-31T04:25:52.069231Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-07-31T04:25:52.069231Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-31T04:25:52.069232Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069237Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-07-31T04:25:52.069238Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-31T04:25:52.069238Z 01O | ^ 2026-07-31T04:25:52.069239Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-07-31T04:25:52.069239Z 01O 1436 | while (*nastr) { 2026-07-31T04:25:52.069240Z 01O | ^ 2026-07-31T04:25:52.069244Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-07-31T04:25:52.069245Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-07-31T04:25:52.069245Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069246Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-07-31T04:25:52.069247Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-07-31T04:25:52.069247Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069248Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-07-31T04:25:52.069248Z 01O 1464 | if (verbose) { 2026-07-31T04:25:52.069248Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069249Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-07-31T04:25:52.069249Z 01O 1464 | if (verbose) { 2026-07-31T04:25:52.069250Z 01O | ^ 2026-07-31T04:25:52.069305Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-07-31T04:25:52.069306Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-07-31T04:25:52.069307Z 01O | ^ 2026-07-31T04:25:52.069310Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-07-31T04:25:52.069311Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-31T04:25:52.069311Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069312Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-07-31T04:25:52.069312Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-31T04:25:52.069313Z 01O | ^ 2026-07-31T04:25:52.069316Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-07-31T04:25:52.069316Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.069317Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069317Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-07-31T04:25:52.069318Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.069318Z 01O | ^ 2026-07-31T04:25:52.069372Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-07-31T04:25:52.069373Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.069374Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.069374Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-07-31T04:25:52.069375Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-31T04:25:52.069375Z 01O | ^ 2026-07-31T04:25:52.069376Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-07-31T04:25:52.069376Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-31T04:25:52.069377Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069377Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-07-31T04:25:52.069384Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-31T04:25:52.069384Z 01O | ^ 2026-07-31T04:25:52.069384Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-07-31T04:25:52.069385Z 01O 1515 | if (args.input) { 2026-07-31T04:25:52.069385Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.069388Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-07-31T04:25:52.069389Z 01O 1515 | if (args.input) { 2026-07-31T04:25:52.069389Z 01O | ^ 2026-07-31T04:25:52.069390Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-07-31T04:25:52.069390Z 01O 1522 | else if (args.filename) { 2026-07-31T04:25:52.069391Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.069457Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-07-31T04:25:52.069458Z 01O 1522 | else if (args.filename) { 2026-07-31T04:25:52.069458Z 01O | ^ 2026-07-31T04:25:52.069459Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-07-31T04:25:52.069459Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-07-31T04:25:52.069460Z 01O | ^ 2026-07-31T04:25:52.069501Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-07-31T04:25:52.069502Z 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-07-31T04:25:52.069503Z 01O | ^ 2026-07-31T04:25:52.069503Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-07-31T04:25:52.069504Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-07-31T04:25:52.069504Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069505Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-07-31T04:25:52.069505Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-07-31T04:25:52.069506Z 01O | ^ 2026-07-31T04:25:52.069541Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-07-31T04:25:52.069542Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-07-31T04:25:52.069543Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.069543Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-07-31T04:25:52.069544Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-07-31T04:25:52.069544Z 01O | ^ 2026-07-31T04:25:52.069583Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-07-31T04:25:52.069584Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-07-31T04:25:52.069584Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.069585Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-07-31T04:25:52.069585Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-07-31T04:25:52.069586Z 01O | ^ 2026-07-31T04:25:52.069624Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-07-31T04:25:52.069625Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-07-31T04:25:52.069629Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.069630Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-07-31T04:25:52.069630Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-07-31T04:25:52.069636Z 01O | ^ 2026-07-31T04:25:52.069636Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-07-31T04:25:52.069637Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-07-31T04:25:52.069638Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.069638Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-07-31T04:25:52.069638Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-07-31T04:25:52.069639Z 01O | ^ 2026-07-31T04:25:52.069639Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-07-31T04:25:52.069640Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-07-31T04:25:52.069641Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.069666Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-07-31T04:25:52.069667Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-07-31T04:25:52.069668Z 01O | ^ 2026-07-31T04:25:52.069668Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-07-31T04:25:52.069669Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-07-31T04:25:52.069669Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069687Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-07-31T04:25:52.069688Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-07-31T04:25:52.069689Z 01O | ^ 2026-07-31T04:25:52.069689Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-07-31T04:25:52.069689Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-07-31T04:25:52.069690Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069738Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-07-31T04:25:52.069738Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-07-31T04:25:52.069739Z 01O | ^ 2026-07-31T04:25:52.069739Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-07-31T04:25:52.069740Z 01O 1649 | while (ch < sample_end) { 2026-07-31T04:25:52.069741Z 01O | ^ 2026-07-31T04:25:52.069741Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-07-31T04:25:52.069741Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-07-31T04:25:52.069742Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069742Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-07-31T04:25:52.069743Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-07-31T04:25:52.069743Z 01O | ^ 2026-07-31T04:25:52.069795Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-07-31T04:25:52.069796Z 01O 1674 | if (args.filename) { 2026-07-31T04:25:52.069796Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.069797Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-07-31T04:25:52.069797Z 01O 1674 | if (args.filename) { 2026-07-31T04:25:52.069798Z 01O | ^ 2026-07-31T04:25:52.069798Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-07-31T04:25:52.069799Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-07-31T04:25:52.069799Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069799Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-07-31T04:25:52.069800Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-07-31T04:25:52.069805Z 01O | ^ 2026-07-31T04:25:52.069805Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-07-31T04:25:52.069806Z 01O 1752 | if (args.skipString) { 2026-07-31T04:25:52.069806Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069807Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-07-31T04:25:52.069807Z 01O 1752 | if (args.skipString) { 2026-07-31T04:25:52.069808Z 01O | ^ 2026-07-31T04:25:52.069808Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-07-31T04:25:52.069808Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-07-31T04:25:52.069809Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.069809Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-07-31T04:25:52.069810Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-07-31T04:25:52.069810Z 01O | ^ 2026-07-31T04:25:52.069872Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-07-31T04:25:52.069873Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-07-31T04:25:52.069873Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.069874Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-07-31T04:25:52.069874Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-07-31T04:25:52.069875Z 01O | ^ 2026-07-31T04:25:52.069876Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-07-31T04:25:52.069876Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-07-31T04:25:52.069877Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.069946Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-07-31T04:25:52.069946Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-07-31T04:25:52.069947Z 01O | ^ 2026-07-31T04:25:52.069947Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-07-31T04:25:52.069948Z 01O 1789 | if (verbose) { 2026-07-31T04:25:52.069948Z 01O | ^~~~~~~ 2026-07-31T04:25:52.069949Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-07-31T04:25:52.069949Z 01O 1789 | if (verbose) { 2026-07-31T04:25:52.069950Z 01O | ^ 2026-07-31T04:25:52.069953Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-07-31T04:25:52.069953Z 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-07-31T04:25:52.069954Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.069955Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-07-31T04:25:52.069955Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-07-31T04:25:52.069956Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-07-31T04:25:52.069956Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070027Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-07-31T04:25:52.070028Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-07-31T04:25:52.070029Z 01O | ^ 2026-07-31T04:25:52.070029Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-07-31T04:25:52.070030Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-07-31T04:25:52.070034Z 01O | ^~~~~~~ 2026-07-31T04:25:52.070035Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-07-31T04:25:52.070035Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-07-31T04:25:52.070036Z 01O | ^ 2026-07-31T04:25:52.070039Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-07-31T04:25:52.070040Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-07-31T04:25:52.070040Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070041Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-07-31T04:25:52.070041Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-07-31T04:25:52.070042Z 01O | ^ 2026-07-31T04:25:52.070105Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-07-31T04:25:52.070106Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-07-31T04:25:52.070107Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070107Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-07-31T04:25:52.070108Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-07-31T04:25:52.070108Z 01O 1836 | if (args.sep == '\0') { 2026-07-31T04:25:52.070109Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070109Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-07-31T04:25:52.070110Z 01O 1836 | if (args.sep == '\0') { 2026-07-31T04:25:52.070110Z 01O | ^ 2026-07-31T04:25:52.070130Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-07-31T04:25:52.070131Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-07-31T04:25:52.070132Z 01O | ^~~~~~~ 2026-07-31T04:25:52.070133Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-07-31T04:25:52.070133Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-07-31T04:25:52.070134Z 01O | ^ 2026-07-31T04:25:52.070134Z 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-07-31T04:25:52.070135Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-07-31T04:25:52.070135Z 01O | ^~ 2026-07-31T04:25:52.070136Z 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-07-31T04:25:52.070137Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-07-31T04:25:52.070137Z 01O | ^~~~~~~~~~~~~ ~~ 2026-07-31T04:25:52.070138Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-07-31T04:25:52.070138Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-07-31T04:25:52.070139Z 01O | ^~~~~~~~~~~~~ ~~ 2026-07-31T04:25:52.070186Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.070187Z 01O 2278 | estnrow = 1; 2026-07-31T04:25:52.070188Z 01O | ^ ~ 2026-07-31T04:25:52.070188Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-07-31T04:25:52.070189Z 01O 2278 | estnrow = 1; 2026-07-31T04:25:52.070189Z 01O | ^ ~ 2026-07-31T04:25:52.070200Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.070201Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-07-31T04:25:52.070201Z 01O | ^ ~ 2026-07-31T04:25:52.070202Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-07-31T04:25:52.070202Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-07-31T04:25:52.070203Z 01O | ^ ~ 2026-07-31T04:25:52.070262Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.070263Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-07-31T04:25:52.070263Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070264Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-07-31T04:25:52.070264Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-07-31T04:25:52.070265Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070265Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.070266Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-07-31T04:25:52.070267Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070267Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-07-31T04:25:52.070268Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-07-31T04:25:52.070268Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070269Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.070269Z 01O 2487 | nth = imin(nJumps, nth); 2026-07-31T04:25:52.070270Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070270Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-07-31T04:25:52.070271Z 01O 2487 | nth = imin(nJumps, nth); 2026-07-31T04:25:52.070271Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070347Z 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-07-31T04:25:52.070348Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-07-31T04:25:52.070349Z 01O | ^~~~~~ 2026-07-31T04:25:52.070349Z 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-07-31T04:25:52.070350Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-07-31T04:25:52.070351Z 01O | ^~~~~~ 2026-07-31T04:25:52.070351Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.070352Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-07-31T04:25:52.070352Z 01O | ^ ~~~ 2026-07-31T04:25:52.070355Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: note: Value stored to 'tLast' is never read 2026-07-31T04:25:52.070355Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-07-31T04:25:52.070356Z 01O | ^ ~~~ 2026-07-31T04:25:52.070454Z 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-07-31T04:25:52.070455Z 01O 789 | if (state->buffer[i] == '\n') { 2026-07-31T04:25:52.070455Z 01O | ^ ~~~~~~ 2026-07-31T04:25:52.070456Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-07-31T04:25:52.070457Z 01O 768 | if (state->outfile == NULL) { 2026-07-31T04:25:52.070457Z 01O | ^ 2026-07-31T04:25:52.070457Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-07-31T04:25:52.070458Z 01O 768 | if (state->outfile == NULL) { 2026-07-31T04:25:52.070458Z 01O | ^ 2026-07-31T04:25:52.070459Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-07-31T04:25:52.070459Z 01O 772 | state->buffer = malloc(chunk_size); 2026-07-31T04:25:52.070460Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070460Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-07-31T04:25:52.070461Z 01O 773 | if (!state->buffer) { 2026-07-31T04:25:52.070461Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.070462Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-07-31T04:25:52.070462Z 01O 773 | if (!state->buffer) { 2026-07-31T04:25:52.070462Z 01O | ^ 2026-07-31T04:25:52.070463Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-07-31T04:25:52.070463Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-07-31T04:25:52.070464Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070464Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.070465Z 01O 780 | while (true) { 2026-07-31T04:25:52.070465Z 01O | ^ 2026-07-31T04:25:52.070533Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-07-31T04:25:52.070533Z 01O 782 | if (nread == 0) { 2026-07-31T04:25:52.070534Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070534Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-07-31T04:25:52.070535Z 01O 782 | if (nread == 0) { 2026-07-31T04:25:52.070535Z 01O | ^ 2026-07-31T04:25:52.070535Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-07-31T04:25:52.070536Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070537Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070539Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-07-31T04:25:52.070542Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-07-31T04:25:52.070543Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070543Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070544Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-07-31T04:25:52.070544Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070545Z 01O | ^ 2026-07-31T04:25:52.070545Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-07-31T04:25:52.070545Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-07-31T04:25:52.070546Z 01O | ^ 2026-07-31T04:25:52.070552Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.070553Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-07-31T04:25:52.070554Z 01O | ^ 2026-07-31T04:25:52.070554Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-07-31T04:25:52.070559Z 01O 789 | if (state->buffer[i] == '\n') { 2026-07-31T04:25:52.070560Z 01O | ^ ~~~~~~ 2026-07-31T04:25:52.070621Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-07-31T04:25:52.070622Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-31T04:25:52.070622Z 01O | ^ ~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070623Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-07-31T04:25:52.070624Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-07-31T04:25:52.070624Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070625Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-07-31T04:25:52.070625Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-07-31T04:25:52.070629Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070681Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-07-31T04:25:52.070682Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-07-31T04:25:52.070683Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070683Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-07-31T04:25:52.070684Z 01O 768 | if (state->outfile == NULL) { 2026-07-31T04:25:52.070684Z 01O | ^ 2026-07-31T04:25:52.070684Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-07-31T04:25:52.070685Z 01O 768 | if (state->outfile == NULL) { 2026-07-31T04:25:52.070685Z 01O | ^ 2026-07-31T04:25:52.070686Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-07-31T04:25:52.070686Z 01O 773 | if (!state->buffer) { 2026-07-31T04:25:52.070687Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.070687Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-07-31T04:25:52.070688Z 01O 773 | if (!state->buffer) { 2026-07-31T04:25:52.070688Z 01O | ^ 2026-07-31T04:25:52.070688Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-07-31T04:25:52.070689Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-07-31T04:25:52.070689Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070690Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.070691Z 01O 780 | while (true) { 2026-07-31T04:25:52.070691Z 01O | ^ 2026-07-31T04:25:52.070759Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-07-31T04:25:52.070760Z 01O 782 | if (nread == 0) { 2026-07-31T04:25:52.070760Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070760Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-07-31T04:25:52.070761Z 01O 782 | if (nread == 0) { 2026-07-31T04:25:52.070761Z 01O | ^ 2026-07-31T04:25:52.070762Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-07-31T04:25:52.070762Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070763Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070763Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-07-31T04:25:52.070764Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070764Z 01O | ^ 2026-07-31T04:25:52.070789Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-07-31T04:25:52.070794Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-31T04:25:52.070795Z 01O | ^ ~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070796Z 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-07-31T04:25:52.070796Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-31T04:25:52.070797Z 01O | ^ ~~~~~~~~~~~~~ 2026-07-31T04:25:52.070797Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-07-31T04:25:52.070798Z 01O 768 | if (state->outfile == NULL) { 2026-07-31T04:25:52.070798Z 01O | ^ 2026-07-31T04:25:52.070828Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-07-31T04:25:52.070829Z 01O 768 | if (state->outfile == NULL) { 2026-07-31T04:25:52.070830Z 01O | ^ 2026-07-31T04:25:52.070830Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-07-31T04:25:52.070831Z 01O 772 | state->buffer = malloc(chunk_size); 2026-07-31T04:25:52.070831Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070832Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-07-31T04:25:52.070832Z 01O 773 | if (!state->buffer) { 2026-07-31T04:25:52.070833Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.070833Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-07-31T04:25:52.070833Z 01O 773 | if (!state->buffer) { 2026-07-31T04:25:52.070834Z 01O | ^ 2026-07-31T04:25:52.070834Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-07-31T04:25:52.070835Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-07-31T04:25:52.070835Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.070909Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.070910Z 01O 780 | while (true) { 2026-07-31T04:25:52.070910Z 01O | ^ 2026-07-31T04:25:52.070911Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-07-31T04:25:52.070911Z 01O 782 | if (nread == 0) { 2026-07-31T04:25:52.070911Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070912Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-07-31T04:25:52.070912Z 01O 782 | if (nread == 0) { 2026-07-31T04:25:52.070913Z 01O | ^ 2026-07-31T04:25:52.070913Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-07-31T04:25:52.070914Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070914Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.070917Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-07-31T04:25:52.070918Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-31T04:25:52.070918Z 01O | ^ 2026-07-31T04:25:52.070919Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-07-31T04:25:52.070919Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-31T04:25:52.070920Z 01O | ^ ~~~~~~~~~~~~~ 2026-07-31T04:25:52.071032Z 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-07-31T04:25:52.071033Z 01O 1364 | next[p] = tail; 2026-07-31T04:25:52.071033Z 01O | ^ 2026-07-31T04:25:52.071038Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.071038Z 01O 1506 | if (verbose) 2026-07-31T04:25:52.071038Z 01O | ^~~~~~~ 2026-07-31T04:25:52.071039Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-07-31T04:25:52.071039Z 01O 1506 | if (verbose) 2026-07-31T04:25:52.071040Z 01O | ^ 2026-07-31T04:25:52.071040Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-07-31T04:25:52.071041Z 01O 1508 | if (k == 0) { 2026-07-31T04:25:52.071041Z 01O | ^~~~~~ 2026-07-31T04:25:52.071041Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-07-31T04:25:52.071042Z 01O 1508 | if (k == 0) { 2026-07-31T04:25:52.071042Z 01O | ^ 2026-07-31T04:25:52.071111Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-07-31T04:25:52.071114Z 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-07-31T04:25:52.071115Z 01O | ^~~~~~ 2026-07-31T04:25:52.071115Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-07-31T04:25:52.071116Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-07-31T04:25:52.071116Z 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-07-31T04:25:52.071117Z 01O | ^~~~~~ 2026-07-31T04:25:52.071117Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-07-31T04:25:52.071123Z 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-07-31T04:25:52.071123Z 01O | ^ 2026-07-31T04:25:52.071124Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-07-31T04:25:52.071124Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.071125Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071163Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-07-31T04:25:52.071164Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.071164Z 01O | ^ 2026-07-31T04:25:52.071165Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-07-31T04:25:52.071165Z 01O 1567 | if (nx_mod_k) { 2026-07-31T04:25:52.071166Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071166Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-07-31T04:25:52.071167Z 01O 1567 | if (nx_mod_k) { 2026-07-31T04:25:52.071167Z 01O | ^ 2026-07-31T04:25:52.071179Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-07-31T04:25:52.071180Z 01O 1574 | bool even = !(k % 2); 2026-07-31T04:25:52.071180Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071181Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-07-31T04:25:52.071181Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-07-31T04:25:52.071182Z 01O | ^~~~ 2026-07-31T04:25:52.071182Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-07-31T04:25:52.071183Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-07-31T04:25:52.071183Z 01O 1579 | if (!o) { // # nocov start 2026-07-31T04:25:52.071184Z 01O | ^~ 2026-07-31T04:25:52.071184Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-07-31T04:25:52.071184Z 01O 1579 | if (!o) { // # nocov start 2026-07-31T04:25:52.071185Z 01O | ^ 2026-07-31T04:25:52.071185Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-07-31T04:25:52.071186Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-31T04:25:52.071198Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071199Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-07-31T04:25:52.071199Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-31T04:25:52.071200Z 01O | ^ 2026-07-31T04:25:52.071238Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-07-31T04:25:52.071239Z 01O 1588 | if (!m) { // # nocov start 2026-07-31T04:25:52.071240Z 01O | ^~ 2026-07-31T04:25:52.071240Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-07-31T04:25:52.071241Z 01O 1588 | if (!m) { // # nocov start 2026-07-31T04:25:52.071241Z 01O | ^ 2026-07-31T04:25:52.071241Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-07-31T04:25:52.071242Z 01O 1594 | if (!n) { // # nocov start 2026-07-31T04:25:52.071242Z 01O | ^~ 2026-07-31T04:25:52.071243Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-07-31T04:25:52.071243Z 01O 1594 | if (!n) { // # nocov start 2026-07-31T04:25:52.071244Z 01O | ^ 2026-07-31T04:25:52.071244Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-07-31T04:25:52.071244Z 01O 1600 | if (!s) { // # nocov start 2026-07-31T04:25:52.071245Z 01O | ^~ 2026-07-31T04:25:52.071248Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-07-31T04:25:52.071248Z 01O 1600 | if (!s) { // # nocov start 2026-07-31T04:25:52.071249Z 01O | ^ 2026-07-31T04:25:52.071249Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-07-31T04:25:52.071250Z 01O 1606 | if (!prev) { // # nocov start 2026-07-31T04:25:52.071250Z 01O | ^~~~~ 2026-07-31T04:25:52.071251Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-07-31T04:25:52.071251Z 01O 1606 | if (!prev) { // # nocov start 2026-07-31T04:25:52.071252Z 01O | ^ 2026-07-31T04:25:52.071252Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-07-31T04:25:52.071252Z 01O 1612 | if (!next) { // # nocov start 2026-07-31T04:25:52.071253Z 01O | ^~~~~ 2026-07-31T04:25:52.071337Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-07-31T04:25:52.071339Z 01O 1612 | if (!next) { // # nocov start 2026-07-31T04:25:52.071340Z 01O | ^ 2026-07-31T04:25:52.071340Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-07-31T04:25:52.071341Z 01O 1618 | if (verbose) 2026-07-31T04:25:52.071342Z 01O | ^~~~~~~ 2026-07-31T04:25:52.071342Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-07-31T04:25:52.071343Z 01O 1618 | if (verbose) 2026-07-31T04:25:52.071344Z 01O | ^ 2026-07-31T04:25:52.071356Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-07-31T04:25:52.071357Z 01O 1621 | for (int j=0; j= 'k' 2026-07-31T04:25:52.071457Z 01O 1358 | for (int i=0; i=0) { 2026-07-31T04:25:52.071623Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071623Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-07-31T04:25:52.071624Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.071624Z 01O | ^ 2026-07-31T04:25:52.071624Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-07-31T04:25:52.071625Z 01O 1567 | if (nx_mod_k) { 2026-07-31T04:25:52.071625Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071626Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-07-31T04:25:52.071626Z 01O 1567 | if (nx_mod_k) { 2026-07-31T04:25:52.071627Z 01O | ^ 2026-07-31T04:25:52.071627Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-07-31T04:25:52.071627Z 01O 1574 | bool even = !(k % 2); 2026-07-31T04:25:52.071628Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071628Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-07-31T04:25:52.071629Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-07-31T04:25:52.071629Z 01O | ^~~~ 2026-07-31T04:25:52.071630Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-07-31T04:25:52.071630Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-07-31T04:25:52.071631Z 01O 1579 | if (!o) { // # nocov start 2026-07-31T04:25:52.071631Z 01O | ^~ 2026-07-31T04:25:52.071631Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-07-31T04:25:52.071632Z 01O 1579 | if (!o) { // # nocov start 2026-07-31T04:25:52.071632Z 01O | ^ 2026-07-31T04:25:52.071690Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-07-31T04:25:52.071690Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-31T04:25:52.071691Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.071691Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-07-31T04:25:52.071692Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-31T04:25:52.071692Z 01O | ^ 2026-07-31T04:25:52.071693Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-07-31T04:25:52.071693Z 01O 1588 | if (!m) { // # nocov start 2026-07-31T04:25:52.071694Z 01O | ^~ 2026-07-31T04:25:52.071694Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-07-31T04:25:52.071695Z 01O 1588 | if (!m) { // # nocov start 2026-07-31T04:25:52.071695Z 01O | ^ 2026-07-31T04:25:52.071696Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-07-31T04:25:52.071696Z 01O 1594 | if (!n) { // # nocov start 2026-07-31T04:25:52.071697Z 01O | ^~ 2026-07-31T04:25:52.071697Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-07-31T04:25:52.071697Z 01O 1594 | if (!n) { // # nocov start 2026-07-31T04:25:52.071698Z 01O | ^ 2026-07-31T04:25:52.071717Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-07-31T04:25:52.071717Z 01O 1600 | if (!s) { // # nocov start 2026-07-31T04:25:52.071718Z 01O | ^~ 2026-07-31T04:25:52.071718Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-07-31T04:25:52.071719Z 01O 1600 | if (!s) { // # nocov start 2026-07-31T04:25:52.071719Z 01O | ^ 2026-07-31T04:25:52.071720Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-07-31T04:25:52.071725Z 01O 1606 | if (!prev) { // # nocov start 2026-07-31T04:25:52.071726Z 01O | ^~~~~ 2026-07-31T04:25:52.071726Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-07-31T04:25:52.071726Z 01O 1606 | if (!prev) { // # nocov start 2026-07-31T04:25:52.071727Z 01O | ^ 2026-07-31T04:25:52.071727Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-07-31T04:25:52.071728Z 01O 1612 | if (!next) { // # nocov start 2026-07-31T04:25:52.071728Z 01O | ^~~~~ 2026-07-31T04:25:52.071729Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-07-31T04:25:52.071729Z 01O 1612 | if (!next) { // # nocov start 2026-07-31T04:25:52.071730Z 01O | ^ 2026-07-31T04:25:52.071753Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-07-31T04:25:52.071754Z 01O 1618 | if (verbose) 2026-07-31T04:25:52.071754Z 01O | ^~~~~~~ 2026-07-31T04:25:52.071755Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-07-31T04:25:52.071755Z 01O 1618 | if (verbose) 2026-07-31T04:25:52.071756Z 01O | ^ 2026-07-31T04:25:52.071756Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-07-31T04:25:52.071757Z 01O 1621 | for (int j=0; j= 'b' 2026-07-31T04:25:52.071946Z 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-07-31T04:25:52.072026Z 01O | ^~~ 2026-07-31T04:25:52.072027Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-07-31T04:25:52.072027Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.072028Z 01O 1633 | for (int i=0; i= 'm' 2026-07-31T04:25:52.072369Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-07-31T04:25:52.072369Z 01O | ^~~~~ 2026-07-31T04:25:52.072370Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-07-31T04:25:52.072370Z 01O 1393 | if (SMALL(i)) { 2026-07-31T04:25:52.072371Z 01O | ^ 2026-07-31T04:25:52.072371Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-07-31T04:25:52.072372Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-07-31T04:25:52.072372Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.072373Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-07-31T04:25:52.072373Z 01O 1393 | if (SMALL(i)) { 2026-07-31T04:25:52.072374Z 01O | ^ 2026-07-31T04:25:52.072374Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-07-31T04:25:52.072374Z 01O 1396 | if (m[0] == i) { 2026-07-31T04:25:52.072375Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.072375Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-07-31T04:25:52.072376Z 01O 1396 | if (m[0] == i) { 2026-07-31T04:25:52.072376Z 01O | ^ 2026-07-31T04:25:52.072377Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-07-31T04:25:52.072377Z 01O 1399 | if (s[0] > 0) { 2026-07-31T04:25:52.072377Z 01O | ^ 2026-07-31T04:25:52.072378Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-07-31T04:25:52.072378Z 01O 1400 | m[0] = prev[m[0]]; 2026-07-31T04:25:52.072379Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.072419Z 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-07-31T04:25:52.072427Z 01O 1471 | m[0] = prev[m[0]]; 2026-07-31T04:25:52.072427Z 01O | ^ 2026-07-31T04:25:52.072428Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.072428Z 01O 1506 | if (verbose) 2026-07-31T04:25:52.072429Z 01O | ^~~~~~~ 2026-07-31T04:25:52.072429Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-07-31T04:25:52.072430Z 01O 1506 | if (verbose) 2026-07-31T04:25:52.072430Z 01O | ^ 2026-07-31T04:25:52.072430Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-07-31T04:25:52.072431Z 01O 1508 | if (k == 0) { 2026-07-31T04:25:52.072431Z 01O | ^~~~~~ 2026-07-31T04:25:52.072432Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-07-31T04:25:52.072432Z 01O 1508 | if (k == 0) { 2026-07-31T04:25:52.072433Z 01O | ^ 2026-07-31T04:25:52.072433Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-07-31T04:25:52.072433Z 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-07-31T04:25:52.072434Z 01O | ^~~~~~ 2026-07-31T04:25:52.072434Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-07-31T04:25:52.072435Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-07-31T04:25:52.072436Z 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-07-31T04:25:52.072436Z 01O | ^~~~~~ 2026-07-31T04:25:52.072485Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-07-31T04:25:52.072485Z 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-07-31T04:25:52.072486Z 01O | ^ 2026-07-31T04:25:52.072486Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-07-31T04:25:52.072487Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.072487Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.072488Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-07-31T04:25:52.072488Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.072489Z 01O | ^ 2026-07-31T04:25:52.072489Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-07-31T04:25:52.072489Z 01O 1567 | if (nx_mod_k) { 2026-07-31T04:25:52.072490Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.072490Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-07-31T04:25:52.072491Z 01O 1567 | if (nx_mod_k) { 2026-07-31T04:25:52.072491Z 01O | ^ 2026-07-31T04:25:52.072502Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-07-31T04:25:52.072502Z 01O 1574 | bool even = !(k % 2); 2026-07-31T04:25:52.072503Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.072503Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-07-31T04:25:52.072504Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-07-31T04:25:52.072504Z 01O | ^~~~ 2026-07-31T04:25:52.072505Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-07-31T04:25:52.072505Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-07-31T04:25:52.072506Z 01O 1579 | if (!o) { // # nocov start 2026-07-31T04:25:52.072506Z 01O | ^~ 2026-07-31T04:25:52.072507Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-07-31T04:25:52.072507Z 01O 1579 | if (!o) { // # nocov start 2026-07-31T04:25:52.072508Z 01O | ^ 2026-07-31T04:25:52.072561Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-07-31T04:25:52.072562Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-31T04:25:52.072562Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.072562Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-07-31T04:25:52.072563Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-31T04:25:52.072564Z 01O | ^ 2026-07-31T04:25:52.072564Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-07-31T04:25:52.072564Z 01O 1588 | if (!m) { // # nocov start 2026-07-31T04:25:52.072565Z 01O | ^~ 2026-07-31T04:25:52.072565Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-07-31T04:25:52.072566Z 01O 1588 | if (!m) { // # nocov start 2026-07-31T04:25:52.072566Z 01O | ^ 2026-07-31T04:25:52.072573Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-07-31T04:25:52.072573Z 01O 1594 | if (!n) { // # nocov start 2026-07-31T04:25:52.072574Z 01O | ^~ 2026-07-31T04:25:52.072574Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-07-31T04:25:52.072575Z 01O 1594 | if (!n) { // # nocov start 2026-07-31T04:25:52.072575Z 01O | ^ 2026-07-31T04:25:52.072662Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-07-31T04:25:52.072662Z 01O 1600 | if (!s) { // # nocov start 2026-07-31T04:25:52.072663Z 01O | ^~ 2026-07-31T04:25:52.072663Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-07-31T04:25:52.072664Z 01O 1600 | if (!s) { // # nocov start 2026-07-31T04:25:52.072664Z 01O | ^ 2026-07-31T04:25:52.072665Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-07-31T04:25:52.072665Z 01O 1606 | if (!prev) { // # nocov start 2026-07-31T04:25:52.072666Z 01O | ^~~~~ 2026-07-31T04:25:52.072666Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-07-31T04:25:52.072666Z 01O 1606 | if (!prev) { // # nocov start 2026-07-31T04:25:52.072667Z 01O | ^ 2026-07-31T04:25:52.072668Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-07-31T04:25:52.072668Z 01O 1612 | if (!next) { // # nocov start 2026-07-31T04:25:52.072669Z 01O | ^~~~~ 2026-07-31T04:25:52.072669Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-07-31T04:25:52.072670Z 01O 1612 | if (!next) { // # nocov start 2026-07-31T04:25:52.072670Z 01O | ^ 2026-07-31T04:25:52.072670Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-07-31T04:25:52.072671Z 01O 1618 | if (verbose) 2026-07-31T04:25:52.072671Z 01O | ^~~~~~~ 2026-07-31T04:25:52.072672Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-07-31T04:25:52.072672Z 01O 1618 | if (verbose) 2026-07-31T04:25:52.072672Z 01O | ^ 2026-07-31T04:25:52.072736Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-07-31T04:25:52.072736Z 01O 1621 | for (int j=0; j= 'b' 2026-07-31T04:25:52.072858Z 01O 1621 | for (int j=0; j= 'm' 2026-07-31T04:25:52.073252Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-07-31T04:25:52.073252Z 01O | ^~~~~ 2026-07-31T04:25:52.073253Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-07-31T04:25:52.073254Z 01O 1460 | if (SMALL(i)) { 2026-07-31T04:25:52.073254Z 01O | ^ 2026-07-31T04:25:52.073258Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-07-31T04:25:52.073259Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-07-31T04:25:52.073259Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.073260Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-07-31T04:25:52.073267Z 01O 1460 | if (SMALL(i)) { 2026-07-31T04:25:52.073267Z 01O | ^ 2026-07-31T04:25:52.073268Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-07-31T04:25:52.073268Z 01O 1463 | if (m[0] == i) { 2026-07-31T04:25:52.073269Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.073269Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-07-31T04:25:52.073270Z 01O 1463 | if (m[0] == i) { 2026-07-31T04:25:52.073270Z 01O | ^ 2026-07-31T04:25:52.073270Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-07-31T04:25:52.073271Z 01O 1467 | } else if (even && n[0] == i) { 2026-07-31T04:25:52.073271Z 01O | ^~~~ 2026-07-31T04:25:52.073272Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-07-31T04:25:52.073275Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-07-31T04:25:52.073276Z 01O 1467 | } else if (even && n[0] == i) { 2026-07-31T04:25:52.073277Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.073277Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-07-31T04:25:52.073278Z 01O 1467 | } else if (even && n[0] == i) { 2026-07-31T04:25:52.073278Z 01O | ^ 2026-07-31T04:25:52.073278Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-07-31T04:25:52.073279Z 01O 1470 | if (s[0] > 0) { 2026-07-31T04:25:52.073279Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.073280Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-07-31T04:25:52.073280Z 01O 1470 | if (s[0] > 0) { 2026-07-31T04:25:52.073281Z 01O | ^ 2026-07-31T04:25:52.073296Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-07-31T04:25:52.073297Z 01O 1471 | m[0] = prev[m[0]]; 2026-07-31T04:25:52.073297Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.073340Z 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-07-31T04:25:52.073341Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-07-31T04:25:52.073341Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.073342Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.073343Z 01O 1506 | if (verbose) 2026-07-31T04:25:52.073343Z 01O | ^~~~~~~ 2026-07-31T04:25:52.073343Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-07-31T04:25:52.073344Z 01O 1506 | if (verbose) 2026-07-31T04:25:52.073344Z 01O | ^ 2026-07-31T04:25:52.073345Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-07-31T04:25:52.073345Z 01O 1508 | if (k == 0) { 2026-07-31T04:25:52.073345Z 01O | ^~~~~~ 2026-07-31T04:25:52.073346Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-07-31T04:25:52.073346Z 01O 1508 | if (k == 0) { 2026-07-31T04:25:52.073347Z 01O | ^ 2026-07-31T04:25:52.073381Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-07-31T04:25:52.073381Z 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-07-31T04:25:52.073382Z 01O | ^~~~~~ 2026-07-31T04:25:52.073382Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-07-31T04:25:52.073383Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-07-31T04:25:52.073383Z 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-07-31T04:25:52.073393Z 01O | ^~~~~~ 2026-07-31T04:25:52.073393Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-07-31T04:25:52.073394Z 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-07-31T04:25:52.073394Z 01O | ^ 2026-07-31T04:25:52.073395Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-07-31T04:25:52.073395Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.073396Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.073396Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-07-31T04:25:52.073397Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.073397Z 01O | ^ 2026-07-31T04:25:52.073425Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-07-31T04:25:52.073425Z 01O 1549 | for (uint64_t i=0; i= 0 2026-07-31T04:25:52.073590Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.073590Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.073591Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-07-31T04:25:52.073591Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.073592Z 01O | ^ 2026-07-31T04:25:52.073592Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-07-31T04:25:52.073592Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-07-31T04:25:52.073803Z 01O 1549 | for (uint64_t i=0; i= 0 2026-07-31T04:25:52.074339Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.074339Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.074339Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-07-31T04:25:52.074340Z 01O 1548 | if (hasnf>=0) { 2026-07-31T04:25:52.074340Z 01O | ^ 2026-07-31T04:25:52.074343Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-07-31T04:25:52.074343Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-07-31T04:25:52.074412Z 01O 1549 | for (uint64_t i=0; i 0 2026-07-31T04:25:52.075014Z 01O 541 | bool truehasnf = hasnf>0; 2026-07-31T04:25:52.075014Z 01O | ^~~~~~~ 2026-07-31T04:25:52.075023Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-07-31T04:25:52.075024Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-07-31T04:25:52.075091Z 01O 542 | for (uint64_t i=0; i 0 2026-07-31T04:25:52.075488Z 01O 616 | bool truehasnf = hasnf>0; 2026-07-31T04:25:52.075489Z 01O | ^~~~~~~ 2026-07-31T04:25:52.075491Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-07-31T04:25:52.075492Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-07-31T04:25:52.075505Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-07-31T04:25:52.075688Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-07-31T04:25:52.076024Z 01O | ^ 2026-07-31T04:25:52.076024Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-07-31T04:25:52.076025Z 01O 888 | if (i+1 == ik) { 2026-07-31T04:25:52.076025Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.076025Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-07-31T04:25:52.076026Z 01O 888 | if (i+1 == ik) { 2026-07-31T04:25:52.076026Z 01O | ^ 2026-07-31T04:25:52.076029Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-07-31T04:25:52.076030Z 01O 890 | } else if (i+1 < ik) { 2026-07-31T04:25:52.076031Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.076031Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-07-31T04:25:52.076032Z 01O 890 | } else if (i+1 < ik) { 2026-07-31T04:25:52.076032Z 01O | ^ 2026-07-31T04:25:52.076032Z 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-07-31T04:25:52.076033Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-07-31T04:25:52.076034Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.076036Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-07-31T04:25:52.076037Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-07-31T04:25:52.076037Z 01O | ^ 2026-07-31T04:25:52.076038Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-07-31T04:25:52.076038Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-07-31T04:25:52.076039Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.076039Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-07-31T04:25:52.076040Z 01O 998 | if (!nc) { // total NA for x 2026-07-31T04:25:52.076040Z 01O | ^~ 2026-07-31T04:25:52.076100Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-07-31T04:25:52.076101Z 01O 998 | if (!nc) { // total NA for x 2026-07-31T04:25:52.076101Z 01O | ^ 2026-07-31T04:25:52.076105Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.076106Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-07-31T04:25:52.076562Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-07-31T04:25:52.076792Z 01O | ^~~~~~~ 2026-07-31T04:25:52.076792Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-07-31T04:25:52.076793Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-07-31T04:25:52.076793Z 01O | ^ 2026-07-31T04:25:52.076797Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-07-31T04:25:52.076798Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-07-31T04:25:52.076798Z 01O | ^ 2026-07-31T04:25:52.076799Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-07-31T04:25:52.076799Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-31T04:25:52.076800Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.076800Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-07-31T04:25:52.076801Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-07-31T04:25:52.076801Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-31T04:25:52.076802Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.076802Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-07-31T04:25:52.076807Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-31T04:25:52.076808Z 01O | ^ 2026-07-31T04:25:52.076808Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-07-31T04:25:52.076809Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-31T04:25:52.076809Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.076868Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-07-31T04:25:52.076868Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-31T04:25:52.076869Z 01O | ^ 2026-07-31T04:25:52.076869Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-07-31T04:25:52.076870Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-07-31T04:25:52.076956Z 01O | ^~~~~~~ 2026-07-31T04:25:52.076956Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-07-31T04:25:52.076957Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-07-31T04:25:52.076957Z 01O | ^ 2026-07-31T04:25:52.076958Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-07-31T04:25:52.076958Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-07-31T04:25:52.076959Z 01O | ^ 2026-07-31T04:25:52.076961Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-07-31T04:25:52.076962Z 01O 122 | if (!counts || !TMP ) { 2026-07-31T04:25:52.076962Z 01O | ^~~~~~~ 2026-07-31T04:25:52.076962Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-07-31T04:25:52.076966Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-07-31T04:25:52.076966Z 01O 122 | if (!counts || !TMP ) { 2026-07-31T04:25:52.076967Z 01O | ^~~~ 2026-07-31T04:25:52.076967Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-07-31T04:25:52.076973Z 01O 122 | if (!counts || !TMP ) { 2026-07-31T04:25:52.076974Z 01O | ^ 2026-07-31T04:25:52.076974Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-07-31T04:25:52.076975Z 01O 127 | for (int b=0; b= 'howMany' 2026-07-31T04:25:52.077037Z 01O 131 | for (int i=0; i= 'highSize' 2026-07-31T04:25:52.077108Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-07-31T04:25:52.077392Z 01O | ^ 2026-07-31T04:25:52.077392Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-07-31T04:25:52.077392Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-07-31T04:25:52.077393Z 01O | ^ ~ 2026-07-31T04:25:52.077393Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-07-31T04:25:52.077394Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-07-31T04:25:52.077394Z 01O | ^ ~ 2026-07-31T04:25:52.077395Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-31T04:25:52.077395Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077396Z 01O | ^ 2026-07-31T04:25:52.077401Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077401Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077402Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077403Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-31T04:25:52.077403Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077404Z 01O | ^ 2026-07-31T04:25:52.077458Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077459Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077460Z 01O | ^ 2026-07-31T04:25:52.077460Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-31T04:25:52.077461Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077461Z 01O | ^ 2026-07-31T04:25:52.077466Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077467Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077467Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.077468Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-31T04:25:52.077468Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077469Z 01O | ^ 2026-07-31T04:25:52.077469Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077470Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077470Z 01O | ^ 2026-07-31T04:25:52.077471Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-31T04:25:52.077471Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077472Z 01O | ^ 2026-07-31T04:25:52.077547Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077548Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077548Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077556Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-07-31T04:25:52.077556Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077557Z 01O | ^ 2026-07-31T04:25:52.077557Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-07-31T04:25:52.077558Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-31T04:25:52.077558Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077558Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-07-31T04:25:52.077559Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-31T04:25:52.077559Z 01O | ^ 2026-07-31T04:25:52.077563Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-07-31T04:25:52.077563Z 01O 1122 | if (inherits(x, "factor")) 2026-07-31T04:25:52.077564Z 01O | ^ 2026-07-31T04:25:52.077564Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-07-31T04:25:52.077565Z 01O 933 | #define inherits Rf_inherits 2026-07-31T04:25:52.077565Z 01O | ^ 2026-07-31T04:25:52.077566Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-07-31T04:25:52.077566Z 01O 1122 | if (inherits(x, "factor")) 2026-07-31T04:25:52.077566Z 01O | ^ 2026-07-31T04:25:52.077576Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-07-31T04:25:52.077576Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-07-31T04:25:52.077577Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.077577Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-07-31T04:25:52.077578Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-07-31T04:25:52.077578Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.077579Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-07-31T04:25:52.077635Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-07-31T04:25:52.077636Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-31T04:25:52.077637Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.077637Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-07-31T04:25:52.077637Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-31T04:25:52.077638Z 01O | ^ 2026-07-31T04:25:52.077638Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-07-31T04:25:52.077639Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-07-31T04:25:52.077639Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077640Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-07-31T04:25:52.077641Z 01O 1129 | if (!s) 2026-07-31T04:25:52.077641Z 01O | ^~ 2026-07-31T04:25:52.077641Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-07-31T04:25:52.077642Z 01O 1129 | if (!s) 2026-07-31T04:25:52.077642Z 01O | ^ 2026-07-31T04:25:52.077646Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-07-31T04:25:52.077647Z 01O 1131 | for (int i=0; i= 'n' 2026-07-31T04:25:52.077656Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-07-31T04:25:52.077794Z 01O | ^ 2026-07-31T04:25:52.077794Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-07-31T04:25:52.077795Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-07-31T04:25:52.077795Z 01O | ^ ~ 2026-07-31T04:25:52.077796Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-07-31T04:25:52.077796Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-07-31T04:25:52.077797Z 01O | ^ ~ 2026-07-31T04:25:52.077800Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-07-31T04:25:52.077801Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-07-31T04:25:52.077802Z 01O | ~~~~ ^ 2026-07-31T04:25:52.077802Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-31T04:25:52.077803Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077803Z 01O | ^ 2026-07-31T04:25:52.077836Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077837Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077838Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077838Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-31T04:25:52.077839Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077839Z 01O | ^ 2026-07-31T04:25:52.077839Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077845Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077845Z 01O | ^ 2026-07-31T04:25:52.077846Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-31T04:25:52.077846Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077847Z 01O | ^ 2026-07-31T04:25:52.077847Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077848Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077848Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.077849Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-31T04:25:52.077849Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077850Z 01O | ^ 2026-07-31T04:25:52.077873Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077874Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077875Z 01O | ^ 2026-07-31T04:25:52.077877Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-31T04:25:52.077878Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077878Z 01O | ^ 2026-07-31T04:25:52.077922Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.077923Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.077923Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077924Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-07-31T04:25:52.077924Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-31T04:25:52.077925Z 01O | ^ 2026-07-31T04:25:52.077925Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-07-31T04:25:52.077926Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-31T04:25:52.077926Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.077927Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-07-31T04:25:52.077927Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-31T04:25:52.077928Z 01O | ^ 2026-07-31T04:25:52.077970Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-07-31T04:25:52.077971Z 01O 1122 | if (inherits(x, "factor")) 2026-07-31T04:25:52.077971Z 01O | ^ 2026-07-31T04:25:52.077972Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-07-31T04:25:52.077972Z 01O 933 | #define inherits Rf_inherits 2026-07-31T04:25:52.077973Z 01O | ^ 2026-07-31T04:25:52.077973Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-07-31T04:25:52.077974Z 01O 1122 | if (inherits(x, "factor")) 2026-07-31T04:25:52.077974Z 01O | ^ 2026-07-31T04:25:52.077975Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-07-31T04:25:52.077975Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-07-31T04:25:52.077976Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.077976Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-07-31T04:25:52.077977Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-07-31T04:25:52.077977Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.077978Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-07-31T04:25:52.077982Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-07-31T04:25:52.077983Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-31T04:25:52.077983Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.078004Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-07-31T04:25:52.078005Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-31T04:25:52.078006Z 01O | ^ 2026-07-31T04:25:52.078006Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-07-31T04:25:52.078007Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-07-31T04:25:52.078007Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078010Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-07-31T04:25:52.078010Z 01O 1129 | if (!s) 2026-07-31T04:25:52.078011Z 01O | ^~ 2026-07-31T04:25:52.078011Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-07-31T04:25:52.078012Z 01O 1129 | if (!s) 2026-07-31T04:25:52.078012Z 01O | ^ 2026-07-31T04:25:52.078053Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-07-31T04:25:52.078054Z 01O 1131 | for (int i=0; i= 'n' 2026-07-31T04:25:52.078058Z 01O 1135 | for (int i=0; i' is a garbage value 2026-07-31T04:25:52.078129Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-07-31T04:25:52.078130Z 01O | ~~~~ ^ 2026-07-31T04:25:52.078198Z 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-07-31T04:25:52.078199Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-07-31T04:25:52.078200Z 01O | ^ 2026-07-31T04:25:52.078200Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-07-31T04:25:52.078201Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-07-31T04:25:52.078201Z 01O | ^ 2026-07-31T04:25:52.078202Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-07-31T04:25:52.078202Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-07-31T04:25:52.078203Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.078203Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-07-31T04:25:52.078204Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-07-31T04:25:52.078204Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078229Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-07-31T04:25:52.078230Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-07-31T04:25:52.078230Z 01O | ^ 2026-07-31T04:25:52.078231Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-07-31T04:25:52.078231Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-07-31T04:25:52.078232Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078232Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-07-31T04:25:52.078233Z 01O 54 | if (!ret) 2026-07-31T04:25:52.078233Z 01O | ^~~~ 2026-07-31T04:25:52.078233Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-07-31T04:25:52.078234Z 01O 54 | if (!ret) 2026-07-31T04:25:52.078234Z 01O | ^ 2026-07-31T04:25:52.078237Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-07-31T04:25:52.078237Z 01O 59 | if (!table) { 2026-07-31T04:25:52.078238Z 01O | ^~~~~~ 2026-07-31T04:25:52.078238Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-07-31T04:25:52.078238Z 01O 59 | if (!table) { 2026-07-31T04:25:52.078239Z 01O | ^ 2026-07-31T04:25:52.078303Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-07-31T04:25:52.078303Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-07-31T04:25:52.078304Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078304Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-07-31T04:25:52.078305Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-07-31T04:25:52.078305Z 01O | ^ 2026-07-31T04:25:52.078306Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-07-31T04:25:52.078306Z 01O 71 | ret->shift = HASH_BITS - k; 2026-07-31T04:25:52.078307Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078315Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-07-31T04:25:52.078316Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-07-31T04:25:52.078316Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078317Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-07-31T04:25:52.078317Z 01O 133 | if (!new_h) return NULL; 2026-07-31T04:25:52.078329Z 01O | ^~~~~ 2026-07-31T04:25:52.078330Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-07-31T04:25:52.078330Z 01O 133 | if (!new_h) return NULL; 2026-07-31T04:25:52.078331Z 01O | ^ 2026-07-31T04:25:52.078331Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-07-31T04:25:52.078332Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-07-31T04:25:52.078332Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.078333Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.078333Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-07-31T04:25:52.078334Z 01O | ^ 2026-07-31T04:25:52.078334Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-07-31T04:25:52.078335Z 01O 138 | if (h->table[i].key) 2026-07-31T04:25:52.078335Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078378Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-07-31T04:25:52.078379Z 01O 138 | if (h->table[i].key) 2026-07-31T04:25:52.078379Z 01O | ^ 2026-07-31T04:25:52.078380Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-07-31T04:25:52.078380Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-07-31T04:25:52.078381Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078381Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-07-31T04:25:52.078382Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-07-31T04:25:52.078382Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.078401Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-07-31T04:25:52.078402Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-07-31T04:25:52.078402Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078403Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-07-31T04:25:52.078404Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-07-31T04:25:52.078404Z 01O | ^ 2026-07-31T04:25:52.078405Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-07-31T04:25:52.078405Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-07-31T04:25:52.078406Z 01O | ^ 2026-07-31T04:25:52.078454Z 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-07-31T04:25:52.078455Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-07-31T04:25:52.078455Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-07-31T04:25:52.078497Z 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-07-31T04:25:52.078498Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-07-31T04:25:52.078499Z 01O | ^ 2026-07-31T04:25:52.078499Z 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-07-31T04:25:52.078516Z 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-07-31T04:25:52.078517Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-07-31T04:25:52.078523Z 01O | ^ 2026-07-31T04:25:52.078524Z 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-07-31T04:25:52.078572Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-31T04:25:52.078572Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-07-31T04:25:52.078573Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078573Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-07-31T04:25:52.078574Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-07-31T04:25:52.078575Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078668Z 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-07-31T04:25:52.078669Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-07-31T04:25:52.078670Z 01O | ^ 2026-07-31T04:25:52.078670Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.078671Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.078671Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.078672Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.078672Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.078672Z 01O | ^ 2026-07-31T04:25:52.078673Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.078673Z 01O 128 | if (verbose) 2026-07-31T04:25:52.078674Z 01O | ^~~~~~~ 2026-07-31T04:25:52.078674Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.078675Z 01O 128 | if (verbose) 2026-07-31T04:25:52.078675Z 01O | ^ 2026-07-31T04:25:52.078675Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.078676Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.078676Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078736Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.078737Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.078738Z 01O | ^ 2026-07-31T04:25:52.078742Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.078743Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.078744Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078744Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.078745Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.078745Z 01O | ^ 2026-07-31T04:25:52.078748Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.078749Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.078749Z 01O | ^ 2026-07-31T04:25:52.078750Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.078750Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.078751Z 01O | ^ 2026-07-31T04:25:52.078827Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.078828Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.078833Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.078834Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.078834Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.078835Z 01O | ^ 2026-07-31T04:25:52.078838Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.078839Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.078839Z 01O | ^ 2026-07-31T04:25:52.078840Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.078840Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.078841Z 01O | ^ 2026-07-31T04:25:52.078844Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.078845Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.078846Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.078846Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.078847Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.078847Z 01O | ^ 2026-07-31T04:25:52.078848Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.078848Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.078849Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.078900Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.078901Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.078901Z 01O | ^ 2026-07-31T04:25:52.078904Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.078905Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.079008Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-07-31T04:25:52.079384Z 01O | ^ 2026-07-31T04:25:52.079385Z 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-07-31T04:25:52.079385Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-07-31T04:25:52.079386Z 01O | ^ 2026-07-31T04:25:52.079386Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.079387Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.079387Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.079388Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.079388Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.079389Z 01O | ^ 2026-07-31T04:25:52.079391Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.079391Z 01O 128 | if (verbose) 2026-07-31T04:25:52.079392Z 01O | ^~~~~~~ 2026-07-31T04:25:52.079392Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.079393Z 01O 128 | if (verbose) 2026-07-31T04:25:52.079393Z 01O | ^ 2026-07-31T04:25:52.079409Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.079410Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.079410Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.079417Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.079418Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.079419Z 01O | ^ 2026-07-31T04:25:52.079419Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.079420Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.079420Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.079454Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.079462Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.079462Z 01O | ^ 2026-07-31T04:25:52.079463Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.079463Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.079464Z 01O | ^ 2026-07-31T04:25:52.079478Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.079478Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.079479Z 01O | ^ 2026-07-31T04:25:52.079479Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.079480Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.079480Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.079481Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.079481Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.079482Z 01O | ^ 2026-07-31T04:25:52.079526Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.079527Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.079527Z 01O | ^ 2026-07-31T04:25:52.079529Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.079530Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.079531Z 01O | ^ 2026-07-31T04:25:52.079592Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.079593Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.079594Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.079595Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.079595Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.079596Z 01O | ^ 2026-07-31T04:25:52.079596Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.079596Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.079597Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.079597Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.079598Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.079598Z 01O | ^ 2026-07-31T04:25:52.079599Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.079599Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.079762Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-07-31T04:25:52.080128Z 01O | ^ 2026-07-31T04:25:52.080129Z 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-07-31T04:25:52.080130Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-07-31T04:25:52.080130Z 01O | ^ 2026-07-31T04:25:52.080131Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.080131Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.080132Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.080135Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.080135Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.080136Z 01O | ^ 2026-07-31T04:25:52.080136Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.080137Z 01O 128 | if (verbose) 2026-07-31T04:25:52.080137Z 01O | ^~~~~~~ 2026-07-31T04:25:52.080137Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.080138Z 01O 128 | if (verbose) 2026-07-31T04:25:52.080138Z 01O | ^ 2026-07-31T04:25:52.080139Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.080144Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.080144Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.080207Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.080207Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080208Z 01O | ^ 2026-07-31T04:25:52.080208Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080209Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080210Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.080213Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.080213Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080214Z 01O | ^ 2026-07-31T04:25:52.080214Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080215Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080215Z 01O | ^ 2026-07-31T04:25:52.080253Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.080254Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080254Z 01O | ^ 2026-07-31T04:25:52.080255Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080255Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080256Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.080256Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.080257Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080257Z 01O | ^ 2026-07-31T04:25:52.080258Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080258Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080259Z 01O | ^ 2026-07-31T04:25:52.080262Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.080263Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080263Z 01O | ^ 2026-07-31T04:25:52.080264Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080264Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080265Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.080284Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.080284Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080285Z 01O | ^ 2026-07-31T04:25:52.080285Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.080286Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.080286Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.080311Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.080312Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.080312Z 01O | ^ 2026-07-31T04:25:52.080312Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.080313Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.080410Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-07-31T04:25:52.080829Z 01O | ^ 2026-07-31T04:25:52.080829Z 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-07-31T04:25:52.080830Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-07-31T04:25:52.080831Z 01O | ^ 2026-07-31T04:25:52.080831Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.080832Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.080832Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.080833Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.080833Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.080833Z 01O | ^ 2026-07-31T04:25:52.080834Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.080834Z 01O 128 | if (verbose) 2026-07-31T04:25:52.080835Z 01O | ^~~~~~~ 2026-07-31T04:25:52.080835Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.080836Z 01O 128 | if (verbose) 2026-07-31T04:25:52.080836Z 01O | ^ 2026-07-31T04:25:52.080836Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.080837Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.080837Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.080888Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.080889Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080890Z 01O | ^ 2026-07-31T04:25:52.080890Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080891Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080891Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.080892Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.080892Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080893Z 01O | ^ 2026-07-31T04:25:52.080937Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080938Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080938Z 01O | ^ 2026-07-31T04:25:52.080939Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.080939Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080940Z 01O | ^ 2026-07-31T04:25:52.080944Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080944Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080945Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.080946Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.080946Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.080947Z 01O | ^ 2026-07-31T04:25:52.080947Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.080948Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.080948Z 01O | ^ 2026-07-31T04:25:52.081023Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.081028Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081028Z 01O | ^ 2026-07-31T04:25:52.081029Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.081029Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.081030Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.081031Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.081031Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081032Z 01O | ^ 2026-07-31T04:25:52.081035Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.081035Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.081036Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.081036Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.081037Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.081037Z 01O | ^ 2026-07-31T04:25:52.081037Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.081038Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.081136Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-07-31T04:25:52.081535Z 01O | ^ 2026-07-31T04:25:52.081535Z 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-07-31T04:25:52.081536Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-07-31T04:25:52.081536Z 01O | ^ 2026-07-31T04:25:52.081537Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.081537Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.081538Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.081538Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.081539Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.081539Z 01O | ^ 2026-07-31T04:25:52.081542Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.081547Z 01O 128 | if (verbose) 2026-07-31T04:25:52.081547Z 01O | ^~~~~~~ 2026-07-31T04:25:52.081547Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.081548Z 01O 128 | if (verbose) 2026-07-31T04:25:52.081548Z 01O | ^ 2026-07-31T04:25:52.081549Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.081549Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.081550Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.081605Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.081605Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081606Z 01O | ^ 2026-07-31T04:25:52.081606Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.081607Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.081607Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.081608Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.081609Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081609Z 01O | ^ 2026-07-31T04:25:52.081618Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.081619Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.081624Z 01O | ^ 2026-07-31T04:25:52.081625Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.081625Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081626Z 01O | ^ 2026-07-31T04:25:52.081626Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.081627Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.081627Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.081628Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.081628Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081629Z 01O | ^ 2026-07-31T04:25:52.081673Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.081674Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.081674Z 01O | ^ 2026-07-31T04:25:52.081675Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.081676Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081676Z 01O | ^ 2026-07-31T04:25:52.081721Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.081722Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.081723Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.081723Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.081724Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.081724Z 01O | ^ 2026-07-31T04:25:52.081725Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.081725Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.081725Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.081726Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.081726Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.081727Z 01O | ^ 2026-07-31T04:25:52.081727Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.081728Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.081845Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-07-31T04:25:52.082257Z 01O | ^ 2026-07-31T04:25:52.082258Z 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-07-31T04:25:52.082263Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-07-31T04:25:52.082264Z 01O | ^ 2026-07-31T04:25:52.082264Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.082265Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.082265Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.082266Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.082266Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.082266Z 01O | ^ 2026-07-31T04:25:52.082309Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.082310Z 01O 128 | if (verbose) 2026-07-31T04:25:52.082311Z 01O | ^~~~~~~ 2026-07-31T04:25:52.082311Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.082312Z 01O 128 | if (verbose) 2026-07-31T04:25:52.082312Z 01O | ^ 2026-07-31T04:25:52.082312Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.082313Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.082313Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.082344Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.082345Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.082345Z 01O | ^ 2026-07-31T04:25:52.082346Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.082346Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.082347Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.082348Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.082348Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.082349Z 01O | ^ 2026-07-31T04:25:52.082393Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.082394Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.082395Z 01O | ^ 2026-07-31T04:25:52.082403Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.082404Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.082404Z 01O | ^ 2026-07-31T04:25:52.082405Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.082405Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.082406Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.082406Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.082407Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.082407Z 01O | ^ 2026-07-31T04:25:52.082486Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.082486Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.082487Z 01O | ^ 2026-07-31T04:25:52.082487Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.082488Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.082488Z 01O | ^ 2026-07-31T04:25:52.082489Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.082496Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.082496Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.082497Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.082498Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.082498Z 01O | ^ 2026-07-31T04:25:52.082498Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.082499Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.082499Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.082500Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.082500Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.082501Z 01O | ^ 2026-07-31T04:25:52.082547Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.082547Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.082604Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-07-31T04:25:52.083023Z 01O | ^ 2026-07-31T04:25:52.083024Z 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-07-31T04:25:52.083024Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-07-31T04:25:52.083025Z 01O | ^ 2026-07-31T04:25:52.083025Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.083026Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.083026Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.083029Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.083030Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.083030Z 01O | ^ 2026-07-31T04:25:52.083031Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.083031Z 01O 128 | if (verbose) 2026-07-31T04:25:52.083032Z 01O | ^~~~~~~ 2026-07-31T04:25:52.083032Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.083032Z 01O 128 | if (verbose) 2026-07-31T04:25:52.083033Z 01O | ^ 2026-07-31T04:25:52.083121Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.083122Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.083122Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.083123Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.083123Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083129Z 01O | ^ 2026-07-31T04:25:52.083130Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083130Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083131Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.083131Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.083132Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083132Z 01O | ^ 2026-07-31T04:25:52.083133Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083133Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083134Z 01O | ^ 2026-07-31T04:25:52.083192Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.083193Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083193Z 01O | ^ 2026-07-31T04:25:52.083193Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083194Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083195Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.083198Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.083198Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083199Z 01O | ^ 2026-07-31T04:25:52.083199Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083200Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083201Z 01O | ^ 2026-07-31T04:25:52.083223Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.083224Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083225Z 01O | ^ 2026-07-31T04:25:52.083225Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083226Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083226Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.083227Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.083227Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083228Z 01O | ^ 2026-07-31T04:25:52.083228Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.083229Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.083229Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.083229Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.083230Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.083230Z 01O | ^ 2026-07-31T04:25:52.083231Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.083231Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.083363Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-07-31T04:25:52.083696Z 01O | ^ 2026-07-31T04:25:52.083761Z 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-07-31T04:25:52.083762Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-07-31T04:25:52.083762Z 01O | ^ 2026-07-31T04:25:52.083763Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.083763Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.083764Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.083764Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.083765Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.083765Z 01O | ^ 2026-07-31T04:25:52.083766Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.083766Z 01O 128 | if (verbose) 2026-07-31T04:25:52.083766Z 01O | ^~~~~~~ 2026-07-31T04:25:52.083767Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.083767Z 01O 128 | if (verbose) 2026-07-31T04:25:52.083772Z 01O | ^ 2026-07-31T04:25:52.083772Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.083773Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.083773Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.083774Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.083774Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083775Z 01O | ^ 2026-07-31T04:25:52.083775Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083776Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083776Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.083857Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.083858Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083859Z 01O | ^ 2026-07-31T04:25:52.083859Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083860Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083860Z 01O | ^ 2026-07-31T04:25:52.083865Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.083866Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083866Z 01O | ^ 2026-07-31T04:25:52.083866Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083867Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083868Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.083868Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.083869Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083869Z 01O | ^ 2026-07-31T04:25:52.083869Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083870Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083871Z 01O | ^ 2026-07-31T04:25:52.083941Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.083942Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083943Z 01O | ^ 2026-07-31T04:25:52.083943Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.083944Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.083944Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.083945Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.083945Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.083946Z 01O | ^ 2026-07-31T04:25:52.083948Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.083949Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.083949Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.083950Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.083950Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.083951Z 01O | ^ 2026-07-31T04:25:52.083959Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.083966Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.084038Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-07-31T04:25:52.084417Z 01O | ^ 2026-07-31T04:25:52.084424Z 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-07-31T04:25:52.084432Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-07-31T04:25:52.084433Z 01O | ^ 2026-07-31T04:25:52.084433Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.084434Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.084434Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.084435Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.084435Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.084435Z 01O | ^ 2026-07-31T04:25:52.084438Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.084439Z 01O 128 | if (verbose) 2026-07-31T04:25:52.084439Z 01O | ^~~~~~~ 2026-07-31T04:25:52.084439Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.084440Z 01O 128 | if (verbose) 2026-07-31T04:25:52.084440Z 01O | ^ 2026-07-31T04:25:52.084448Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.084448Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.084449Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.084449Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.084450Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.084450Z 01O | ^ 2026-07-31T04:25:52.084506Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.084507Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.084508Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.084508Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.084509Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.084509Z 01O | ^ 2026-07-31T04:25:52.084510Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.084510Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.084511Z 01O | ^ 2026-07-31T04:25:52.084511Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.084512Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.084512Z 01O | ^ 2026-07-31T04:25:52.084513Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.084513Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.084514Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.084517Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.084518Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.084518Z 01O | ^ 2026-07-31T04:25:52.084578Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.084579Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.084580Z 01O | ^ 2026-07-31T04:25:52.084580Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.084581Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.084581Z 01O | ^ 2026-07-31T04:25:52.084586Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.084592Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.084593Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.084593Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.084594Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.084594Z 01O | ^ 2026-07-31T04:25:52.084595Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.084595Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.084596Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.084596Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.084597Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.084597Z 01O | ^ 2026-07-31T04:25:52.084597Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.084598Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.084723Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-07-31T04:25:52.085129Z 01O | ^ 2026-07-31T04:25:52.085138Z 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-07-31T04:25:52.085139Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-07-31T04:25:52.085139Z 01O | ^ 2026-07-31T04:25:52.085140Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.085140Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.085141Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.085141Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.085142Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.085142Z 01O | ^ 2026-07-31T04:25:52.085142Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.085143Z 01O 128 | if (verbose) 2026-07-31T04:25:52.085143Z 01O | ^~~~~~~ 2026-07-31T04:25:52.085144Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.085144Z 01O 128 | if (verbose) 2026-07-31T04:25:52.085144Z 01O | ^ 2026-07-31T04:25:52.085145Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.085145Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.085146Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.085212Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.085213Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085213Z 01O | ^ 2026-07-31T04:25:52.085214Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085214Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085215Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.085225Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.085230Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085231Z 01O | ^ 2026-07-31T04:25:52.085231Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085232Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085232Z 01O | ^ 2026-07-31T04:25:52.085233Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.085233Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085234Z 01O | ^ 2026-07-31T04:25:52.085234Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085235Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085235Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.085236Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.085236Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085237Z 01O | ^ 2026-07-31T04:25:52.085237Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085238Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085238Z 01O | ^ 2026-07-31T04:25:52.085288Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.085288Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085289Z 01O | ^ 2026-07-31T04:25:52.085306Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085307Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085307Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.085308Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.085308Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085309Z 01O | ^ 2026-07-31T04:25:52.085309Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.085310Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.085310Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.085311Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.085311Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.085311Z 01O | ^ 2026-07-31T04:25:52.085365Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.085366Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.085424Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-07-31T04:25:52.085776Z 01O | ^ 2026-07-31T04:25:52.085937Z 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-07-31T04:25:52.085938Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-07-31T04:25:52.085938Z 01O | ^ 2026-07-31T04:25:52.085939Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.085940Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.085940Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.085940Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.085941Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.085941Z 01O | ^ 2026-07-31T04:25:52.085942Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.085942Z 01O 128 | if (verbose) 2026-07-31T04:25:52.085943Z 01O | ^~~~~~~ 2026-07-31T04:25:52.085943Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.085943Z 01O 128 | if (verbose) 2026-07-31T04:25:52.085944Z 01O | ^ 2026-07-31T04:25:52.085944Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.085945Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.085945Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.085946Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.085946Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085947Z 01O | ^ 2026-07-31T04:25:52.085947Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085948Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085948Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.085956Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.085957Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085958Z 01O | ^ 2026-07-31T04:25:52.085958Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085959Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085959Z 01O | ^ 2026-07-31T04:25:52.085964Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.085965Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085965Z 01O | ^ 2026-07-31T04:25:52.085966Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.085966Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.085967Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.085968Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.085968Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.085969Z 01O | ^ 2026-07-31T04:25:52.086025Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086026Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086026Z 01O | ^ 2026-07-31T04:25:52.086027Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.086027Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086028Z 01O | ^ 2026-07-31T04:25:52.086028Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086029Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086029Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.086030Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.086030Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086031Z 01O | ^ 2026-07-31T04:25:52.086033Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.086034Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.086034Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.086035Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.086035Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.086035Z 01O | ^ 2026-07-31T04:25:52.086039Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.086039Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.086121Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-07-31T04:25:52.086462Z 01O | ^ 2026-07-31T04:25:52.086514Z 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-07-31T04:25:52.086516Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-07-31T04:25:52.086517Z 01O | ^ 2026-07-31T04:25:52.086518Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-31T04:25:52.086519Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.086519Z 01O | ^~~~~~~~~~~~~ 2026-07-31T04:25:52.086520Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-31T04:25:52.086521Z 01O 124 | if (!xlength(obj)) 2026-07-31T04:25:52.086522Z 01O | ^ 2026-07-31T04:25:52.086522Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-31T04:25:52.086523Z 01O 128 | if (verbose) 2026-07-31T04:25:52.086524Z 01O | ^~~~~~~ 2026-07-31T04:25:52.086525Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-31T04:25:52.086526Z 01O 128 | if (verbose) 2026-07-31T04:25:52.086526Z 01O | ^ 2026-07-31T04:25:52.086570Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-31T04:25:52.086571Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-31T04:25:52.086572Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.086581Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.086582Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086583Z 01O | ^ 2026-07-31T04:25:52.086584Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086585Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086586Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.086587Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.086588Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086589Z 01O | ^ 2026-07-31T04:25:52.086594Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086595Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086596Z 01O | ^ 2026-07-31T04:25:52.086597Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.086598Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086599Z 01O | ^ 2026-07-31T04:25:52.086660Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086661Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086662Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.086663Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-31T04:25:52.086664Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086664Z 01O | ^ 2026-07-31T04:25:52.086669Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086671Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086672Z 01O | ^ 2026-07-31T04:25:52.086672Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-31T04:25:52.086673Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086674Z 01O | ^ 2026-07-31T04:25:52.086734Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.086736Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.086737Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.086738Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-31T04:25:52.086739Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-31T04:25:52.086740Z 01O | ^ 2026-07-31T04:25:52.086740Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-31T04:25:52.086741Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.086742Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.086743Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-31T04:25:52.086743Z 01O 138 | if (obj_scalar) { 2026-07-31T04:25:52.086744Z 01O | ^ 2026-07-31T04:25:52.086751Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-31T04:25:52.086752Z 01O 151 | for (int i=0; i= 'nx' 2026-07-31T04:25:52.086840Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-07-31T04:25:52.087214Z 01O | ^ 2026-07-31T04:25:52.087215Z 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-07-31T04:25:52.087215Z 01O 136 | SEXP x = R_NilValue; 2026-07-31T04:25:52.087216Z 01O | ^ ~~~~~~~~~~ 2026-07-31T04:25:52.087216Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-07-31T04:25:52.087217Z 01O 136 | SEXP x = R_NilValue; 2026-07-31T04:25:52.087217Z 01O | ^ ~~~~~~~~~~ 2026-07-31T04:25:52.087284Z 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-07-31T04:25:52.087285Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-07-31T04:25:52.087285Z 01O | ^ 2026-07-31T04:25:52.087384Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-07-31T04:25:52.087385Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-07-31T04:25:52.087386Z 01O | ^ 2026-07-31T04:25:52.087386Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-07-31T04:25:52.087387Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-07-31T04:25:52.087387Z 01O | ^ 2026-07-31T04:25:52.087387Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-07-31T04:25:52.087388Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-07-31T04:25:52.087389Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087389Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-07-31T04:25:52.087390Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-07-31T04:25:52.087390Z 01O | ^ 2026-07-31T04:25:52.087390Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-07-31T04:25:52.087391Z 01O 131 | if (length(throttle)) { 2026-07-31T04:25:52.087391Z 01O | ^ 2026-07-31T04:25:52.087392Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-31T04:25:52.087392Z 01O 987 | #define length(x) Rf_length(x) 2026-07-31T04:25:52.087393Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.087393Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-07-31T04:25:52.087394Z 01O 131 | if (length(throttle)) { 2026-07-31T04:25:52.087394Z 01O | ^ 2026-07-31T04:25:52.087451Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-07-31T04:25:52.087451Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-07-31T04:25:52.087452Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087452Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-07-31T04:25:52.087453Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-07-31T04:25:52.087453Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-07-31T04:25:52.087454Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087460Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-07-31T04:25:52.087461Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-07-31T04:25:52.087461Z 01O | ^ 2026-07-31T04:25:52.087461Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-07-31T04:25:52.087462Z 01O 138 | initDTthreads(); 2026-07-31T04:25:52.087462Z 01O | ^~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087463Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-07-31T04:25:52.087471Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-07-31T04:25:52.087471Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087472Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-07-31T04:25:52.087472Z 01O 14 | const char *val = getenv(name); 2026-07-31T04:25:52.087473Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.087473Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-07-31T04:25:52.087474Z 01O 14 | const char *val = getenv(name); 2026-07-31T04:25:52.087474Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.087475Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-07-31T04:25:52.087475Z 01O 14 | const char *val = getenv(name); 2026-07-31T04:25:52.087476Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.087476Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-07-31T04:25:52.087477Z 01O 15 | if (val == NULL) return def; 2026-07-31T04:25:52.087477Z 01O | ^~~ 2026-07-31T04:25:52.087526Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-07-31T04:25:52.087527Z 01O 15 | if (val == NULL) return def; 2026-07-31T04:25:52.087527Z 01O | ^ 2026-07-31T04:25:52.087528Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-07-31T04:25:52.087528Z 01O 17 | if (nchar == 0) return def; 2026-07-31T04:25:52.087529Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.087529Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-07-31T04:25:52.087530Z 01O 17 | if (nchar == 0) return def; 2026-07-31T04:25:52.087530Z 01O | ^ 2026-07-31T04:25:52.087561Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-07-31T04:25:52.087562Z 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-07-31T04:25:52.087563Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087563Z 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-07-31T04:25:52.087564Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-07-31T04:25:52.087565Z 01O | ^ 2026-07-31T04:25:52.087565Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-07-31T04:25:52.087566Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-07-31T04:25:52.087566Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087567Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-07-31T04:25:52.087567Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-07-31T04:25:52.087568Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087684Z 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-07-31T04:25:52.087685Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-07-31T04:25:52.087685Z 01O | ^ ~~~~~ 2026-07-31T04:25:52.087686Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-07-31T04:25:52.087686Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-31T04:25:52.087687Z 01O | ^ 2026-07-31T04:25:52.087687Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087688Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087693Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087694Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-07-31T04:25:52.087694Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-31T04:25:52.087695Z 01O | ^ 2026-07-31T04:25:52.087749Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087749Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087750Z 01O | ^ 2026-07-31T04:25:52.087753Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-07-31T04:25:52.087754Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-31T04:25:52.087754Z 01O | ^ 2026-07-31T04:25:52.087755Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087755Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087756Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.087789Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-07-31T04:25:52.087789Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-31T04:25:52.087790Z 01O | ^ 2026-07-31T04:25:52.087790Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087791Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087791Z 01O | ^ 2026-07-31T04:25:52.087792Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-07-31T04:25:52.087792Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-31T04:25:52.087793Z 01O | ^ 2026-07-31T04:25:52.087793Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087794Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087794Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087795Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-07-31T04:25:52.087796Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-31T04:25:52.087796Z 01O | ^ 2026-07-31T04:25:52.087796Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-07-31T04:25:52.087797Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-07-31T04:25:52.087797Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087798Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-07-31T04:25:52.087820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-07-31T04:25:52.087820Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-07-31T04:25:52.087821Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087821Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-07-31T04:25:52.087822Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-07-31T04:25:52.087822Z 01O | ^ 2026-07-31T04:25:52.087874Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-07-31T04:25:52.087875Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-31T04:25:52.087876Z 01O | ^ 2026-07-31T04:25:52.087876Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087883Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087883Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.087884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-07-31T04:25:52.087884Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-31T04:25:52.087885Z 01O | ^ 2026-07-31T04:25:52.087927Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087928Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087929Z 01O | ^ 2026-07-31T04:25:52.087929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-07-31T04:25:52.087930Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-31T04:25:52.087930Z 01O | ^ 2026-07-31T04:25:52.087938Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087939Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087939Z 01O | ^~~~~~~~~~~~ 2026-07-31T04:25:52.087940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-07-31T04:25:52.087940Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-31T04:25:52.087941Z 01O | ^ 2026-07-31T04:25:52.087941Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.087942Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.087942Z 01O | ^ 2026-07-31T04:25:52.088009Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-07-31T04:25:52.088009Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-31T04:25:52.088010Z 01O | ^ 2026-07-31T04:25:52.088010Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-31T04:25:52.088011Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-31T04:25:52.088011Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.088012Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-07-31T04:25:52.088013Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-31T04:25:52.088013Z 01O | ^ 2026-07-31T04:25:52.088013Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-07-31T04:25:52.088014Z 01O 13 | if (!length(l)) return(l); 2026-07-31T04:25:52.088014Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.088015Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-07-31T04:25:52.088015Z 01O 13 | if (!length(l)) return(l); 2026-07-31T04:25:52.088016Z 01O | ^ 2026-07-31T04:25:52.088072Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-07-31T04:25:52.088073Z 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-07-31T04:25:52.088074Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.088074Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-07-31T04:25:52.088075Z 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-07-31T04:25:52.088076Z 01O | ^ 2026-07-31T04:25:52.088076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-07-31T04:25:52.088081Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-07-31T04:25:52.088082Z 01O | ^~~~ 2026-07-31T04:25:52.088082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-07-31T04:25:52.088083Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-07-31T04:25:52.088083Z 01O | ^ 2026-07-31T04:25:52.088087Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-07-31T04:25:52.088088Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-07-31T04:25:52.088088Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.088089Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-07-31T04:25:52.088089Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-07-31T04:25:52.088090Z 01O | ^~~~~ 2026-07-31T04:25:52.088151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-07-31T04:25:52.088151Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-07-31T04:25:52.088152Z 01O | ^ 2026-07-31T04:25:52.088155Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-07-31T04:25:52.088156Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.088156Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.088157Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.088157Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.088158Z 01O | ^ 2026-07-31T04:25:52.088179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-31T04:25:52.088180Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.088181Z 01O | ^ 2026-07-31T04:25:52.088181Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.088181Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.088182Z 01O | ^ 2026-07-31T04:25:52.088182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-31T04:25:52.088183Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.088183Z 01O | ^ 2026-07-31T04:25:52.088184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-31T04:25:52.088184Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.088185Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.088185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-31T04:25:52.088186Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.088187Z 01O | ^ 2026-07-31T04:25:52.088187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-31T04:25:52.088188Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.088188Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.088188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-31T04:25:52.088189Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.088189Z 01O | ^ 2026-07-31T04:25:52.088225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-31T04:25:52.088226Z 01O 37 | if (fill) { 2026-07-31T04:25:52.088226Z 01O | ^~~~ 2026-07-31T04:25:52.088227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-31T04:25:52.088231Z 01O 37 | if (fill) { 2026-07-31T04:25:52.088232Z 01O | ^ 2026-07-31T04:25:52.088269Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-31T04:25:52.088270Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.088271Z 01O | ^~~~ 2026-07-31T04:25:52.088271Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-31T04:25:52.088272Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.088272Z 01O | ^ 2026-07-31T04:25:52.088272Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-31T04:25:52.088273Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.088274Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.088330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-31T04:25:52.088331Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.088332Z 01O | ^ 2026-07-31T04:25:52.088332Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-31T04:25:52.088333Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.088333Z 01O | ^~~~~~ 2026-07-31T04:25:52.088334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-31T04:25:52.088334Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.088335Z 01O | ^ 2026-07-31T04:25:52.088335Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-31T04:25:52.088336Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.088336Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.088337Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-31T04:25:52.088338Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.088338Z 01O | ^ 2026-07-31T04:25:52.088339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-31T04:25:52.088339Z 01O 49 | for (int j=0; j0 checked above 2026-07-31T04:25:52.088350Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.088395Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-31T04:25:52.088395Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.088396Z 01O | ^ 2026-07-31T04:25:52.088396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-31T04:25:52.088397Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.088397Z 01O | ^~~~~~~ 2026-07-31T04:25:52.088398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-31T04:25:52.088398Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.088399Z 01O | ^ 2026-07-31T04:25:52.088406Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-31T04:25:52.088406Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.088407Z 01O | ^~~~ 2026-07-31T04:25:52.088407Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-31T04:25:52.088408Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-31T04:25:52.088408Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.088409Z 01O | ^~~~ 2026-07-31T04:25:52.088478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-31T04:25:52.088479Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.088479Z 01O | ^ 2026-07-31T04:25:52.088480Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-31T04:25:52.088480Z 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-07-31T04:25:52.088481Z 01O | ^~~~ 2026-07-31T04:25:52.088488Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-31T04:25:52.088488Z 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-07-31T04:25:52.088489Z 01O | ^ 2026-07-31T04:25:52.088489Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-31T04:25:52.088490Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.088491Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.088559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-31T04:25:52.088560Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.088561Z 01O | ^ 2026-07-31T04:25:52.088561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.088562Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.088562Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.088563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-31T04:25:52.088565Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-31T04:25:52.088566Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.088567Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.088567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-31T04:25:52.088568Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.088568Z 01O | ^ 2026-07-31T04:25:52.088580Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-31T04:25:52.088581Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.088581Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.088582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-31T04:25:52.088582Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.088583Z 01O | ^ 2026-07-31T04:25:52.088583Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-07-31T04:25:52.088584Z 01O 83 | int nuniq=0; 2026-07-31T04:25:52.088584Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.088585Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-07-31T04:25:52.088590Z 01O 85 | for (int i=0; i0 checked above 2026-07-31T04:25:52.089154Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.089154Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.089155Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.089155Z 01O | ^ 2026-07-31T04:25:52.089198Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-31T04:25:52.089198Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.089199Z 01O | ^ 2026-07-31T04:25:52.089199Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.089200Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.089200Z 01O | ^ 2026-07-31T04:25:52.089207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-31T04:25:52.089208Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.089208Z 01O | ^ 2026-07-31T04:25:52.089209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-31T04:25:52.089209Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.089210Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.089210Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-31T04:25:52.089211Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.089212Z 01O | ^ 2026-07-31T04:25:52.089212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-31T04:25:52.089213Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.089213Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.089271Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-31T04:25:52.089272Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.089272Z 01O | ^ 2026-07-31T04:25:52.089272Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-31T04:25:52.089273Z 01O 37 | if (fill) { 2026-07-31T04:25:52.089273Z 01O | ^~~~ 2026-07-31T04:25:52.089274Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-31T04:25:52.089274Z 01O 37 | if (fill) { 2026-07-31T04:25:52.089275Z 01O | ^ 2026-07-31T04:25:52.089275Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-31T04:25:52.089275Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.089276Z 01O | ^~~~ 2026-07-31T04:25:52.089276Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-31T04:25:52.089277Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.089277Z 01O | ^ 2026-07-31T04:25:52.089284Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-31T04:25:52.089285Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.089286Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.089286Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-31T04:25:52.089287Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.089287Z 01O | ^ 2026-07-31T04:25:52.089354Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-31T04:25:52.089355Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.089355Z 01O | ^~~~~~ 2026-07-31T04:25:52.089356Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-31T04:25:52.089356Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.089357Z 01O | ^ 2026-07-31T04:25:52.089357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-31T04:25:52.089358Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.089358Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.089359Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-31T04:25:52.089359Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.089366Z 01O | ^ 2026-07-31T04:25:52.089367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-31T04:25:52.089367Z 01O 49 | for (int j=0; j0 checked above 2026-07-31T04:25:52.089442Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.089443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-31T04:25:52.089444Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.089444Z 01O | ^ 2026-07-31T04:25:52.089444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-31T04:25:52.089445Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.089445Z 01O | ^~~~~~~ 2026-07-31T04:25:52.089446Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-31T04:25:52.089446Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.089447Z 01O | ^ 2026-07-31T04:25:52.089447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-31T04:25:52.089448Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.089448Z 01O | ^~~~ 2026-07-31T04:25:52.089449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-31T04:25:52.089449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-31T04:25:52.089450Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.089450Z 01O | ^~~~ 2026-07-31T04:25:52.089451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-31T04:25:52.089451Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.089452Z 01O | ^ 2026-07-31T04:25:52.089452Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-31T04:25:52.089452Z 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-07-31T04:25:52.089453Z 01O | ^~~~ 2026-07-31T04:25:52.089521Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-31T04:25:52.089522Z 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-07-31T04:25:52.089523Z 01O | ^ 2026-07-31T04:25:52.089523Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-31T04:25:52.089524Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.089524Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.089525Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-31T04:25:52.089525Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.089526Z 01O | ^ 2026-07-31T04:25:52.089526Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.089527Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.089532Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.089532Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-31T04:25:52.089614Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-31T04:25:52.089615Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.089615Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.089616Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-31T04:25:52.089616Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.089617Z 01O | ^ 2026-07-31T04:25:52.089617Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-31T04:25:52.089618Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.089618Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.089619Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-31T04:25:52.089619Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.089620Z 01O | ^ 2026-07-31T04:25:52.089620Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-07-31T04:25:52.089621Z 01O 85 | for (int i=0; i= 'thisncol' 2026-07-31T04:25:52.089722Z 01O 92 | for (int j=0; j 'ncol' 2026-07-31T04:25:52.089890Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-31T04:25:52.089890Z 01O | ^~~~~~ 2026-07-31T04:25:52.089890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-07-31T04:25:52.089891Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-31T04:25:52.089891Z 01O | ^ 2026-07-31T04:25:52.089892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-07-31T04:25:52.089892Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-31T04:25:52.089893Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.089969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-07-31T04:25:52.089971Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-07-31T04:25:52.089972Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.089972Z 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-07-31T04:25:52.089973Z 01O 153 | for (int j=0; j0 checked above 2026-07-31T04:25:52.090441Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.090441Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.090442Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.090442Z 01O | ^ 2026-07-31T04:25:52.090456Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-31T04:25:52.090457Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.090457Z 01O | ^ 2026-07-31T04:25:52.090457Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.090458Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.090458Z 01O | ^ 2026-07-31T04:25:52.090459Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-31T04:25:52.090459Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.090460Z 01O | ^ 2026-07-31T04:25:52.090460Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-31T04:25:52.090461Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.090461Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.090462Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-31T04:25:52.090462Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.090463Z 01O | ^ 2026-07-31T04:25:52.090463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-31T04:25:52.090464Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.090464Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.090465Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-31T04:25:52.090465Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.090466Z 01O | ^ 2026-07-31T04:25:52.090510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-31T04:25:52.090510Z 01O 37 | if (fill) { 2026-07-31T04:25:52.090511Z 01O | ^~~~ 2026-07-31T04:25:52.090511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-31T04:25:52.090512Z 01O 37 | if (fill) { 2026-07-31T04:25:52.090512Z 01O | ^ 2026-07-31T04:25:52.090518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-31T04:25:52.090519Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.090519Z 01O | ^~~~ 2026-07-31T04:25:52.090520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-31T04:25:52.090520Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.090521Z 01O | ^ 2026-07-31T04:25:52.090609Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-31T04:25:52.090610Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.090611Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.090611Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-31T04:25:52.090612Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.090613Z 01O | ^ 2026-07-31T04:25:52.090619Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-31T04:25:52.090619Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.090620Z 01O | ^~~~~~ 2026-07-31T04:25:52.090622Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-31T04:25:52.090623Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.090624Z 01O | ^ 2026-07-31T04:25:52.090624Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-31T04:25:52.090625Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.090625Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.090632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-31T04:25:52.090633Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.090634Z 01O | ^ 2026-07-31T04:25:52.090634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-31T04:25:52.090635Z 01O 49 | for (int j=0; j0 checked above 2026-07-31T04:25:52.090688Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.090689Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-31T04:25:52.090689Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.090690Z 01O | ^ 2026-07-31T04:25:52.090690Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-31T04:25:52.090691Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.090691Z 01O | ^~~~~~~ 2026-07-31T04:25:52.090693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-31T04:25:52.090694Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.090694Z 01O | ^ 2026-07-31T04:25:52.090751Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-31T04:25:52.090751Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.090752Z 01O | ^~~~ 2026-07-31T04:25:52.090752Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-31T04:25:52.090753Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-31T04:25:52.090753Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.090754Z 01O | ^~~~ 2026-07-31T04:25:52.090754Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-31T04:25:52.090755Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.090755Z 01O | ^ 2026-07-31T04:25:52.090758Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-31T04:25:52.090759Z 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-07-31T04:25:52.090760Z 01O | ^~~~ 2026-07-31T04:25:52.090760Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-31T04:25:52.090765Z 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-07-31T04:25:52.090766Z 01O | ^ 2026-07-31T04:25:52.090828Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-31T04:25:52.090829Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.090830Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.090830Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-31T04:25:52.090831Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.090831Z 01O | ^ 2026-07-31T04:25:52.090832Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.090832Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.090833Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.090833Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-31T04:25:52.090834Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-31T04:25:52.090834Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.090835Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.090835Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-31T04:25:52.090836Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.090836Z 01O | ^ 2026-07-31T04:25:52.090908Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-31T04:25:52.090910Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.090910Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.090911Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-31T04:25:52.090911Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.090912Z 01O | ^ 2026-07-31T04:25:52.090912Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-07-31T04:25:52.090913Z 01O 85 | for (int i=0; i= 'thisncol' 2026-07-31T04:25:52.091065Z 01O 92 | for (int j=0; j= 'thisncol' 2026-07-31T04:25:52.091156Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-07-31T04:25:52.091213Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.091213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-07-31T04:25:52.091214Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-07-31T04:25:52.091215Z 01O | ^ 2026-07-31T04:25:52.091215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-07-31T04:25:52.091216Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-07-31T04:25:52.091230Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.091287Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-07-31T04:25:52.091288Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-31T04:25:52.091288Z 01O | ^ 2026-07-31T04:25:52.091288Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-07-31T04:25:52.091289Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.091289Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.091292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-31T04:25:52.091292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-07-31T04:25:52.091293Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.091293Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.091349Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-31T04:25:52.091350Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.091350Z 01O | ^ 2026-07-31T04:25:52.091351Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-07-31T04:25:52.091351Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.091352Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.091352Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-07-31T04:25:52.091353Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.091353Z 01O | ^ 2026-07-31T04:25:52.091354Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-07-31T04:25:52.091354Z 01O 142 | for (int i=0; i= 'ncol' 2026-07-31T04:25:52.091375Z 01O 143 | for (int i=0; i0 checked above 2026-07-31T04:25:52.092026Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.092026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.092027Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.092027Z 01O | ^ 2026-07-31T04:25:52.092028Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-31T04:25:52.092028Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.092029Z 01O | ^ 2026-07-31T04:25:52.092029Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.092030Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.092030Z 01O | ^ 2026-07-31T04:25:52.092031Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-31T04:25:52.092031Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.092032Z 01O | ^ 2026-07-31T04:25:52.092092Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-31T04:25:52.092093Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.092094Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.092094Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-31T04:25:52.092095Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.092095Z 01O | ^ 2026-07-31T04:25:52.092103Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-31T04:25:52.092103Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.092104Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.092104Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-31T04:25:52.092105Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.092105Z 01O | ^ 2026-07-31T04:25:52.092105Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-31T04:25:52.092106Z 01O 37 | if (fill) { 2026-07-31T04:25:52.092106Z 01O | ^~~~ 2026-07-31T04:25:52.092107Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-31T04:25:52.092107Z 01O 37 | if (fill) { 2026-07-31T04:25:52.092113Z 01O | ^ 2026-07-31T04:25:52.092114Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-31T04:25:52.092114Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.092115Z 01O | ^~~~ 2026-07-31T04:25:52.092115Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-31T04:25:52.092116Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.092116Z 01O | ^ 2026-07-31T04:25:52.092183Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-31T04:25:52.092184Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.092185Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.092185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-31T04:25:52.092186Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.092187Z 01O | ^ 2026-07-31T04:25:52.092187Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-31T04:25:52.092187Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.092188Z 01O | ^~~~~~ 2026-07-31T04:25:52.092188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-31T04:25:52.092189Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.092189Z 01O | ^ 2026-07-31T04:25:52.092232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-31T04:25:52.092232Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.092233Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.092234Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-31T04:25:52.092234Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.092235Z 01O | ^ 2026-07-31T04:25:52.092237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-31T04:25:52.092238Z 01O 49 | for (int j=0; j0 checked above 2026-07-31T04:25:52.092241Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.092309Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-31T04:25:52.092310Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.092310Z 01O | ^ 2026-07-31T04:25:52.092310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-31T04:25:52.092311Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.092311Z 01O | ^~~~~~~ 2026-07-31T04:25:52.092312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-31T04:25:52.092312Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.092313Z 01O | ^ 2026-07-31T04:25:52.092358Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-31T04:25:52.092365Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.092366Z 01O | ^~~~ 2026-07-31T04:25:52.092366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-31T04:25:52.092367Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-31T04:25:52.092367Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.092368Z 01O | ^~~~ 2026-07-31T04:25:52.092368Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-31T04:25:52.092369Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.092369Z 01O | ^ 2026-07-31T04:25:52.092369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-31T04:25:52.092370Z 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-07-31T04:25:52.092371Z 01O | ^~~~ 2026-07-31T04:25:52.092371Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-31T04:25:52.092372Z 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-07-31T04:25:52.092372Z 01O | ^ 2026-07-31T04:25:52.092373Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-31T04:25:52.092373Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.092374Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.092382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-31T04:25:52.092382Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.092383Z 01O | ^ 2026-07-31T04:25:52.092383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.092384Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.092384Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.092385Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-31T04:25:52.092487Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-31T04:25:52.092487Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.092488Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.092488Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-31T04:25:52.092489Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.092489Z 01O | ^ 2026-07-31T04:25:52.092490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-31T04:25:52.092490Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.092491Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.092491Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-31T04:25:52.092492Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-31T04:25:52.092492Z 01O | ^ 2026-07-31T04:25:52.092493Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-07-31T04:25:52.092493Z 01O 85 | for (int i=0; i= 'thisncol' 2026-07-31T04:25:52.092618Z 01O 92 | for (int j=0; j= 'thisncol' 2026-07-31T04:25:52.092805Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-07-31T04:25:52.092815Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.092815Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-07-31T04:25:52.092816Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-07-31T04:25:52.092816Z 01O | ^ 2026-07-31T04:25:52.092817Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-07-31T04:25:52.092817Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-07-31T04:25:52.092878Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.092879Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-07-31T04:25:52.092879Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-31T04:25:52.092880Z 01O | ^ 2026-07-31T04:25:52.092882Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-07-31T04:25:52.092882Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.092883Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.092883Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-31T04:25:52.092891Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-07-31T04:25:52.092892Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.092893Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.092893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-31T04:25:52.092894Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.092894Z 01O | ^ 2026-07-31T04:25:52.092895Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-07-31T04:25:52.092895Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.092896Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.092896Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-07-31T04:25:52.092897Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-31T04:25:52.092897Z 01O | ^ 2026-07-31T04:25:52.092897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-07-31T04:25:52.092898Z 01O 142 | for (int i=0; i= 'ncol' 2026-07-31T04:25:52.092945Z 01O 143 | for (int i=0; i0 checked above 2026-07-31T04:25:52.093646Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.093646Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.093647Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.093647Z 01O | ^ 2026-07-31T04:25:52.093672Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-31T04:25:52.093672Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.093673Z 01O | ^ 2026-07-31T04:25:52.093673Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.093679Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.093679Z 01O | ^ 2026-07-31T04:25:52.093702Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-31T04:25:52.093703Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.093703Z 01O | ^ 2026-07-31T04:25:52.093704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-31T04:25:52.093704Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.093705Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.093804Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-31T04:25:52.093804Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.093805Z 01O | ^ 2026-07-31T04:25:52.093805Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-31T04:25:52.093806Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.093806Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.093807Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-31T04:25:52.093807Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.093808Z 01O | ^ 2026-07-31T04:25:52.093808Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-31T04:25:52.093809Z 01O 37 | if (fill) { 2026-07-31T04:25:52.093809Z 01O | ^~~~ 2026-07-31T04:25:52.093809Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-31T04:25:52.093810Z 01O 37 | if (fill) { 2026-07-31T04:25:52.093810Z 01O | ^ 2026-07-31T04:25:52.093811Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-31T04:25:52.093811Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.093812Z 01O | ^~~~ 2026-07-31T04:25:52.093812Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-31T04:25:52.093813Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.093813Z 01O | ^ 2026-07-31T04:25:52.093816Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-31T04:25:52.093817Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.093818Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.093818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-31T04:25:52.093819Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.093820Z 01O | ^ 2026-07-31T04:25:52.093820Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-31T04:25:52.093820Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.093821Z 01O | ^~~~~~ 2026-07-31T04:25:52.093882Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-31T04:25:52.093883Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.093883Z 01O | ^ 2026-07-31T04:25:52.093884Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-07-31T04:25:52.093884Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.093885Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.093888Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.093893Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.093894Z 01O | ^ 2026-07-31T04:25:52.093894Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-07-31T04:25:52.093895Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.093895Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.093927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-07-31T04:25:52.093928Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.093929Z 01O | ^ 2026-07-31T04:25:52.093929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-31T04:25:52.093930Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.093930Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.093931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-31T04:25:52.093932Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.093932Z 01O | ^ 2026-07-31T04:25:52.093934Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.093935Z 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-07-31T04:25:52.093992Z 01O | ^~~~ 2026-07-31T04:25:52.093992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-07-31T04:25:52.093993Z 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-07-31T04:25:52.093994Z 01O | ^ 2026-07-31T04:25:52.093994Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-07-31T04:25:52.093995Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-31T04:25:52.093995Z 01O | ^~~~~ 2026-07-31T04:25:52.093996Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-07-31T04:25:52.093996Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-31T04:25:52.093997Z 01O | ^ 2026-07-31T04:25:52.094065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-07-31T04:25:52.094066Z 01O 49 | for (int j=0; j0 checked above 2026-07-31T04:25:52.094068Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.094071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-31T04:25:52.094071Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.094076Z 01O | ^ 2026-07-31T04:25:52.094077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-31T04:25:52.094077Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.094078Z 01O | ^~~~~~~ 2026-07-31T04:25:52.094078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-31T04:25:52.094079Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.094079Z 01O | ^ 2026-07-31T04:25:52.094087Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-31T04:25:52.094087Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.094088Z 01O | ^~~~ 2026-07-31T04:25:52.094088Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-31T04:25:52.094089Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-31T04:25:52.094089Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.094090Z 01O | ^~~~ 2026-07-31T04:25:52.094090Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-31T04:25:52.094091Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.094091Z 01O | ^ 2026-07-31T04:25:52.094259Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-31T04:25:52.094260Z 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-07-31T04:25:52.094261Z 01O | ^~~~ 2026-07-31T04:25:52.094288Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-31T04:25:52.094289Z 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-07-31T04:25:52.094289Z 01O | ^ 2026-07-31T04:25:52.094290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-31T04:25:52.094290Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.094291Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.094291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-31T04:25:52.094292Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.094293Z 01O | ^ 2026-07-31T04:25:52.094293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-07-31T04:25:52.094294Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-07-31T04:25:52.094294Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.094295Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.094295Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.094296Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.094296Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-31T04:25:52.094296Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-07-31T04:25:52.094297Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.094298Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.094298Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-07-31T04:25:52.094299Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.094299Z 01O | ^ 2026-07-31T04:25:52.094299Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-07-31T04:25:52.094305Z 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-07-31T04:25:52.094305Z 01O | ^~~~ 2026-07-31T04:25:52.094347Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-07-31T04:25:52.094348Z 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-07-31T04:25:52.094349Z 01O | ^ 2026-07-31T04:25:52.094388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-07-31T04:25:52.094389Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.094390Z 01O | ^~~~ 2026-07-31T04:25:52.094390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-07-31T04:25:52.094391Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.094391Z 01O | ^ 2026-07-31T04:25:52.094391Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.094392Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.094393Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.094393Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-07-31T04:25:52.094394Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-07-31T04:25:52.094394Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.094395Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.094395Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-07-31T04:25:52.094396Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.094396Z 01O | ^ 2026-07-31T04:25:52.094396Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-07-31T04:25:52.094397Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-31T04:25:52.094398Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.094398Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-07-31T04:25:52.094398Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-31T04:25:52.094399Z 01O | ^ 2026-07-31T04:25:52.094399Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-07-31T04:25:52.094400Z 01O 251 | if (idcol) { 2026-07-31T04:25:52.094400Z 01O | ^~~~~ 2026-07-31T04:25:52.094401Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-07-31T04:25:52.094401Z 01O 251 | if (idcol) { 2026-07-31T04:25:52.094401Z 01O | ^ 2026-07-31T04:25:52.094473Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.094474Z 01O 279 | for(int j=0; j0 checked above 2026-07-31T04:25:52.095096Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.095096Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.095101Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.095102Z 01O | ^ 2026-07-31T04:25:52.095102Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-31T04:25:52.095103Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.095103Z 01O | ^ 2026-07-31T04:25:52.095104Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-31T04:25:52.095104Z 01O 956 | #define isNull Rf_isNull 2026-07-31T04:25:52.095105Z 01O | ^ 2026-07-31T04:25:52.095105Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-31T04:25:52.095106Z 01O 32 | if (isNull(li)) continue; 2026-07-31T04:25:52.095106Z 01O | ^ 2026-07-31T04:25:52.095158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-31T04:25:52.095158Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.095159Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.095159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-31T04:25:52.095160Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-31T04:25:52.095161Z 01O | ^ 2026-07-31T04:25:52.095163Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-31T04:25:52.095164Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.095164Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.095165Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-31T04:25:52.095165Z 01O 35 | if (!thisncol) continue; 2026-07-31T04:25:52.095166Z 01O | ^ 2026-07-31T04:25:52.095166Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-31T04:25:52.095167Z 01O 37 | if (fill) { 2026-07-31T04:25:52.095167Z 01O | ^~~~ 2026-07-31T04:25:52.095167Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-31T04:25:52.095168Z 01O 37 | if (fill) { 2026-07-31T04:25:52.095168Z 01O | ^ 2026-07-31T04:25:52.095235Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-31T04:25:52.095235Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.095236Z 01O | ^~~~ 2026-07-31T04:25:52.095236Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-31T04:25:52.095237Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-31T04:25:52.095237Z 01O | ^ 2026-07-31T04:25:52.095240Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-31T04:25:52.095241Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.095242Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.095242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-31T04:25:52.095243Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-07-31T04:25:52.095244Z 01O | ^ 2026-07-31T04:25:52.095249Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-31T04:25:52.095250Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.095250Z 01O | ^~~~~~ 2026-07-31T04:25:52.095250Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-31T04:25:52.095251Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-31T04:25:52.095256Z 01O | ^ 2026-07-31T04:25:52.095310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-07-31T04:25:52.095311Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.095311Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.095314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.095314Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.095315Z 01O | ^ 2026-07-31T04:25:52.095350Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-07-31T04:25:52.095351Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.095352Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.095352Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-07-31T04:25:52.095353Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.095354Z 01O | ^ 2026-07-31T04:25:52.095354Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-31T04:25:52.095355Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.095356Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.095386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-31T04:25:52.095386Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-31T04:25:52.095387Z 01O | ^ 2026-07-31T04:25:52.095388Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.095388Z 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-07-31T04:25:52.095435Z 01O | ^~~~ 2026-07-31T04:25:52.095435Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-07-31T04:25:52.095436Z 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-07-31T04:25:52.095437Z 01O | ^ 2026-07-31T04:25:52.095559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-07-31T04:25:52.095560Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-31T04:25:52.095560Z 01O | ^~~~~ 2026-07-31T04:25:52.095561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-07-31T04:25:52.095562Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-31T04:25:52.095562Z 01O | ^ 2026-07-31T04:25:52.095563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-07-31T04:25:52.095563Z 01O 49 | for (int j=0; j0 checked above 2026-07-31T04:25:52.095573Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.095574Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-31T04:25:52.095574Z 01O 29 | for (int i=0; i0 checked above 2026-07-31T04:25:52.095575Z 01O | ^ 2026-07-31T04:25:52.095575Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-31T04:25:52.095576Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.095576Z 01O | ^~~~~~~ 2026-07-31T04:25:52.095577Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-31T04:25:52.095577Z 01O 57 | if (numZero) { // #1871 2026-07-31T04:25:52.095578Z 01O | ^ 2026-07-31T04:25:52.095578Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-07-31T04:25:52.095579Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.095580Z 01O | ^~~~ 2026-07-31T04:25:52.095580Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-07-31T04:25:52.095581Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-31T04:25:52.095581Z 01O | ^ 2026-07-31T04:25:52.095582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-31T04:25:52.095582Z 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-07-31T04:25:52.095583Z 01O | ^~~~ 2026-07-31T04:25:52.095639Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-31T04:25:52.095640Z 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-07-31T04:25:52.095641Z 01O | ^ 2026-07-31T04:25:52.095641Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-31T04:25:52.095642Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.095642Z 01O | ^~~~~~~~~~~~~~ 2026-07-31T04:25:52.095643Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-31T04:25:52.095644Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-31T04:25:52.095644Z 01O | ^ 2026-07-31T04:25:52.095645Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-07-31T04:25:52.095645Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-07-31T04:25:52.095646Z 01O | ^~~~~~~~~~~ 2026-07-31T04:25:52.095648Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.095649Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.095650Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.095650Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-31T04:25:52.095653Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-07-31T04:25:52.095654Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.095654Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.095655Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-07-31T04:25:52.095656Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-31T04:25:52.095661Z 01O | ^ 2026-07-31T04:25:52.095723Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-07-31T04:25:52.095724Z 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-07-31T04:25:52.095725Z 01O | ^~~~ 2026-07-31T04:25:52.095725Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-07-31T04:25:52.095726Z 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-07-31T04:25:52.095727Z 01O | ^ 2026-07-31T04:25:52.095727Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-07-31T04:25:52.095728Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.095728Z 01O | ^~~~ 2026-07-31T04:25:52.095729Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-07-31T04:25:52.095729Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.095730Z 01O | ^ 2026-07-31T04:25:52.095730Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-07-31T04:25:52.095731Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.095732Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.095732Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-07-31T04:25:52.095787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-07-31T04:25:52.095788Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.095789Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.095789Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-07-31T04:25:52.095790Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-31T04:25:52.095790Z 01O | ^ 2026-07-31T04:25:52.095791Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-07-31T04:25:52.095792Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-31T04:25:52.095792Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.095793Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-07-31T04:25:52.095793Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-31T04:25:52.095794Z 01O | ^ 2026-07-31T04:25:52.095794Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-07-31T04:25:52.095795Z 01O 251 | if (idcol) { 2026-07-31T04:25:52.095795Z 01O | ^~~~~ 2026-07-31T04:25:52.095796Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-07-31T04:25:52.095796Z 01O 251 | if (idcol) { 2026-07-31T04:25:52.095797Z 01O | ^ 2026-07-31T04:25:52.095799Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.095800Z 01O 279 | for(int j=0; j= 1 2026-07-31T04:25:52.096332Z 01O 27 | if (n<1) return 0; 2026-07-31T04:25:52.096338Z 01O | ^~~ 2026-07-31T04:25:52.096339Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-07-31T04:25:52.096339Z 01O 27 | if (n<1) return 0; 2026-07-31T04:25:52.096340Z 01O | ^ 2026-07-31T04:25:52.096340Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-07-31T04:25:52.096341Z 01O 29 | va_start(ap, fmt); 2026-07-31T04:25:52.096341Z 01O | ^ 2026-07-31T04:25:52.096431Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-07-31T04:25:52.096431Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-07-31T04:25:52.096432Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-31T04:25:52.096432Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-07-31T04:25:52.096433Z 01O 40 | while (*ch!='\0') { 2026-07-31T04:25:52.096433Z 01O | ^~~~~~~~~ 2026-07-31T04:25:52.096434Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-07-31T04:25:52.096434Z 01O 40 | while (*ch!='\0') { 2026-07-31T04:25:52.096435Z 01O | ^ 2026-07-31T04:25:52.096435Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-07-31T04:25:52.096436Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-07-31T04:25:52.096436Z 01O | ^~~~~~~~ 2026-07-31T04:25:52.096443Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-07-31T04:25:52.096444Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-07-31T04:25:52.096444Z 01O | ^ 2026-07-31T04:25:52.096445Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-07-31T04:25:52.096445Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-07-31T04:25:52.096446Z 01O | ^~~~~~~~~~ 2026-07-31T04:25:52.096446Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-07-31T04:25:52.096447Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-07-31T04:25:52.096447Z 01O | ^ 2026-07-31T04:25:52.096448Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-07-31T04:25:52.096448Z 01O 47 | if (!end) { 2026-07-31T04:25:52.096449Z 01O | ^~~~ 2026-07-31T04:25:52.096449Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-07-31T04:25:52.096450Z 01O 47 | if (!end) { 2026-07-31T04:25:52.096450Z 01O | ^ 2026-07-31T04:25:52.096507Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-07-31T04:25:52.096508Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-07-31T04:25:52.096508Z 01O | ^ 2026-07-31T04:25:52.096517Z 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-07-31T04:25:52.096518Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-07-31T04:25:52.096518Z 01O | ^~~~~~ 2026-07-31T04:25:52.096519Z 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-07-31T04:25:52.096520Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-07-31T04:25:52.096520Z 01O | ^~~~~~ 2026-07-31T04:25:52.113694Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-07-31T04:25:52.627214Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-07-31T04:25:52.627262Z 01O * using R Under development (unstable) (2026-07-29 r90317) 2026-07-31T04:25:52.627527Z 01O * using platform: x86_64-pc-linux-gnu 2026-07-31T04:25:52.627711Z 01O * R was compiled by 2026-07-31T04:25:52.627853Z 01O Debian clang version 21.1.8 (7+b4) 2026-07-31T04:25:52.627854Z 01O GNU Fortran (Debian 15.3.0-2) 15.3.0 2026-07-31T04:25:52.628078Z 01O * running under: Debian GNU/Linux forky/sid 2026-07-31T04:25:52.628289Z 01O * using session charset: UTF-8 2026-07-31T04:25:52.628858Z 01O * current time: 2026-07-31 04:25:52 UTC 2026-07-31T04:25:53.365983Z 01O * using option ‘--as-cran’ 2026-07-31T04:25:53.366241Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-07-31T04:25:53.368603Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-07-31T04:25:53.368849Z 01O * package encoding: UTF-8 2026-07-31T04:25:53.369006Z 01O * checking CRAN incoming feasibility ... OK 2026-07-31T04:25:53.864438Z 01O * checking package namespace information ... OK 2026-07-31T04:25:53.874761Z 01O * checking package dependencies ... OK 2026-07-31T04:25:54.990697Z 01O * checking if this is a source package ... OK 2026-07-31T04:25:54.993535Z 01O * checking if there is a namespace ... OK 2026-07-31T04:25:54.997407Z 01O * checking for .dll and .exe files ... OK 2026-07-31T04:25:54.997936Z 01O * checking for hidden files and directories ... OK 2026-07-31T04:25:55.000687Z 01O * checking for portable file names ... OK 2026-07-31T04:25:55.004771Z 01O * checking for sufficient/correct file permissions ... OK 2026-07-31T04:25:55.008524Z 01O * checking whether package ‘data.table’ can be installed ... [21s/21s] OK 2026-07-31T04:26:16.442694Z 01O * used C compiler: ‘Debian clang version 21.1.8 (7+b4)’ 2026-07-31T04:26:16.443060Z 01O * checking installed package size ... INFO 2026-07-31T04:26:16.446629Z 01O installed size is 8.0Mb 2026-07-31T04:26:16.447223Z 01O sub-directories of 1Mb or more: 2026-07-31T04:26:16.447685Z 01O doc 1.1Mb 2026-07-31T04:26:16.447686Z 01O libs 1.5Mb 2026-07-31T04:26:16.447686Z 01O po 1.7Mb 2026-07-31T04:26:16.447687Z 01O tests 2.2Mb 2026-07-31T04:26:16.458233Z 01O * checking package directory ... OK 2026-07-31T04:26:16.458579Z 01O * checking for future file timestamps ... OK 2026-07-31T04:26:16.459161Z 01O * checking ‘build’ directory ... OK 2026-07-31T04:26:16.460012Z 01O * checking DESCRIPTION meta-information ... OK 2026-07-31T04:26:17.229243Z 01O * checking top-level files ... OK 2026-07-31T04:26:18.651750Z 01O * checking for left-over files ... OK 2026-07-31T04:26:18.654913Z 01O * checking index information ... OK 2026-07-31T04:26:18.820218Z 01O * checking package subdirectories ... OK 2026-07-31T04:26:19.186773Z 01O * checking code files for non-ASCII characters ... OK 2026-07-31T04:26:19.235512Z 01O * checking R files for syntax errors ... OK 2026-07-31T04:26:19.312689Z 01O * checking whether the package can be loaded ... OK 2026-07-31T04:26:19.503949Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-07-31T04:26:19.655623Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-07-31T04:26:19.807124Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-07-31T04:26:19.961620Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-07-31T04:26:20.155608Z 01O * checking loading without being on the library search path ... OK 2026-07-31T04:26:20.544520Z 01O * checking whether startup messages can be suppressed ... OK 2026-07-31T04:26:20.738811Z 01O * checking use of S3 registration ... OK 2026-07-31T04:26:20.767872Z 01O * checking dependencies in R code ... OK 2026-07-31T04:26:21.603590Z 01O * checking S3 generic/method consistency ... OK 2026-07-31T04:26:21.940395Z 01O * checking replacement functions ... OK 2026-07-31T04:26:22.127960Z 01O * checking foreign function calls ... OK 2026-07-31T04:26:22.907155Z 01O * checking R code for possible problems ... [17s/17s] OK 2026-07-31T04:26:39.694565Z 01O * checking Rd files ... OK 2026-07-31T04:26:40.493406Z 01O * checking Rd metadata ... OK 2026-07-31T04:26:40.534843Z 01O * checking Rd line widths ... OK 2026-07-31T04:26:40.824591Z 01O * checking Rd cross-references ... OK 2026-07-31T04:26:41.398315Z 01O * checking for missing documentation entries ... OK 2026-07-31T04:26:41.620082Z 01O * checking for code/documentation mismatches ... OK 2026-07-31T04:26:42.573963Z 01O * checking Rd \usage sections ... OK 2026-07-31T04:26:43.405230Z 01O * checking Rd contents ... OK 2026-07-31T04:26:43.848851Z 01O * checking for unstated dependencies in examples ... OK 2026-07-31T04:26:44.295628Z 01O * checking line endings in shell scripts ... OK 2026-07-31T04:26:44.296185Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-07-31T04:26:44.314499Z 01O * checking line endings in Makefiles ... OK 2026-07-31T04:26:44.315035Z 01O * checking compilation flags in Makevars ... OK 2026-07-31T04:26:44.366920Z 01O * checking for GNU extensions in Makefiles ... OK 2026-07-31T04:26:44.367619Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-07-31T04:26:44.368757Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-07-31T04:26:44.372870Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-07-31T04:26:44.379415Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-07-31T04:26:44.399826Z 01O * checking compilation flags used ... OK 2026-07-31T04:26:44.401400Z 01O * checking compiled code ... OK 2026-07-31T04:26:44.508601Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-07-31T04:26:44.705821Z 01O * checking files in ‘vignettes’ ... OK 2026-07-31T04:26:45.503372Z 01O * checking examples ... OK 2026-07-31T04:26:51.956353Z 01O * checking examples with --run-donttest ... OK 2026-07-31T04:27:01.272535Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-07-31T04:27:01.337986Z 01O * checking tests ... 2026-07-31T04:27:01.477548Z 01O Running ‘autoprint.R’ 2026-07-31T04:27:01.706746Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-07-31T04:27:01.712722Z 01O Running ‘froll.R’ [376s/376s] 2026-07-31T04:33:17.693169Z 01O Running ‘litedown.R’ 2026-07-31T04:33:17.981683Z 01O Running ‘main.R’ [41s/41s] 2026-07-31T04:33:58.911654Z 01O Running ‘mergelist.R’ 2026-07-31T04:34:00.395449Z 01O Running ‘nafill.R’ 2026-07-31T04:34:00.865992Z 01O Running ‘optimize.R’ 2026-07-31T04:34:02.185593Z 01O Running ‘other.R’ 2026-07-31T04:34:02.389609Z 01O Running ‘programming.R’ 2026-07-31T04:34:02.943793Z 01O Running ‘S4.R’ 2026-07-31T04:34:03.253937Z 01O Running ‘types.R’ 2026-07-31T04:34:03.490032Z 01O [422s/422s] OK 2026-07-31T04:34:03.582354Z 01O * checking for unstated dependencies in vignettes ... OK 2026-07-31T04:34:03.846012Z 01O * checking package vignettes ... OK 2026-07-31T04:34:04.450017Z 01O * checking re-building of vignette outputs ... [29s/30s] OK 2026-07-31T04:34:34.447129Z 01O * checking PDF version of manual ... OK 2026-07-31T04:34:39.983167Z 01O * checking HTML version of manual ... NOTE 2026-07-31T04:34:43.165819Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-07-31T04:34:43.166145Z 01O * checking for non-standard things in the check directory ... OK 2026-07-31T04:34:43.167468Z 01O * checking for detritus in the temp directory ... OK 2026-07-31T04:34:43.167478Z 01O * DONE 2026-07-31T04:34:43.167707Z 01E 2026-07-31T04:34:43.167819Z 01O Status: 1 NOTE 2026-07-31T04:34:43.167997Z 01E See 2026-07-31T04:34:43.167998Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-07-31T04:34:43.167999Z 01E for details. 2026-07-31T04:34:43.168063Z 01E 2026-07-31T04:34:43.189619Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-07-31T04:34:43.191328Z 01O $ Rscript -e 'l=tail(readLines("data.table.Rcheck/00check.log"), 1L); notes<-"Status: 1 NOTE"; if (!identical(l, notes)) stop("Last line of ", shQuote("00check.log"), " is not ", shQuote(notes), " (V8 package) but ", shQuote(l)) else q("no")' 2026-07-31T04:34:43.493529Z 00O section_end:1785472483:step_script  2026-07-31T04:34:43.493927Z 00O+section_start:1785472483:after_script  2026-07-31T04:34:43.493934Z 00O+Running after_script 2026-07-31T04:34:43.808517Z 01O Running after script... 2026-07-31T04:34:43.808539Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-07-31T04:34:43.809903Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-07-31T04:34:43.809904Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-07-31T04:34:43.809942Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-07-31T04:34:43.810077Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-07-31T04:34:43.969034Z 00O section_end:1785472483:after_script  2026-07-31T04:34:43.969743Z 00O+section_start:1785472483:upload_artifacts_on_success  2026-07-31T04:34:43.969749Z 00O+Uploading artifacts for successful job 2026-07-31T04:34:44.332542Z 01O Uploading artifacts... 2026-07-31T04:34:44.387726Z 01E bus/test-lin-dev-clang-cran: found 716 matching artifact files and directories 2026-07-31T04:34:46.496240Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=470268f873254d9e8d0e667a43453f80 id=15637875534 status=201 token=71_XaYSJh 2026-07-31T04:34:46.657254Z 00O section_end:1785472486:upload_artifacts_on_success  2026-07-31T04:34:46.657372Z 00O+section_start:1785472486:cleanup_file_variables  2026-07-31T04:34:46.657377Z 00O+Cleaning up project directory and file based variables 2026-07-31T04:34:47.146595Z 00O section_end:1785472487:cleanup_file_variables  2026-07-31T04:34:47.185308Z 00O Job succeeded