2026-07-13T04:20:57.909142Z 00O Running with gitlab-runner 19.0.0~pre.1138.ga0a1e0e8 (a0a1e0e8) 2026-07-13T04:20:57.909154Z 00O  on blue-4.saas-linux-medium-amd64.runners-manager.gitlab.com/default DS1-6aDu5, system ID: s_eacbc5a4b586 2026-07-13T04:20:57.909160Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true 2026-07-13T04:20:57.909177Z 00O Resolving secrets 2026-07-13T04:20:57.909302Z 00O section_start:1783916457:prepare_executor 2026-07-13T04:20:57.909303Z 00O+Preparing the "docker+machine" executor 2026-07-13T04:20:58.043073Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-07-13T04:21:01.745558Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-07-13T04:21:01.746110Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-07-13T04:21:01.746118Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-07-13T04:21:16.338041Z 00O Using docker image sha256:3746c9d47b9cee3d254e33040a2aeb78a59c677058564f7a734b468a2a107828 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:e2e7da924ddfb80e491cdf5996666c2b3618371b670f573fdde57e5d6339addc ... 2026-07-13T04:21:16.338125Z 00O section_end:1783916476:prepare_executor 2026-07-13T04:21:16.338127Z 00O+section_start:1783916476:prepare_script 2026-07-13T04:21:16.338206Z 00O+Preparing environment 2026-07-13T04:21:16.338931Z 00O Using effective pull policy of [always] for container sha256:162ea36f78f16f61018e7b8f04547c875e379c75cf7db483ed5f567c8e55b53c 2026-07-13T04:21:25.169352Z 01O Running on runner-ds1-6adu5-project-3622566-concurrent-0 via runner-ds1-6adu5-s-l-m-amd64-1783916419-20095e4f... 2026-07-13T04:21:25.305600Z 00O section_end:1783916485:prepare_script 2026-07-13T04:21:25.305605Z 00O+section_start:1783916485:get_sources 2026-07-13T04:21:25.306146Z 00O+Getting source from Git repository 2026-07-13T04:21:25.598358Z 01O Gitaly correlation ID: 791272f92acb40bf983dfc405b201105 2026-07-13T04:21:25.603196Z 01O Fetching changes... 2026-07-13T04:21:25.605483Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-07-13T04:21:25.607293Z 01O Created fresh repository. 2026-07-13T04:21:30.904226Z 01O Checking out f55ed355 as detached HEAD (ref is master)... 2026-07-13T04:21:31.072780Z 01O 2026-07-13T04:21:31.072788Z 01O Skipping Git submodules setup 2026-07-13T04:21:31.072799Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-07-13T04:21:31.251808Z 00O section_end:1783916491:get_sources 2026-07-13T04:21:31.251814Z 00O+section_start:1783916491:download_artifacts 2026-07-13T04:21:31.252551Z 00O+Downloading artifacts 2026-07-13T04:21:31.571690Z 01O Downloading artifacts for build (15308171288)... 2026-07-13T04:21:31.756934Z 01E Direct download from storage.googleapis.com  correlation_id=c843e054dcf84e958ee6a41be250e7fd id=15308171288 status=302 token=71_ZxfEsD 2026-07-13T04:21:31.962042Z 01E Downloading artifacts from coordinator... ok  correlation_id=c843e054dcf84e958ee6a41be250e7fd id=15308171288 status=302 token=71_ZxfEsD 2026-07-13T04:21:31.974111Z 01O Downloading artifacts for mirror-packages (15308171287)... 2026-07-13T04:21:32.149356Z 01E Direct download from storage.googleapis.com  correlation_id=f73dbe027de4470683d9f69f78944b21 id=15308171287 status=302 token=71_ZxfEsD 2026-07-13T04:21:32.680170Z 01E Downloading artifacts from coordinator... ok  correlation_id=f73dbe027de4470683d9f69f78944b21 id=15308171287 status=302 token=71_ZxfEsD 2026-07-13T04:21:33.869702Z 00O section_end:1783916493:download_artifacts 2026-07-13T04:21:33.869707Z 00O+section_start:1783916493:step_script 2026-07-13T04:21:33.870141Z 00O+Executing "step_script" stage of the job script 2026-07-13T04:21:33.870161Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-07-13T04:21:33.871057Z 00O Using docker image sha256:3746c9d47b9cee3d254e33040a2aeb78a59c677058564f7a734b468a2a107828 for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:e2e7da924ddfb80e491cdf5996666c2b3618371b670f573fdde57e5d6339addc ... 2026-07-13T04:21:34.146911Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-07-13T04:21:34.152550Z 01O $ mkdir -p ~/.R 2026-07-13T04:21:34.153475Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-07-13T04:21:34.153480Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-07-13T04:21:34.153567Z 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-13T04:21:34.333296Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-07-13T04:21:34.333301Z 01E 2026-07-13T04:22:32.454824Z 01E Updating HTML index of packages in '.Library' 2026-07-13T04:22:32.455045Z 01E Making 'packages.html' ... done 2026-07-13T04:22:32.465256Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-07-13T04:22:32.481755Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-07-13T04:22:38.242537Z 01E 2 warnings generated. 2026-07-13T04:22:38.242547Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-07-13T04:22:40.481942Z 01E 2 warnings generated. 2026-07-13T04:22:40.482167Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-07-13T04:22:45.497556Z 01E 2 warnings generated. 2026-07-13T04:22:45.497727Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-07-13T04:22:45.674743Z 01E 6 warnings generated. 2026-07-13T04:22:45.674877Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-07-13T04:22:47.730080Z 01E 6 warnings generated. 2026-07-13T04:22:47.730298Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-07-13T04:22:49.318480Z 01E 6 warnings generated. 2026-07-13T04:22:49.318505Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-07-13T04:22:49.519382Z 01E 6 warnings generated. 2026-07-13T04:22:49.519551Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-07-13T04:22:52.666552Z 01E 6 warnings generated. 2026-07-13T04:22:52.666811Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-07-13T04:22:52.716266Z 01E 6 warnings generated. 2026-07-13T04:22:52.716465Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-07-13T04:22:54.860810Z 01E 9 warnings generated. 2026-07-13T04:22:54.860993Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-07-13T04:22:58.695065Z 01E 10 warnings generated. 2026-07-13T04:22:58.695223Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-07-13T04:23:01.562291Z 01E 11 warnings generated. 2026-07-13T04:23:01.562512Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-07-13T04:23:07.529152Z 01E 12 warnings generated. 2026-07-13T04:23:07.529170Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-07-13T04:23:09.973850Z 01E 12 warnings generated. 2026-07-13T04:23:09.974085Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-07-13T04:23:14.081564Z 01E 24 warnings generated. 2026-07-13T04:23:14.081896Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-07-13T04:23:20.359432Z 01E 27 warnings generated. 2026-07-13T04:23:20.359448Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-07-13T04:23:27.882554Z 01E 33 warnings generated. 2026-07-13T04:23:27.882562Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-07-13T04:23:30.515614Z 01E 34 warnings generated. 2026-07-13T04:23:30.515803Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-07-13T04:23:32.227128Z 01E 37 warnings generated. 2026-07-13T04:23:32.227189Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-07-13T04:23:32.267532Z 01E 37 warnings generated. 2026-07-13T04:23:32.267751Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-07-13T04:23:32.519022Z 01E 37 warnings generated. 2026-07-13T04:23:32.519138Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-07-13T04:23:37.207400Z 01E 39 warnings generated. 2026-07-13T04:23:37.207751Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-07-13T04:23:39.631973Z 01E 39 warnings generated. 2026-07-13T04:23:39.632220Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-07-13T04:23:49.624238Z 01E 44 warnings generated. 2026-07-13T04:23:49.624253Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-07-13T04:23:49.717893Z 01E 45 warnings generated. 2026-07-13T04:23:49.718079Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-07-13T04:23:49.919423Z 01E 45 warnings generated. 2026-07-13T04:23:49.919566Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-07-13T04:23:53.278709Z 01E 48 warnings generated. 2026-07-13T04:23:53.278969Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-07-13T04:23:53.318831Z 01E 48 warnings generated. 2026-07-13T04:23:53.319131Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-07-13T04:23:53.346141Z 01E 48 warnings generated. 2026-07-13T04:23:53.346417Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-07-13T04:23:53.985397Z 01E 48 warnings generated. 2026-07-13T04:23:53.985652Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-07-13T04:23:56.301756Z 01E 61 warnings generated. 2026-07-13T04:23:56.302024Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-07-13T04:23:56.327078Z 01E 61 warnings generated. 2026-07-13T04:23:56.327364Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-07-13T04:23:56.363801Z 01E 61 warnings generated. 2026-07-13T04:23:56.363964Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-07-13T04:23:56.473875Z 01E 62 warnings generated. 2026-07-13T04:23:56.474033Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-07-13T04:23:56.815912Z 01E 62 warnings generated. 2026-07-13T04:23:56.816374Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-07-13T04:23:57.418358Z 01E 62 warnings generated. 2026-07-13T04:23:57.418582Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-07-13T04:23:59.978090Z 01E 68 warnings generated. 2026-07-13T04:23:59.978294Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-07-13T04:24:01.950296Z 01E 68 warnings generated. 2026-07-13T04:24:01.950465Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-07-13T04:24:01.974383Z 01E 68 warnings generated. 2026-07-13T04:24:01.974680Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-07-13T04:24:04.119038Z 01E 68 warnings generated. 2026-07-13T04:24:04.119266Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-07-13T04:24:05.072324Z 01E 70 warnings generated. 2026-07-13T04:24:05.072529Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-07-13T04:24:05.346018Z 01E 70 warnings generated. 2026-07-13T04:24:05.346204Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-07-13T04:24:07.310750Z 01E 70 warnings generated. 2026-07-13T04:24:07.311081Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-07-13T04:24:07.558462Z 01E 70 warnings generated. 2026-07-13T04:24:07.558651Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-07-13T04:24:12.710899Z 01E 70 warnings generated. 2026-07-13T04:24:12.711181Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-07-13T04:24:13.492371Z 01E 70 warnings generated. 2026-07-13T04:24:13.492593Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-07-13T04:24:13.523175Z 01E 70 warnings generated. 2026-07-13T04:24:13.523427Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-07-13T04:24:13.580759Z 01E 70 warnings generated. 2026-07-13T04:24:13.581290Z 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-13T04:24:13.581292Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-13T04:24:13.581293Z 01O | ^ 2026-07-13T04:24:13.581294Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-07-13T04:24:13.581294Z 01O 934 | const STYPE val = sd[soff]; \ 2026-07-13T04:24:13.581295Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.581295Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-07-13T04:24:13.581296Z 01O 711 | if (len<1) return NULL; 2026-07-13T04:24:13.581296Z 01O | ^~~~~ 2026-07-13T04:24:13.581297Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-07-13T04:24:13.581298Z 01O 711 | if (len<1) return NULL; 2026-07-13T04:24:13.581298Z 01O | ^ 2026-07-13T04:24:13.581298Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-07-13T04:24:13.581299Z 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-13T04:24:13.581300Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.581300Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-07-13T04:24:13.581301Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-07-13T04:24:13.581301Z 01O 713 | if (slen==0) return NULL; 2026-07-13T04:24:13.581302Z 01O | ^~~~~~~ 2026-07-13T04:24:13.581302Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-07-13T04:24:13.581303Z 01O 713 | if (slen==0) return NULL; 2026-07-13T04:24:13.581303Z 01O | ^ 2026-07-13T04:24:13.581303Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-07-13T04:24:13.581304Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-07-13T04:24:13.581304Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.581305Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-07-13T04:24:13.581305Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-07-13T04:24:13.581346Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-07-13T04:24:13.581346Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.581347Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-07-13T04:24:13.581347Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-07-13T04:24:13.581348Z 01O | ^ 2026-07-13T04:24:13.581357Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-07-13T04:24:13.581358Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-07-13T04:24:13.581358Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.581358Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-07-13T04:24:13.581359Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-07-13T04:24:13.581360Z 01O | ^ 2026-07-13T04:24:13.581360Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-07-13T04:24:13.581360Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-07-13T04:24:13.581361Z 01O | ^~~~~~ 2026-07-13T04:24:13.581361Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-07-13T04:24:13.581362Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-07-13T04:24:13.581362Z 01O | ^ 2026-07-13T04:24:13.581363Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-07-13T04:24:13.581363Z 01O 723 | if (colname==NULL) 2026-07-13T04:24:13.581364Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.581364Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-07-13T04:24:13.581365Z 01O 723 | if (colname==NULL) 2026-07-13T04:24:13.581365Z 01O | ^ 2026-07-13T04:24:13.581370Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-07-13T04:24:13.581371Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-07-13T04:24:13.581372Z 01O | ^ 2026-07-13T04:24:13.581391Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-07-13T04:24:13.581391Z 01O 963 | #define isReal Rf_isReal 2026-07-13T04:24:13.581392Z 01O | ^ 2026-07-13T04:24:13.581392Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-07-13T04:24:13.581393Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-07-13T04:24:13.581393Z 01O | ^ 2026-07-13T04:24:13.581394Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-07-13T04:24:13.581394Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-07-13T04:24:13.581395Z 01O | ^ 2026-07-13T04:24:13.581395Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-07-13T04:24:13.581396Z 01O 963 | #define isReal Rf_isReal 2026-07-13T04:24:13.581396Z 01O | ^ 2026-07-13T04:24:13.581434Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-07-13T04:24:13.581435Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-07-13T04:24:13.581435Z 01O | ^ 2026-07-13T04:24:13.581436Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-07-13T04:24:13.581436Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-07-13T04:24:13.581437Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.581437Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-07-13T04:24:13.581445Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-07-13T04:24:13.581446Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-07-13T04:24:13.581447Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.581447Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-07-13T04:24:13.581448Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-07-13T04:24:13.581448Z 01O | ^ 2026-07-13T04:24:13.581481Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-07-13T04:24:13.581481Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-07-13T04:24:13.581482Z 01O | ^ 2026-07-13T04:24:13.581482Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-07-13T04:24:13.581483Z 01O 966 | #define isString Rf_isString 2026-07-13T04:24:13.581483Z 01O | ^ 2026-07-13T04:24:13.581489Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-07-13T04:24:13.581490Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-07-13T04:24:13.581490Z 01O | ^ 2026-07-13T04:24:13.581491Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-07-13T04:24:13.581491Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-07-13T04:24:13.581504Z 01O | ^ 2026-07-13T04:24:13.581505Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-07-13T04:24:13.581506Z 01O 955 | #define isNewList Rf_isNewList 2026-07-13T04:24:13.581506Z 01O | ^ 2026-07-13T04:24:13.581507Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-07-13T04:24:13.581507Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-07-13T04:24:13.581508Z 01O | ^ 2026-07-13T04:24:13.581549Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-07-13T04:24:13.581550Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-07-13T04:24:13.581551Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.581551Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-07-13T04:24:13.581552Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-07-13T04:24:13.581552Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-07-13T04:24:13.581553Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.581557Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-07-13T04:24:13.581558Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-07-13T04:24:13.581559Z 01O | ^ 2026-07-13T04:24:13.581568Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-07-13T04:24:13.581569Z 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-13T04:24:13.581570Z 01O | ^ 2026-07-13T04:24:13.581570Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581571Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581571Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.581601Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-07-13T04:24:13.581601Z 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-13T04:24:13.581602Z 01O | ^ 2026-07-13T04:24:13.581603Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581603Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581604Z 01O | ^ 2026-07-13T04:24:13.581608Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-07-13T04:24:13.581608Z 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-13T04:24:13.581609Z 01O | ^ 2026-07-13T04:24:13.581610Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581610Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581611Z 01O | ^ 2026-07-13T04:24:13.581630Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-07-13T04:24:13.581630Z 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-13T04:24:13.581631Z 01O | ^ 2026-07-13T04:24:13.581632Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581632Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581633Z 01O | ^ 2026-07-13T04:24:13.581707Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-07-13T04:24:13.581707Z 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-13T04:24:13.581708Z 01O | ^~~~~~ 2026-07-13T04:24:13.581712Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-07-13T04:24:13.581712Z 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-13T04:24:13.581713Z 01O | ^ 2026-07-13T04:24:13.581714Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581714Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581715Z 01O | ^ 2026-07-13T04:24:13.581722Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-07-13T04:24:13.581723Z 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-13T04:24:13.581724Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.581727Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-07-13T04:24:13.581728Z 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-13T04:24:13.581729Z 01O | ^ 2026-07-13T04:24:13.581729Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581734Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581735Z 01O | ^ 2026-07-13T04:24:13.581771Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-07-13T04:24:13.581772Z 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-13T04:24:13.581772Z 01O | ^~~~~~~ 2026-07-13T04:24:13.581779Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-07-13T04:24:13.581779Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-07-13T04:24:13.581780Z 01O | ^ 2026-07-13T04:24:13.581780Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581781Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581781Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.581793Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-07-13T04:24:13.581794Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-07-13T04:24:13.581794Z 01O | ^ 2026-07-13T04:24:13.581795Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581795Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581796Z 01O | ^ 2026-07-13T04:24:13.581796Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-07-13T04:24:13.581797Z 01O 974 | switch (TYPEOF(target)) { 2026-07-13T04:24:13.581797Z 01O | ^ 2026-07-13T04:24:13.581798Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-07-13T04:24:13.581798Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-13T04:24:13.581799Z 01O | ^~~ 2026-07-13T04:24:13.581799Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-07-13T04:24:13.581820Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-07-13T04:24:13.581821Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-13T04:24:13.581822Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.581824Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-07-13T04:24:13.581825Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-13T04:24:13.581825Z 01O | ^ 2026-07-13T04:24:13.581942Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-07-13T04:24:13.581943Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-13T04:24:13.581944Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.581944Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-07-13T04:24:13.581945Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-07-13T04:24:13.581945Z 01O | ^ 2026-07-13T04:24:13.581959Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-07-13T04:24:13.581960Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-13T04:24:13.581960Z 01O | ^ 2026-07-13T04:24:13.581961Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-07-13T04:24:13.581961Z 01O 932 | if (length(where)) { \ 2026-07-13T04:24:13.581962Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.581967Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.581968Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.581968Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.581972Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-07-13T04:24:13.581972Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-13T04:24:13.581973Z 01O | ^ 2026-07-13T04:24:13.581975Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-07-13T04:24:13.581976Z 01O 932 | if (length(where)) { \ 2026-07-13T04:24:13.581976Z 01O | ^ 2026-07-13T04:24:13.581979Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-07-13T04:24:13.581980Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-13T04:24:13.581980Z 01O | ^ 2026-07-13T04:24:13.581982Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-07-13T04:24:13.581983Z 01O 933 | if (slen==1) { \ 2026-07-13T04:24:13.581983Z 01O | ^~~~ 2026-07-13T04:24:13.581986Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-07-13T04:24:13.581987Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-13T04:24:13.581987Z 01O | ^ 2026-07-13T04:24:13.581988Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-07-13T04:24:13.581988Z 01O 933 | if (slen==1) { \ 2026-07-13T04:24:13.581989Z 01O | ^ 2026-07-13T04:24:13.581992Z 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-13T04:24:13.581993Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-07-13T04:24:13.581993Z 01O | ^ 2026-07-13T04:24:13.581994Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-07-13T04:24:13.581994Z 01O 934 | const STYPE val = sd[soff]; \ 2026-07-13T04:24:13.581995Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.582003Z 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-13T04:24:13.582004Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-07-13T04:24:13.582005Z 01O | ^~~~~ 2026-07-13T04:24:13.582005Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-07-13T04:24:13.582006Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-13T04:24:13.582006Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582010Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-07-13T04:24:13.582010Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-13T04:24:13.582011Z 01O | ^ 2026-07-13T04:24:13.582011Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-07-13T04:24:13.582012Z 01O 6 | if (chin && chmatchdup) 2026-07-13T04:24:13.582012Z 01O | ^~~~ 2026-07-13T04:24:13.582019Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-07-13T04:24:13.582019Z 01O 6 | if (chin && chmatchdup) 2026-07-13T04:24:13.582020Z 01O | ^ 2026-07-13T04:24:13.582022Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-07-13T04:24:13.582023Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-13T04:24:13.582023Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582027Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-07-13T04:24:13.582028Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-13T04:24:13.582028Z 01O | ^ 2026-07-13T04:24:13.582069Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-07-13T04:24:13.582070Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-13T04:24:13.582070Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.582073Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-07-13T04:24:13.582074Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-13T04:24:13.582074Z 01O | ^ 2026-07-13T04:24:13.582077Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-07-13T04:24:13.582078Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-07-13T04:24:13.582078Z 01O | ^ 2026-07-13T04:24:13.582079Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-07-13T04:24:13.582079Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-07-13T04:24:13.582080Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-13T04:24:13.582080Z 01O | ^~~~~~~ 2026-07-13T04:24:13.582128Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-07-13T04:24:13.582129Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-13T04:24:13.582130Z 01O | ^ 2026-07-13T04:24:13.582130Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-07-13T04:24:13.582131Z 01O 31 | if (tablelen==0) { 2026-07-13T04:24:13.582131Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.582131Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-07-13T04:24:13.582132Z 01O 31 | if (tablelen==0) { 2026-07-13T04:24:13.582132Z 01O | ^ 2026-07-13T04:24:13.582135Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-07-13T04:24:13.582136Z 01O 40 | if (isSymbol(x)) { 2026-07-13T04:24:13.582136Z 01O | ^ 2026-07-13T04:24:13.582137Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-07-13T04:24:13.582137Z 01O 953 | #define isSymbol Rf_isSymbol 2026-07-13T04:24:13.582138Z 01O | ^ 2026-07-13T04:24:13.582138Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-07-13T04:24:13.582139Z 01O 40 | if (isSymbol(x)) { 2026-07-13T04:24:13.582139Z 01O | ^ 2026-07-13T04:24:13.582139Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-07-13T04:24:13.582140Z 01O 46 | if (xlen==1) { 2026-07-13T04:24:13.582140Z 01O | ^~~~~~~ 2026-07-13T04:24:13.582141Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-07-13T04:24:13.582141Z 01O 46 | if (xlen==1) { 2026-07-13T04:24:13.582142Z 01O | ^ 2026-07-13T04:24:13.582144Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-07-13T04:24:13.582145Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582145Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.582146Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-07-13T04:24:13.582156Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-07-13T04:24:13.582157Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582157Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582160Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-07-13T04:24:13.582165Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582165Z 01O | ^ 2026-07-13T04:24:13.582166Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-07-13T04:24:13.582166Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-13T04:24:13.582167Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.582174Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.582175Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-13T04:24:13.582176Z 01O | ^ 2026-07-13T04:24:13.582176Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-07-13T04:24:13.582177Z 01O 66 | if (tl == 0) { 2026-07-13T04:24:13.582177Z 01O | ^~~~~~~ 2026-07-13T04:24:13.582177Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-07-13T04:24:13.582178Z 01O 66 | if (tl == 0) { 2026-07-13T04:24:13.582178Z 01O | ^ 2026-07-13T04:24:13.582179Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-07-13T04:24:13.582179Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-13T04:24:13.582180Z 01O | ^ 2026-07-13T04:24:13.582190Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.582191Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-07-13T04:24:13.582191Z 01O | ^ 2026-07-13T04:24:13.582193Z 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-13T04:24:13.582194Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-07-13T04:24:13.582194Z 01O | ^~~~~ 2026-07-13T04:24:13.582216Z 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-13T04:24:13.582217Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-07-13T04:24:13.582218Z 01O | ^~~~~ 2026-07-13T04:24:13.582218Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-07-13T04:24:13.582219Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-13T04:24:13.582219Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582222Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-07-13T04:24:13.582223Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-07-13T04:24:13.582223Z 01O | ^ 2026-07-13T04:24:13.582224Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-07-13T04:24:13.582224Z 01O 6 | if (chin && chmatchdup) 2026-07-13T04:24:13.582225Z 01O | ^~~~ 2026-07-13T04:24:13.582251Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-07-13T04:24:13.582252Z 01O 6 | if (chin && chmatchdup) 2026-07-13T04:24:13.582252Z 01O | ^ 2026-07-13T04:24:13.582253Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-07-13T04:24:13.582253Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-13T04:24:13.582254Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582257Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-07-13T04:24:13.582258Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-07-13T04:24:13.582258Z 01O | ^ 2026-07-13T04:24:13.582259Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-07-13T04:24:13.582259Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-13T04:24:13.582260Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.582282Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-07-13T04:24:13.582282Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-07-13T04:24:13.582283Z 01O | ^ 2026-07-13T04:24:13.582283Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-07-13T04:24:13.582284Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-07-13T04:24:13.582284Z 01O | ^ 2026-07-13T04:24:13.582285Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-07-13T04:24:13.582335Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-07-13T04:24:13.582336Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-13T04:24:13.582336Z 01O | ^~~~~~~ 2026-07-13T04:24:13.582339Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-07-13T04:24:13.582339Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-07-13T04:24:13.582340Z 01O | ^ 2026-07-13T04:24:13.582340Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-07-13T04:24:13.582341Z 01O 31 | if (tablelen==0) { 2026-07-13T04:24:13.582341Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.582345Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-07-13T04:24:13.582345Z 01O 31 | if (tablelen==0) { 2026-07-13T04:24:13.582346Z 01O | ^ 2026-07-13T04:24:13.582348Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-07-13T04:24:13.582349Z 01O 40 | if (isSymbol(x)) { 2026-07-13T04:24:13.582349Z 01O | ^ 2026-07-13T04:24:13.582349Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-07-13T04:24:13.582350Z 01O 953 | #define isSymbol Rf_isSymbol 2026-07-13T04:24:13.582350Z 01O | ^ 2026-07-13T04:24:13.582354Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-07-13T04:24:13.582355Z 01O 40 | if (isSymbol(x)) { 2026-07-13T04:24:13.582355Z 01O | ^ 2026-07-13T04:24:13.582356Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-07-13T04:24:13.582356Z 01O 46 | if (xlen==1) { 2026-07-13T04:24:13.582357Z 01O | ^~~~~~~ 2026-07-13T04:24:13.582357Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-07-13T04:24:13.582357Z 01O 46 | if (xlen==1) { 2026-07-13T04:24:13.582358Z 01O | ^ 2026-07-13T04:24:13.582358Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-07-13T04:24:13.582359Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582359Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.582367Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-07-13T04:24:13.582368Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582368Z 01O | ^ 2026-07-13T04:24:13.582369Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-07-13T04:24:13.582369Z 01O 99 | for (int i=0; i= 'tablelen' 2026-07-13T04:24:13.582464Z 01O 123 | for (int i=0; i= 'tablelen' 2026-07-13T04:24:13.582474Z 01O 125 | for (int i=0; i= 0 2026-07-13T04:24:13.582542Z 01O 129 | if (u<0) { 2026-07-13T04:24:13.582543Z 01O | ^~~ 2026-07-13T04:24:13.582543Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-07-13T04:24:13.582550Z 01O 129 | if (u<0) { 2026-07-13T04:24:13.582550Z 01O | ^ 2026-07-13T04:24:13.582553Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-07-13T04:24:13.582553Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-07-13T04:24:13.582719Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.582719Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-07-13T04:24:13.582720Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582720Z 01O | ^ 2026-07-13T04:24:13.582723Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-07-13T04:24:13.582724Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582724Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582725Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-07-13T04:24:13.582725Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582726Z 01O | ^ 2026-07-13T04:24:13.582738Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-07-13T04:24:13.582739Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-07-13T04:24:13.582965Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.582965Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-07-13T04:24:13.582966Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-07-13T04:24:13.582966Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582967Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.582974Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-07-13T04:24:13.582974Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-07-13T04:24:13.582975Z 01O | ^ 2026-07-13T04:24:13.582975Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-07-13T04:24:13.582980Z 01O 99 | for (int i=0; i= 0 2026-07-13T04:24:13.583036Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-07-13T04:24:13.583036Z 01O | ^~~ 2026-07-13T04:24:13.583036Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-07-13T04:24:13.583037Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-07-13T04:24:13.583037Z 01O | ^ 2026-07-13T04:24:13.583039Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-07-13T04:24:13.583040Z 01O 144 | for (int i=0; i= 'nlhs' 2026-07-13T04:24:13.583143Z 01O 14 | for (int i=0; i= 'nlhs' 2026-07-13T04:24:13.583276Z 01O 14 | for (int i=0; i= 'nlhs' 2026-07-13T04:24:13.583374Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-07-13T04:24:13.584345Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.584347Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-07-13T04:24:13.584348Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-13T04:24:13.584348Z 01O | ^ 2026-07-13T04:24:13.584350Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.584351Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.584351Z 01O | ^ 2026-07-13T04:24:13.584356Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-07-13T04:24:13.584357Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-13T04:24:13.584357Z 01O | ^ 2026-07-13T04:24:13.584357Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.584358Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.584358Z 01O | ^ 2026-07-13T04:24:13.584364Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-07-13T04:24:13.584364Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-13T04:24:13.584365Z 01O | ^ 2026-07-13T04:24:13.584365Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.584366Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.584366Z 01O | ^ 2026-07-13T04:24:13.584389Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-07-13T04:24:13.584390Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-07-13T04:24:13.584390Z 01O | ^ 2026-07-13T04:24:13.584391Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-07-13T04:24:13.584391Z 01O 228 | for (int i=0; i= 'ncol' 2026-07-13T04:24:13.584395Z 01O 234 | for (int i=0; i= 'nidx' 2026-07-13T04:24:13.584472Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-07-13T04:24:13.584512Z 01O | ^~~~ 2026-07-13T04:24:13.584515Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-07-13T04:24:13.584515Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-07-13T04:24:13.584516Z 01O | ^ 2026-07-13T04:24:13.584516Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-07-13T04:24:13.584517Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-07-13T04:24:13.584567Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-07-13T04:24:13.585209Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-07-13T04:24:13.585446Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585449Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-07-13T04:24:13.585449Z 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-13T04:24:13.585450Z 01O | ^ 2026-07-13T04:24:13.585450Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-07-13T04:24:13.585451Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-07-13T04:24:13.585451Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585458Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-07-13T04:24:13.585459Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-07-13T04:24:13.585459Z 01O | ^ 2026-07-13T04:24:13.585460Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-07-13T04:24:13.585460Z 01O 326 | if (new_marks != marks) { 2026-07-13T04:24:13.585461Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585462Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-07-13T04:24:13.585463Z 01O 326 | if (new_marks != marks) { 2026-07-13T04:24:13.585464Z 01O | ^ 2026-07-13T04:24:13.585517Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-07-13T04:24:13.585518Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-07-13T04:24:13.585518Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585519Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-07-13T04:24:13.585519Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-07-13T04:24:13.585520Z 01O | ^ 2026-07-13T04:24:13.585524Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-07-13T04:24:13.585524Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-07-13T04:24:13.585525Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.585529Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-07-13T04:24:13.585529Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-07-13T04:24:13.585530Z 01O | ^ 2026-07-13T04:24:13.585536Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-07-13T04:24:13.585543Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-07-13T04:24:13.585543Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.585586Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-07-13T04:24:13.585587Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-07-13T04:24:13.585587Z 01O | ^ 2026-07-13T04:24:13.585588Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-07-13T04:24:13.585592Z 01O 338 | if (!anynotascii) 2026-07-13T04:24:13.585592Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.585595Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-07-13T04:24:13.585595Z 01O 338 | if (!anynotascii) 2026-07-13T04:24:13.585596Z 01O | ^ 2026-07-13T04:24:13.585596Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-07-13T04:24:13.585597Z 01O 340 | if (!IS_UTF8(s)) 2026-07-13T04:24:13.585597Z 01O | ^ 2026-07-13T04:24:13.585601Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-07-13T04:24:13.585601Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-07-13T04:24:13.585602Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585602Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-07-13T04:24:13.585603Z 01O 925 | #define getCharCE Rf_getCharCE 2026-07-13T04:24:13.585603Z 01O | ^ 2026-07-13T04:24:13.585604Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-07-13T04:24:13.585604Z 01O 340 | if (!IS_UTF8(s)) 2026-07-13T04:24:13.585605Z 01O | ^ 2026-07-13T04:24:13.585605Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-07-13T04:24:13.585606Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-07-13T04:24:13.585663Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-07-13T04:24:13.585698Z 01O 364 | for (int i=0; i> 2026-07-13T04:24:13.585919Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585920Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-07-13T04:24:13.585920Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585921Z 01O 43 | 2026-07-13T04:24:13.585921Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-07-13T04:24:13.585922Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585922Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-07-13T04:24:13.585923Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585923Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-07-13T04:24:13.585924Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585924Z 01O 47 | 2026-07-13T04:24:13.585925Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-07-13T04:24:13.585930Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585930Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-07-13T04:24:13.585931Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585931Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-07-13T04:24:13.585932Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585932Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-07-13T04:24:13.585933Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585933Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-07-13T04:24:13.585934Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585935Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-07-13T04:24:13.585935Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.585936Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-07-13T04:24:13.585936Z 01O 1410 | if (freadCleanup()) { 2026-07-13T04:24:13.585936Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.585957Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-07-13T04:24:13.585958Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-13T04:24:13.585958Z 01O | ^~~~ 2026-07-13T04:24:13.585959Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-07-13T04:24:13.585961Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-07-13T04:24:13.585962Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-13T04:24:13.585962Z 01O | ^~~~~~~ 2026-07-13T04:24:13.585964Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-07-13T04:24:13.585965Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-13T04:24:13.585965Z 01O | ^ 2026-07-13T04:24:13.585967Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-07-13T04:24:13.585968Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-13T04:24:13.585969Z 01O | ^~~~ 2026-07-13T04:24:13.585975Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-07-13T04:24:13.585976Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-07-13T04:24:13.585976Z 01O | ^ 2026-07-13T04:24:13.585977Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-07-13T04:24:13.585978Z 01O 169 | if (mmp != NULL) { 2026-07-13T04:24:13.585978Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.585980Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-07-13T04:24:13.585980Z 01O 169 | if (mmp != NULL) { 2026-07-13T04:24:13.585981Z 01O | ^ 2026-07-13T04:24:13.585983Z 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-13T04:24:13.585983Z 01O 193 | quoteRule = -1; 2026-07-13T04:24:13.585984Z 01O | ^~ 2026-07-13T04:24:13.586006Z 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-13T04:24:13.586011Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-07-13T04:24:13.586011Z 01O | ^ ~~ 2026-07-13T04:24:13.586011Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-07-13T04:24:13.586012Z 01O 1410 | if (freadCleanup()) { 2026-07-13T04:24:13.586012Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.586019Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-07-13T04:24:13.586020Z 01O 1410 | if (freadCleanup()) { 2026-07-13T04:24:13.586020Z 01O | ^ 2026-07-13T04:24:13.586021Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.586021Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-13T04:24:13.586022Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586024Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-07-13T04:24:13.586025Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-13T04:24:13.586025Z 01O | ^ 2026-07-13T04:24:13.586026Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-07-13T04:24:13.586026Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-13T04:24:13.586027Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.586114Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-07-13T04:24:13.586115Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-13T04:24:13.586115Z 01O | ^ 2026-07-13T04:24:13.586116Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-07-13T04:24:13.586116Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-13T04:24:13.586117Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.586118Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-07-13T04:24:13.586119Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-13T04:24:13.586119Z 01O | ^ 2026-07-13T04:24:13.586120Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-07-13T04:24:13.586120Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-13T04:24:13.586121Z 01O | ^~~ 2026-07-13T04:24:13.586123Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-07-13T04:24:13.586123Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-13T04:24:13.586124Z 01O | ^ 2026-07-13T04:24:13.586126Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-07-13T04:24:13.586127Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-13T04:24:13.586127Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586130Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-07-13T04:24:13.586130Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-13T04:24:13.586131Z 01O | ^ 2026-07-13T04:24:13.586135Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-07-13T04:24:13.586135Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-13T04:24:13.586136Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586137Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-07-13T04:24:13.586137Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-13T04:24:13.586138Z 01O | ^ 2026-07-13T04:24:13.586138Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-07-13T04:24:13.586139Z 01O 1436 | while (*nastr) { 2026-07-13T04:24:13.586139Z 01O | ^ 2026-07-13T04:24:13.586152Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-07-13T04:24:13.586152Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-07-13T04:24:13.586153Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586153Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-07-13T04:24:13.586154Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-07-13T04:24:13.586155Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586157Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-07-13T04:24:13.586157Z 01O 1464 | if (verbose) { 2026-07-13T04:24:13.586158Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586158Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-07-13T04:24:13.586159Z 01O 1464 | if (verbose) { 2026-07-13T04:24:13.586159Z 01O | ^ 2026-07-13T04:24:13.586173Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-07-13T04:24:13.586173Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-07-13T04:24:13.586174Z 01O | ^ 2026-07-13T04:24:13.586176Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-07-13T04:24:13.586177Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-13T04:24:13.586182Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586212Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-07-13T04:24:13.586213Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-13T04:24:13.586214Z 01O | ^ 2026-07-13T04:24:13.586216Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-07-13T04:24:13.586216Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586217Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586239Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-07-13T04:24:13.586239Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586240Z 01O | ^ 2026-07-13T04:24:13.586242Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-07-13T04:24:13.586243Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586243Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.586246Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-07-13T04:24:13.586246Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586247Z 01O | ^ 2026-07-13T04:24:13.586247Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-07-13T04:24:13.586248Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-13T04:24:13.586248Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586273Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-07-13T04:24:13.586273Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-13T04:24:13.586274Z 01O | ^ 2026-07-13T04:24:13.586274Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-07-13T04:24:13.586275Z 01O 1515 | if (args.input) { 2026-07-13T04:24:13.586275Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.586275Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-07-13T04:24:13.586281Z 01O 1515 | if (args.input) { 2026-07-13T04:24:13.586281Z 01O | ^ 2026-07-13T04:24:13.586284Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-07-13T04:24:13.586285Z 01O 1522 | else if (args.filename) { 2026-07-13T04:24:13.586285Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.586286Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-07-13T04:24:13.586286Z 01O 1522 | else if (args.filename) { 2026-07-13T04:24:13.586286Z 01O | ^ 2026-07-13T04:24:13.586308Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-07-13T04:24:13.586308Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-07-13T04:24:13.586309Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586312Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-07-13T04:24:13.586312Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-07-13T04:24:13.586313Z 01O | ^ 2026-07-13T04:24:13.586313Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-07-13T04:24:13.586314Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-07-13T04:24:13.586314Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586316Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-07-13T04:24:13.586316Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-07-13T04:24:13.586317Z 01O | ^~~~~~ 2026-07-13T04:24:13.586320Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-07-13T04:24:13.586320Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-07-13T04:24:13.586321Z 01O | ^ 2026-07-13T04:24:13.586321Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-07-13T04:24:13.586322Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-07-13T04:24:13.586322Z 01O | ^ ~~ 2026-07-13T04:24:13.586336Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.586337Z 01O 1780 | pos = ch; 2026-07-13T04:24:13.586337Z 01O | ^ ~~ 2026-07-13T04:24:13.586338Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-07-13T04:24:13.586338Z 01O 1780 | pos = ch; 2026-07-13T04:24:13.586339Z 01O | ^ ~~ 2026-07-13T04:24:13.586357Z 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-13T04:24:13.586358Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-07-13T04:24:13.586359Z 01O | ^~ 2026-07-13T04:24:13.586437Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-07-13T04:24:13.586437Z 01O 38 | enum quote_rule_t 2026-07-13T04:24:13.586438Z 01O | ~~~~~^~~~~~~~~~~~ 2026-07-13T04:24:13.586438Z 01O 39 | { 2026-07-13T04:24:13.586438Z 01O | ~ 2026-07-13T04:24:13.586439Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-07-13T04:24:13.586439Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586440Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-07-13T04:24:13.586440Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586441Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-07-13T04:24:13.586441Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586442Z 01O 43 | 2026-07-13T04:24:13.586442Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-07-13T04:24:13.586447Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586447Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-07-13T04:24:13.586448Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586448Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-07-13T04:24:13.586449Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586449Z 01O 47 | 2026-07-13T04:24:13.586450Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-07-13T04:24:13.586450Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586451Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-07-13T04:24:13.586451Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586452Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-07-13T04:24:13.586452Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586453Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-07-13T04:24:13.586453Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586454Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-07-13T04:24:13.586454Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586455Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-07-13T04:24:13.586455Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586456Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-07-13T04:24:13.586456Z 01O 1410 | if (freadCleanup()) { 2026-07-13T04:24:13.586457Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.586488Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-07-13T04:24:13.586489Z 01O 1410 | if (freadCleanup()) { 2026-07-13T04:24:13.586489Z 01O | ^ 2026-07-13T04:24:13.586499Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.586500Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-13T04:24:13.586500Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586503Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-07-13T04:24:13.586503Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-07-13T04:24:13.586504Z 01O | ^ 2026-07-13T04:24:13.586506Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-07-13T04:24:13.586506Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-13T04:24:13.586507Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.586507Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-07-13T04:24:13.586508Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-07-13T04:24:13.586508Z 01O | ^ 2026-07-13T04:24:13.586510Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-07-13T04:24:13.586511Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-13T04:24:13.586511Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.586512Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-07-13T04:24:13.586512Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-07-13T04:24:13.586513Z 01O | ^ 2026-07-13T04:24:13.586515Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-07-13T04:24:13.586515Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-13T04:24:13.586516Z 01O | ^~~ 2026-07-13T04:24:13.586516Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-07-13T04:24:13.586522Z 01O 1420 | if (nth <= 0) nth = 1; 2026-07-13T04:24:13.586523Z 01O | ^ 2026-07-13T04:24:13.586533Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-07-13T04:24:13.586534Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-13T04:24:13.586535Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586537Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-07-13T04:24:13.586538Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-07-13T04:24:13.586538Z 01O | ^ 2026-07-13T04:24:13.586541Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-07-13T04:24:13.586541Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-13T04:24:13.586542Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586545Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-07-13T04:24:13.586545Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-07-13T04:24:13.586546Z 01O | ^ 2026-07-13T04:24:13.586546Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-07-13T04:24:13.586547Z 01O 1436 | while (*nastr) { 2026-07-13T04:24:13.586547Z 01O | ^ 2026-07-13T04:24:13.586579Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-07-13T04:24:13.586579Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-07-13T04:24:13.586580Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586582Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-07-13T04:24:13.586583Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-07-13T04:24:13.586583Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586585Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-07-13T04:24:13.586586Z 01O 1464 | if (verbose) { 2026-07-13T04:24:13.586586Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586587Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-07-13T04:24:13.586587Z 01O 1464 | if (verbose) { 2026-07-13T04:24:13.586588Z 01O | ^ 2026-07-13T04:24:13.586686Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-07-13T04:24:13.586686Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-07-13T04:24:13.586687Z 01O | ^ 2026-07-13T04:24:13.586690Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-07-13T04:24:13.586691Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-13T04:24:13.586691Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586692Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-07-13T04:24:13.586692Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-07-13T04:24:13.586693Z 01O | ^ 2026-07-13T04:24:13.586695Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-07-13T04:24:13.586696Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586696Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586699Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-07-13T04:24:13.586703Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586704Z 01O | ^ 2026-07-13T04:24:13.586706Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-07-13T04:24:13.586707Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586708Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.586710Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-07-13T04:24:13.586710Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-07-13T04:24:13.586711Z 01O | ^ 2026-07-13T04:24:13.586713Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-07-13T04:24:13.586713Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-13T04:24:13.586714Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586717Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-07-13T04:24:13.586718Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-07-13T04:24:13.586719Z 01O | ^ 2026-07-13T04:24:13.586719Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-07-13T04:24:13.586719Z 01O 1515 | if (args.input) { 2026-07-13T04:24:13.586720Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.586720Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-07-13T04:24:13.586721Z 01O 1515 | if (args.input) { 2026-07-13T04:24:13.586721Z 01O | ^ 2026-07-13T04:24:13.586721Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-07-13T04:24:13.586722Z 01O 1522 | else if (args.filename) { 2026-07-13T04:24:13.586722Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.586729Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-07-13T04:24:13.586730Z 01O 1522 | else if (args.filename) { 2026-07-13T04:24:13.586730Z 01O | ^ 2026-07-13T04:24:13.586761Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-07-13T04:24:13.586762Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-07-13T04:24:13.586763Z 01O | ^ 2026-07-13T04:24:13.586765Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-07-13T04:24:13.586766Z 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-13T04:24:13.586767Z 01O | ^ 2026-07-13T04:24:13.586767Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-07-13T04:24:13.586768Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-07-13T04:24:13.586768Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586792Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-07-13T04:24:13.586793Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-07-13T04:24:13.586793Z 01O | ^ 2026-07-13T04:24:13.586795Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-07-13T04:24:13.586796Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-07-13T04:24:13.586796Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.586799Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-07-13T04:24:13.586799Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-07-13T04:24:13.586800Z 01O | ^ 2026-07-13T04:24:13.586804Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-07-13T04:24:13.586805Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-07-13T04:24:13.586805Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.586812Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-07-13T04:24:13.586812Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-07-13T04:24:13.586813Z 01O | ^ 2026-07-13T04:24:13.586833Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-07-13T04:24:13.586834Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-07-13T04:24:13.586834Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.586837Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-07-13T04:24:13.586837Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-07-13T04:24:13.586838Z 01O | ^ 2026-07-13T04:24:13.586857Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-07-13T04:24:13.586858Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-07-13T04:24:13.586858Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.586860Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-07-13T04:24:13.586861Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-07-13T04:24:13.586862Z 01O | ^ 2026-07-13T04:24:13.586884Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-07-13T04:24:13.586884Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-07-13T04:24:13.586885Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.586885Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-07-13T04:24:13.586886Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-07-13T04:24:13.586886Z 01O | ^ 2026-07-13T04:24:13.586888Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-07-13T04:24:13.586889Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-07-13T04:24:13.586889Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586913Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-07-13T04:24:13.586913Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-07-13T04:24:13.586914Z 01O | ^ 2026-07-13T04:24:13.586916Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-07-13T04:24:13.586916Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-07-13T04:24:13.586917Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586919Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-07-13T04:24:13.586920Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-07-13T04:24:13.586921Z 01O | ^ 2026-07-13T04:24:13.586921Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-07-13T04:24:13.586922Z 01O 1649 | while (ch < sample_end) { 2026-07-13T04:24:13.586922Z 01O | ^ 2026-07-13T04:24:13.586940Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-07-13T04:24:13.586940Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-07-13T04:24:13.586941Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586941Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-07-13T04:24:13.586946Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-07-13T04:24:13.586947Z 01O | ^ 2026-07-13T04:24:13.586955Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-07-13T04:24:13.586955Z 01O 1674 | if (args.filename) { 2026-07-13T04:24:13.586956Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.586956Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-07-13T04:24:13.586957Z 01O 1674 | if (args.filename) { 2026-07-13T04:24:13.586957Z 01O | ^ 2026-07-13T04:24:13.586959Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-07-13T04:24:13.586960Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-07-13T04:24:13.586960Z 01O | ^~~~~~~ 2026-07-13T04:24:13.586962Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-07-13T04:24:13.586963Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-07-13T04:24:13.586963Z 01O | ^ 2026-07-13T04:24:13.586981Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-07-13T04:24:13.586982Z 01O 1752 | if (args.skipString) { 2026-07-13T04:24:13.586982Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586983Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-07-13T04:24:13.586983Z 01O 1752 | if (args.skipString) { 2026-07-13T04:24:13.586984Z 01O | ^ 2026-07-13T04:24:13.586986Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-07-13T04:24:13.586987Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-07-13T04:24:13.586987Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.586988Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-07-13T04:24:13.586988Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-07-13T04:24:13.586989Z 01O | ^ 2026-07-13T04:24:13.587031Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-07-13T04:24:13.587031Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-07-13T04:24:13.587032Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.587034Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-07-13T04:24:13.587035Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-07-13T04:24:13.587035Z 01O | ^ 2026-07-13T04:24:13.587058Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-07-13T04:24:13.587059Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-07-13T04:24:13.587060Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.587062Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-07-13T04:24:13.587063Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-07-13T04:24:13.587064Z 01O | ^ 2026-07-13T04:24:13.587064Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-07-13T04:24:13.587064Z 01O 1789 | if (verbose) { 2026-07-13T04:24:13.587065Z 01O | ^~~~~~~ 2026-07-13T04:24:13.587065Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-07-13T04:24:13.587066Z 01O 1789 | if (verbose) { 2026-07-13T04:24:13.587066Z 01O | ^ 2026-07-13T04:24:13.587101Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-07-13T04:24:13.587102Z 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-13T04:24:13.587106Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.587107Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-07-13T04:24:13.587109Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-07-13T04:24:13.587110Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-07-13T04:24:13.587110Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587218Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-07-13T04:24:13.587219Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-07-13T04:24:13.587219Z 01O | ^ 2026-07-13T04:24:13.587222Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-07-13T04:24:13.587222Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-07-13T04:24:13.587223Z 01O | ^~~~~~~ 2026-07-13T04:24:13.587223Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-07-13T04:24:13.587224Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-07-13T04:24:13.587225Z 01O | ^ 2026-07-13T04:24:13.587227Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-07-13T04:24:13.587227Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-07-13T04:24:13.587231Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587233Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-07-13T04:24:13.587233Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-07-13T04:24:13.587234Z 01O | ^ 2026-07-13T04:24:13.587237Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-07-13T04:24:13.587238Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-07-13T04:24:13.587239Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587239Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-07-13T04:24:13.587240Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-07-13T04:24:13.587240Z 01O 1836 | if (args.sep == '\0') { 2026-07-13T04:24:13.587241Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587243Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-07-13T04:24:13.587243Z 01O 1836 | if (args.sep == '\0') { 2026-07-13T04:24:13.587244Z 01O | ^ 2026-07-13T04:24:13.587246Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-07-13T04:24:13.587246Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-07-13T04:24:13.587247Z 01O | ^~~~~~~ 2026-07-13T04:24:13.587249Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-07-13T04:24:13.587250Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-07-13T04:24:13.587251Z 01O | ^ 2026-07-13T04:24:13.587251Z 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-13T04:24:13.587252Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-07-13T04:24:13.587252Z 01O | ^~ 2026-07-13T04:24:13.587260Z 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-13T04:24:13.587264Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-07-13T04:24:13.587265Z 01O | ^~~~~~~~~~~~~ ~~ 2026-07-13T04:24:13.587267Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-07-13T04:24:13.587268Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-07-13T04:24:13.587269Z 01O | ^~~~~~~~~~~~~ ~~ 2026-07-13T04:24:13.587271Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.587271Z 01O 2278 | estnrow = 1; 2026-07-13T04:24:13.587272Z 01O | ^ ~ 2026-07-13T04:24:13.587293Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-07-13T04:24:13.587294Z 01O 2278 | estnrow = 1; 2026-07-13T04:24:13.587295Z 01O | ^ ~ 2026-07-13T04:24:13.587297Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.587297Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-07-13T04:24:13.587298Z 01O | ^ ~ 2026-07-13T04:24:13.587300Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-07-13T04:24:13.587300Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-07-13T04:24:13.587301Z 01O | ^ ~ 2026-07-13T04:24:13.587303Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.587304Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-07-13T04:24:13.587304Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587305Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-07-13T04:24:13.587305Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-07-13T04:24:13.587306Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587356Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.587356Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-07-13T04:24:13.587357Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587357Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-07-13T04:24:13.587358Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-07-13T04:24:13.587358Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587361Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.587362Z 01O 2487 | nth = imin(nJumps, nth); 2026-07-13T04:24:13.587362Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587362Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-07-13T04:24:13.587363Z 01O 2487 | nth = imin(nJumps, nth); 2026-07-13T04:24:13.587363Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587367Z 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-13T04:24:13.587368Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-07-13T04:24:13.587369Z 01O | ^~~~~~ 2026-07-13T04:24:13.587372Z 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-13T04:24:13.587377Z 01O 2743 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-07-13T04:24:13.587378Z 01O | ^~~~~~ 2026-07-13T04:24:13.587395Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.587396Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-07-13T04:24:13.587397Z 01O | ^ ~~~ 2026-07-13T04:24:13.587399Z 01O /builds/Rdatatable/data.table/src/fread.c:2777:73: note: Value stored to 'tLast' is never read 2026-07-13T04:24:13.587399Z 01O 2777 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-07-13T04:24:13.587400Z 01O | ^ ~~~ 2026-07-13T04:24:13.587439Z 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-13T04:24:13.587440Z 01O 789 | if (state->buffer[i] == '\n') { 2026-07-13T04:24:13.587441Z 01O | ^ ~~~~~~ 2026-07-13T04:24:13.587441Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-07-13T04:24:13.587442Z 01O 768 | if (state->outfile == NULL) { 2026-07-13T04:24:13.587442Z 01O | ^ 2026-07-13T04:24:13.587461Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-07-13T04:24:13.587462Z 01O 768 | if (state->outfile == NULL) { 2026-07-13T04:24:13.587463Z 01O | ^ 2026-07-13T04:24:13.587463Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-07-13T04:24:13.587463Z 01O 772 | state->buffer = malloc(chunk_size); 2026-07-13T04:24:13.587464Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587466Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-07-13T04:24:13.587467Z 01O 773 | if (!state->buffer) { 2026-07-13T04:24:13.587467Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.587468Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-07-13T04:24:13.587468Z 01O 773 | if (!state->buffer) { 2026-07-13T04:24:13.587469Z 01O | ^ 2026-07-13T04:24:13.587479Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-07-13T04:24:13.587480Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-07-13T04:24:13.587480Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587481Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.587481Z 01O 780 | while (true) { 2026-07-13T04:24:13.587482Z 01O | ^ 2026-07-13T04:24:13.587509Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-07-13T04:24:13.587510Z 01O 782 | if (nread == 0) { 2026-07-13T04:24:13.587510Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587511Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-07-13T04:24:13.587511Z 01O 782 | if (nread == 0) { 2026-07-13T04:24:13.587512Z 01O | ^ 2026-07-13T04:24:13.587519Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-07-13T04:24:13.587520Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587520Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587521Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-07-13T04:24:13.587529Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-07-13T04:24:13.587529Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587530Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587563Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-07-13T04:24:13.587564Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587564Z 01O | ^ 2026-07-13T04:24:13.587565Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-07-13T04:24:13.587565Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-07-13T04:24:13.587566Z 01O | ^ 2026-07-13T04:24:13.587568Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.587568Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-07-13T04:24:13.587569Z 01O | ^ 2026-07-13T04:24:13.587571Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-07-13T04:24:13.587571Z 01O 789 | if (state->buffer[i] == '\n') { 2026-07-13T04:24:13.587572Z 01O | ^ ~~~~~~ 2026-07-13T04:24:13.587575Z 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-13T04:24:13.587576Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-13T04:24:13.587576Z 01O | ^ ~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587577Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-07-13T04:24:13.587577Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-07-13T04:24:13.587578Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587656Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-07-13T04:24:13.587657Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-07-13T04:24:13.587657Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587658Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-07-13T04:24:13.587658Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-07-13T04:24:13.587659Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587662Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-07-13T04:24:13.587662Z 01O 768 | if (state->outfile == NULL) { 2026-07-13T04:24:13.587663Z 01O | ^ 2026-07-13T04:24:13.587663Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-07-13T04:24:13.587664Z 01O 768 | if (state->outfile == NULL) { 2026-07-13T04:24:13.587664Z 01O | ^ 2026-07-13T04:24:13.587664Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-07-13T04:24:13.587665Z 01O 773 | if (!state->buffer) { 2026-07-13T04:24:13.587665Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.587666Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-07-13T04:24:13.587666Z 01O 773 | if (!state->buffer) { 2026-07-13T04:24:13.587667Z 01O | ^ 2026-07-13T04:24:13.587669Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-07-13T04:24:13.587670Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-07-13T04:24:13.587670Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587671Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.587671Z 01O 780 | while (true) { 2026-07-13T04:24:13.587676Z 01O | ^ 2026-07-13T04:24:13.587678Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-07-13T04:24:13.587679Z 01O 782 | if (nread == 0) { 2026-07-13T04:24:13.587679Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587680Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-07-13T04:24:13.587680Z 01O 782 | if (nread == 0) { 2026-07-13T04:24:13.587681Z 01O | ^ 2026-07-13T04:24:13.587684Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-07-13T04:24:13.587684Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587685Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587685Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-07-13T04:24:13.587686Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587686Z 01O | ^ 2026-07-13T04:24:13.587708Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-07-13T04:24:13.587709Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-13T04:24:13.587710Z 01O | ^ ~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587712Z 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-13T04:24:13.587713Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-13T04:24:13.587714Z 01O | ^ ~~~~~~~~~~~~~ 2026-07-13T04:24:13.587714Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-07-13T04:24:13.587715Z 01O 768 | if (state->outfile == NULL) { 2026-07-13T04:24:13.587715Z 01O | ^ 2026-07-13T04:24:13.587717Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-07-13T04:24:13.587718Z 01O 768 | if (state->outfile == NULL) { 2026-07-13T04:24:13.587719Z 01O | ^ 2026-07-13T04:24:13.587719Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-07-13T04:24:13.587719Z 01O 772 | state->buffer = malloc(chunk_size); 2026-07-13T04:24:13.587720Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587722Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-07-13T04:24:13.587723Z 01O 773 | if (!state->buffer) { 2026-07-13T04:24:13.587723Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.587723Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-07-13T04:24:13.587724Z 01O 773 | if (!state->buffer) { 2026-07-13T04:24:13.587724Z 01O | ^ 2026-07-13T04:24:13.587727Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-07-13T04:24:13.587727Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-07-13T04:24:13.587728Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.587728Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.587729Z 01O 780 | while (true) { 2026-07-13T04:24:13.587729Z 01O | ^ 2026-07-13T04:24:13.587748Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-07-13T04:24:13.587749Z 01O 782 | if (nread == 0) { 2026-07-13T04:24:13.587749Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587749Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-07-13T04:24:13.587750Z 01O 782 | if (nread == 0) { 2026-07-13T04:24:13.587750Z 01O | ^ 2026-07-13T04:24:13.587754Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-07-13T04:24:13.587759Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587759Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.587760Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-07-13T04:24:13.587760Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-07-13T04:24:13.587761Z 01O | ^ 2026-07-13T04:24:13.587777Z 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-13T04:24:13.587778Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-07-13T04:24:13.587779Z 01O | ^ ~~~~~~~~~~~~~ 2026-07-13T04:24:13.587844Z 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-13T04:24:13.587845Z 01O 1364 | next[p] = tail; 2026-07-13T04:24:13.587846Z 01O | ^ 2026-07-13T04:24:13.587846Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.587847Z 01O 1506 | if (verbose) 2026-07-13T04:24:13.587847Z 01O | ^~~~~~~ 2026-07-13T04:24:13.587850Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-07-13T04:24:13.587850Z 01O 1506 | if (verbose) 2026-07-13T04:24:13.587851Z 01O | ^ 2026-07-13T04:24:13.587851Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-07-13T04:24:13.587851Z 01O 1508 | if (k == 0) { 2026-07-13T04:24:13.587852Z 01O | ^~~~~~ 2026-07-13T04:24:13.587852Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-07-13T04:24:13.587853Z 01O 1508 | if (k == 0) { 2026-07-13T04:24:13.587853Z 01O | ^ 2026-07-13T04:24:13.587872Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-07-13T04:24:13.587873Z 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-13T04:24:13.587873Z 01O | ^~~~~~ 2026-07-13T04:24:13.587874Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-07-13T04:24:13.587906Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-07-13T04:24:13.587906Z 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-13T04:24:13.587907Z 01O | ^~~~~~ 2026-07-13T04:24:13.587910Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-07-13T04:24:13.587910Z 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-13T04:24:13.587911Z 01O | ^ 2026-07-13T04:24:13.587911Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-07-13T04:24:13.587912Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.587912Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.587913Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-07-13T04:24:13.587913Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.587914Z 01O | ^ 2026-07-13T04:24:13.587957Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-07-13T04:24:13.587958Z 01O 1567 | if (nx_mod_k) { 2026-07-13T04:24:13.587958Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.587958Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-07-13T04:24:13.587959Z 01O 1567 | if (nx_mod_k) { 2026-07-13T04:24:13.587959Z 01O | ^ 2026-07-13T04:24:13.587962Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-07-13T04:24:13.587963Z 01O 1574 | bool even = !(k % 2); 2026-07-13T04:24:13.587967Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.587968Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-07-13T04:24:13.587968Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-07-13T04:24:13.587969Z 01O | ^~~~ 2026-07-13T04:24:13.587971Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-07-13T04:24:13.587974Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-07-13T04:24:13.587974Z 01O 1579 | if (!o) { // # nocov start 2026-07-13T04:24:13.587975Z 01O | ^~ 2026-07-13T04:24:13.587975Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-07-13T04:24:13.587976Z 01O 1579 | if (!o) { // # nocov start 2026-07-13T04:24:13.587976Z 01O | ^ 2026-07-13T04:24:13.587978Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-07-13T04:24:13.587978Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-13T04:24:13.587979Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.587981Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-07-13T04:24:13.587982Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-13T04:24:13.587983Z 01O | ^ 2026-07-13T04:24:13.587983Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-07-13T04:24:13.587983Z 01O 1588 | if (!m) { // # nocov start 2026-07-13T04:24:13.587984Z 01O | ^~ 2026-07-13T04:24:13.588029Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-07-13T04:24:13.588029Z 01O 1588 | if (!m) { // # nocov start 2026-07-13T04:24:13.588030Z 01O | ^ 2026-07-13T04:24:13.588030Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-07-13T04:24:13.588031Z 01O 1594 | if (!n) { // # nocov start 2026-07-13T04:24:13.588031Z 01O | ^~ 2026-07-13T04:24:13.588033Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-07-13T04:24:13.588034Z 01O 1594 | if (!n) { // # nocov start 2026-07-13T04:24:13.588034Z 01O | ^ 2026-07-13T04:24:13.588036Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-07-13T04:24:13.588037Z 01O 1600 | if (!s) { // # nocov start 2026-07-13T04:24:13.588037Z 01O | ^~ 2026-07-13T04:24:13.588037Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-07-13T04:24:13.588038Z 01O 1600 | if (!s) { // # nocov start 2026-07-13T04:24:13.588038Z 01O | ^ 2026-07-13T04:24:13.588040Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-07-13T04:24:13.588041Z 01O 1606 | if (!prev) { // # nocov start 2026-07-13T04:24:13.588042Z 01O | ^~~~~ 2026-07-13T04:24:13.588042Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-07-13T04:24:13.588042Z 01O 1606 | if (!prev) { // # nocov start 2026-07-13T04:24:13.588043Z 01O | ^ 2026-07-13T04:24:13.588045Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-07-13T04:24:13.588045Z 01O 1612 | if (!next) { // # nocov start 2026-07-13T04:24:13.588046Z 01O | ^~~~~ 2026-07-13T04:24:13.588046Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-07-13T04:24:13.588047Z 01O 1612 | if (!next) { // # nocov start 2026-07-13T04:24:13.588047Z 01O | ^ 2026-07-13T04:24:13.588049Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-07-13T04:24:13.588050Z 01O 1618 | if (verbose) 2026-07-13T04:24:13.588050Z 01O | ^~~~~~~ 2026-07-13T04:24:13.588050Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-07-13T04:24:13.588051Z 01O 1618 | if (verbose) 2026-07-13T04:24:13.588055Z 01O | ^ 2026-07-13T04:24:13.588084Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-07-13T04:24:13.588084Z 01O 1621 | for (int j=0; j= 'k' 2026-07-13T04:24:13.588126Z 01O 1358 | for (int i=0; i=0) { 2026-07-13T04:24:13.588216Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588217Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-07-13T04:24:13.588217Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.588218Z 01O | ^ 2026-07-13T04:24:13.588237Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-07-13T04:24:13.588238Z 01O 1567 | if (nx_mod_k) { 2026-07-13T04:24:13.588238Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588239Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-07-13T04:24:13.588239Z 01O 1567 | if (nx_mod_k) { 2026-07-13T04:24:13.588239Z 01O | ^ 2026-07-13T04:24:13.588242Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-07-13T04:24:13.588243Z 01O 1574 | bool even = !(k % 2); 2026-07-13T04:24:13.588243Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588244Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-07-13T04:24:13.588244Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-07-13T04:24:13.588245Z 01O | ^~~~ 2026-07-13T04:24:13.588247Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-07-13T04:24:13.588343Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-07-13T04:24:13.588344Z 01O 1579 | if (!o) { // # nocov start 2026-07-13T04:24:13.588344Z 01O | ^~ 2026-07-13T04:24:13.588345Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-07-13T04:24:13.588345Z 01O 1579 | if (!o) { // # nocov start 2026-07-13T04:24:13.588346Z 01O | ^ 2026-07-13T04:24:13.588354Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-07-13T04:24:13.588355Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-13T04:24:13.588355Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588362Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-07-13T04:24:13.588363Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-13T04:24:13.588364Z 01O | ^ 2026-07-13T04:24:13.588364Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-07-13T04:24:13.588365Z 01O 1588 | if (!m) { // # nocov start 2026-07-13T04:24:13.588365Z 01O | ^~ 2026-07-13T04:24:13.588367Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-07-13T04:24:13.588372Z 01O 1588 | if (!m) { // # nocov start 2026-07-13T04:24:13.588373Z 01O | ^ 2026-07-13T04:24:13.588373Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-07-13T04:24:13.588373Z 01O 1594 | if (!n) { // # nocov start 2026-07-13T04:24:13.588374Z 01O | ^~ 2026-07-13T04:24:13.588376Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-07-13T04:24:13.588377Z 01O 1594 | if (!n) { // # nocov start 2026-07-13T04:24:13.588377Z 01O | ^ 2026-07-13T04:24:13.588377Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-07-13T04:24:13.588378Z 01O 1600 | if (!s) { // # nocov start 2026-07-13T04:24:13.588378Z 01O | ^~ 2026-07-13T04:24:13.588380Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-07-13T04:24:13.588381Z 01O 1600 | if (!s) { // # nocov start 2026-07-13T04:24:13.588381Z 01O | ^ 2026-07-13T04:24:13.588382Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-07-13T04:24:13.588382Z 01O 1606 | if (!prev) { // # nocov start 2026-07-13T04:24:13.588383Z 01O | ^~~~~ 2026-07-13T04:24:13.588385Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-07-13T04:24:13.588385Z 01O 1606 | if (!prev) { // # nocov start 2026-07-13T04:24:13.588386Z 01O | ^ 2026-07-13T04:24:13.588386Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-07-13T04:24:13.588387Z 01O 1612 | if (!next) { // # nocov start 2026-07-13T04:24:13.588387Z 01O | ^~~~~ 2026-07-13T04:24:13.588389Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-07-13T04:24:13.588390Z 01O 1612 | if (!next) { // # nocov start 2026-07-13T04:24:13.588390Z 01O | ^ 2026-07-13T04:24:13.588390Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-07-13T04:24:13.588391Z 01O 1618 | if (verbose) 2026-07-13T04:24:13.588391Z 01O | ^~~~~~~ 2026-07-13T04:24:13.588393Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-07-13T04:24:13.588394Z 01O 1618 | if (verbose) 2026-07-13T04:24:13.588394Z 01O | ^ 2026-07-13T04:24:13.588396Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-07-13T04:24:13.588397Z 01O 1621 | for (int j=0; j= 'b' 2026-07-13T04:24:13.588490Z 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-13T04:24:13.588531Z 01O | ^~~ 2026-07-13T04:24:13.588531Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-07-13T04:24:13.588532Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.588532Z 01O 1633 | for (int i=0; i= 'm' 2026-07-13T04:24:13.588839Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-07-13T04:24:13.588840Z 01O | ^~~~~ 2026-07-13T04:24:13.588843Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-07-13T04:24:13.588844Z 01O 1393 | if (SMALL(i)) { 2026-07-13T04:24:13.588845Z 01O | ^ 2026-07-13T04:24:13.588847Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-07-13T04:24:13.588848Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-07-13T04:24:13.588848Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.588849Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-07-13T04:24:13.588854Z 01O 1393 | if (SMALL(i)) { 2026-07-13T04:24:13.588854Z 01O | ^ 2026-07-13T04:24:13.588856Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-07-13T04:24:13.588857Z 01O 1396 | if (m[0] == i) { 2026-07-13T04:24:13.588857Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.588858Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-07-13T04:24:13.588858Z 01O 1396 | if (m[0] == i) { 2026-07-13T04:24:13.588859Z 01O | ^ 2026-07-13T04:24:13.588865Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-07-13T04:24:13.588866Z 01O 1399 | if (s[0] > 0) { 2026-07-13T04:24:13.588866Z 01O | ^ 2026-07-13T04:24:13.588867Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-07-13T04:24:13.588867Z 01O 1400 | m[0] = prev[m[0]]; 2026-07-13T04:24:13.588868Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.588871Z 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-13T04:24:13.588871Z 01O 1471 | m[0] = prev[m[0]]; 2026-07-13T04:24:13.588872Z 01O | ^ 2026-07-13T04:24:13.588872Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.588873Z 01O 1506 | if (verbose) 2026-07-13T04:24:13.588873Z 01O | ^~~~~~~ 2026-07-13T04:24:13.588874Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-07-13T04:24:13.588874Z 01O 1506 | if (verbose) 2026-07-13T04:24:13.588874Z 01O | ^ 2026-07-13T04:24:13.588882Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-07-13T04:24:13.588882Z 01O 1508 | if (k == 0) { 2026-07-13T04:24:13.588883Z 01O | ^~~~~~ 2026-07-13T04:24:13.588883Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-07-13T04:24:13.588884Z 01O 1508 | if (k == 0) { 2026-07-13T04:24:13.588884Z 01O | ^ 2026-07-13T04:24:13.588886Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-07-13T04:24:13.588887Z 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-13T04:24:13.588887Z 01O | ^~~~~~ 2026-07-13T04:24:13.588888Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-07-13T04:24:13.588894Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-07-13T04:24:13.588895Z 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-13T04:24:13.588895Z 01O | ^~~~~~ 2026-07-13T04:24:13.588936Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-07-13T04:24:13.588937Z 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-13T04:24:13.588937Z 01O | ^ 2026-07-13T04:24:13.588938Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-07-13T04:24:13.588938Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.588939Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588939Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-07-13T04:24:13.588940Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.588940Z 01O | ^ 2026-07-13T04:24:13.588942Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-07-13T04:24:13.588943Z 01O 1567 | if (nx_mod_k) { 2026-07-13T04:24:13.588943Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588944Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-07-13T04:24:13.588944Z 01O 1567 | if (nx_mod_k) { 2026-07-13T04:24:13.588949Z 01O | ^ 2026-07-13T04:24:13.588952Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-07-13T04:24:13.588953Z 01O 1574 | bool even = !(k % 2); 2026-07-13T04:24:13.588953Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588954Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-07-13T04:24:13.588954Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-07-13T04:24:13.588954Z 01O | ^~~~ 2026-07-13T04:24:13.588955Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-07-13T04:24:13.588957Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-07-13T04:24:13.588958Z 01O 1579 | if (!o) { // # nocov start 2026-07-13T04:24:13.588958Z 01O | ^~ 2026-07-13T04:24:13.588958Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-07-13T04:24:13.588959Z 01O 1579 | if (!o) { // # nocov start 2026-07-13T04:24:13.588959Z 01O | ^ 2026-07-13T04:24:13.588965Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-07-13T04:24:13.588966Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-13T04:24:13.588967Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.588982Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-07-13T04:24:13.588982Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-07-13T04:24:13.588983Z 01O | ^ 2026-07-13T04:24:13.588983Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-07-13T04:24:13.588984Z 01O 1588 | if (!m) { // # nocov start 2026-07-13T04:24:13.588984Z 01O | ^~ 2026-07-13T04:24:13.588987Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-07-13T04:24:13.588987Z 01O 1588 | if (!m) { // # nocov start 2026-07-13T04:24:13.588988Z 01O | ^ 2026-07-13T04:24:13.588988Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-07-13T04:24:13.588989Z 01O 1594 | if (!n) { // # nocov start 2026-07-13T04:24:13.588989Z 01O | ^~ 2026-07-13T04:24:13.588989Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-07-13T04:24:13.588990Z 01O 1594 | if (!n) { // # nocov start 2026-07-13T04:24:13.588990Z 01O | ^ 2026-07-13T04:24:13.589029Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-07-13T04:24:13.589030Z 01O 1600 | if (!s) { // # nocov start 2026-07-13T04:24:13.589030Z 01O | ^~ 2026-07-13T04:24:13.589031Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-07-13T04:24:13.589031Z 01O 1600 | if (!s) { // # nocov start 2026-07-13T04:24:13.589032Z 01O | ^ 2026-07-13T04:24:13.589034Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-07-13T04:24:13.589034Z 01O 1606 | if (!prev) { // # nocov start 2026-07-13T04:24:13.589035Z 01O | ^~~~~ 2026-07-13T04:24:13.589035Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-07-13T04:24:13.589036Z 01O 1606 | if (!prev) { // # nocov start 2026-07-13T04:24:13.589036Z 01O | ^ 2026-07-13T04:24:13.589038Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-07-13T04:24:13.589039Z 01O 1612 | if (!next) { // # nocov start 2026-07-13T04:24:13.589039Z 01O | ^~~~~ 2026-07-13T04:24:13.589040Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-07-13T04:24:13.589040Z 01O 1612 | if (!next) { // # nocov start 2026-07-13T04:24:13.589041Z 01O | ^ 2026-07-13T04:24:13.589042Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-07-13T04:24:13.589043Z 01O 1618 | if (verbose) 2026-07-13T04:24:13.589048Z 01O | ^~~~~~~ 2026-07-13T04:24:13.589048Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-07-13T04:24:13.589049Z 01O 1618 | if (verbose) 2026-07-13T04:24:13.589049Z 01O | ^ 2026-07-13T04:24:13.589056Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-07-13T04:24:13.589057Z 01O 1621 | for (int j=0; j= 'b' 2026-07-13T04:24:13.589181Z 01O 1621 | for (int j=0; j= 'm' 2026-07-13T04:24:13.589439Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-07-13T04:24:13.589439Z 01O | ^~~~~ 2026-07-13T04:24:13.589440Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-07-13T04:24:13.589440Z 01O 1460 | if (SMALL(i)) { 2026-07-13T04:24:13.589441Z 01O | ^ 2026-07-13T04:24:13.589452Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-07-13T04:24:13.589452Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-07-13T04:24:13.589453Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.589453Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-07-13T04:24:13.589454Z 01O 1460 | if (SMALL(i)) { 2026-07-13T04:24:13.589454Z 01O | ^ 2026-07-13T04:24:13.589456Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-07-13T04:24:13.589457Z 01O 1463 | if (m[0] == i) { 2026-07-13T04:24:13.589457Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.589459Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-07-13T04:24:13.589459Z 01O 1463 | if (m[0] == i) { 2026-07-13T04:24:13.589460Z 01O | ^ 2026-07-13T04:24:13.589488Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-07-13T04:24:13.589489Z 01O 1467 | } else if (even && n[0] == i) { 2026-07-13T04:24:13.589489Z 01O | ^~~~ 2026-07-13T04:24:13.589490Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-07-13T04:24:13.589490Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-07-13T04:24:13.589491Z 01O 1467 | } else if (even && n[0] == i) { 2026-07-13T04:24:13.589491Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.589501Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-07-13T04:24:13.589501Z 01O 1467 | } else if (even && n[0] == i) { 2026-07-13T04:24:13.589502Z 01O | ^ 2026-07-13T04:24:13.589502Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-07-13T04:24:13.589503Z 01O 1470 | if (s[0] > 0) { 2026-07-13T04:24:13.589503Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.589510Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-07-13T04:24:13.589511Z 01O 1470 | if (s[0] > 0) { 2026-07-13T04:24:13.589511Z 01O | ^ 2026-07-13T04:24:13.589512Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-07-13T04:24:13.589512Z 01O 1471 | m[0] = prev[m[0]]; 2026-07-13T04:24:13.589513Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.589516Z 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-13T04:24:13.589517Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-07-13T04:24:13.589517Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.589518Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.589518Z 01O 1506 | if (verbose) 2026-07-13T04:24:13.589518Z 01O | ^~~~~~~ 2026-07-13T04:24:13.589519Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-07-13T04:24:13.589519Z 01O 1506 | if (verbose) 2026-07-13T04:24:13.589520Z 01O | ^ 2026-07-13T04:24:13.589535Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-07-13T04:24:13.589535Z 01O 1508 | if (k == 0) { 2026-07-13T04:24:13.589536Z 01O | ^~~~~~ 2026-07-13T04:24:13.589536Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-07-13T04:24:13.589537Z 01O 1508 | if (k == 0) { 2026-07-13T04:24:13.589537Z 01O | ^ 2026-07-13T04:24:13.589616Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-07-13T04:24:13.589616Z 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-13T04:24:13.589617Z 01O | ^~~~~~ 2026-07-13T04:24:13.589617Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-07-13T04:24:13.589620Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-07-13T04:24:13.589620Z 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-13T04:24:13.589621Z 01O | ^~~~~~ 2026-07-13T04:24:13.589624Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-07-13T04:24:13.589625Z 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-13T04:24:13.589625Z 01O | ^ 2026-07-13T04:24:13.589626Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-07-13T04:24:13.589626Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.589627Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.589627Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-07-13T04:24:13.589628Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.589628Z 01O | ^ 2026-07-13T04:24:13.589628Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-07-13T04:24:13.589629Z 01O 1549 | for (uint64_t i=0; i= 0 2026-07-13T04:24:13.589744Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.589744Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.589745Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-07-13T04:24:13.589745Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.589746Z 01O | ^ 2026-07-13T04:24:13.589748Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-07-13T04:24:13.589749Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-07-13T04:24:13.589861Z 01O 1549 | for (uint64_t i=0; i= 0 2026-07-13T04:24:13.590235Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.590235Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.590236Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-07-13T04:24:13.590236Z 01O 1548 | if (hasnf>=0) { 2026-07-13T04:24:13.590236Z 01O | ^ 2026-07-13T04:24:13.590239Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-07-13T04:24:13.590239Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-07-13T04:24:13.590280Z 01O 1549 | for (uint64_t i=0; i 0 2026-07-13T04:24:13.590770Z 01O 541 | bool truehasnf = hasnf>0; 2026-07-13T04:24:13.590770Z 01O | ^~~~~~~ 2026-07-13T04:24:13.590772Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-07-13T04:24:13.590772Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-07-13T04:24:13.590785Z 01O 542 | for (uint64_t i=0; i 0 2026-07-13T04:24:13.590969Z 01O 616 | bool truehasnf = hasnf>0; 2026-07-13T04:24:13.590970Z 01O | ^~~~~~~ 2026-07-13T04:24:13.590993Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-07-13T04:24:13.590994Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-07-13T04:24:13.591041Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-07-13T04:24:13.591213Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-07-13T04:24:13.591453Z 01O | ^ 2026-07-13T04:24:13.591455Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-07-13T04:24:13.591456Z 01O 888 | if (i+1 == ik) { 2026-07-13T04:24:13.591456Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.591457Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-07-13T04:24:13.591457Z 01O 888 | if (i+1 == ik) { 2026-07-13T04:24:13.591458Z 01O | ^ 2026-07-13T04:24:13.591460Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-07-13T04:24:13.591460Z 01O 890 | } else if (i+1 < ik) { 2026-07-13T04:24:13.591461Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.591461Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-07-13T04:24:13.591462Z 01O 890 | } else if (i+1 < ik) { 2026-07-13T04:24:13.591462Z 01O | ^ 2026-07-13T04:24:13.591465Z 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-13T04:24:13.591466Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-07-13T04:24:13.591466Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.591467Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-07-13T04:24:13.591467Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-07-13T04:24:13.591468Z 01O | ^ 2026-07-13T04:24:13.591475Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-07-13T04:24:13.591475Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-07-13T04:24:13.591479Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.591480Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-07-13T04:24:13.591480Z 01O 998 | if (!nc) { // total NA for x 2026-07-13T04:24:13.591481Z 01O | ^~ 2026-07-13T04:24:13.591483Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-07-13T04:24:13.591484Z 01O 998 | if (!nc) { // total NA for x 2026-07-13T04:24:13.591484Z 01O | ^ 2026-07-13T04:24:13.591485Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.591485Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-07-13T04:24:13.591826Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-07-13T04:24:13.591957Z 01O | ^~~~~~~ 2026-07-13T04:24:13.591997Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-07-13T04:24:13.591998Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-07-13T04:24:13.592003Z 01O | ^ 2026-07-13T04:24:13.592003Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-07-13T04:24:13.592004Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-07-13T04:24:13.592004Z 01O | ^ 2026-07-13T04:24:13.592007Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-07-13T04:24:13.592008Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-13T04:24:13.592009Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.592009Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-07-13T04:24:13.592009Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-07-13T04:24:13.592010Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-13T04:24:13.592010Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.592012Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-07-13T04:24:13.592013Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-13T04:24:13.592013Z 01O | ^ 2026-07-13T04:24:13.592069Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-07-13T04:24:13.592070Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-13T04:24:13.592070Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592074Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-07-13T04:24:13.592075Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-07-13T04:24:13.592075Z 01O | ^ 2026-07-13T04:24:13.592075Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-07-13T04:24:13.592076Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-07-13T04:24:13.592118Z 01O | ^~~~~~~ 2026-07-13T04:24:13.592129Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-07-13T04:24:13.592130Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-07-13T04:24:13.592134Z 01O | ^ 2026-07-13T04:24:13.592135Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-07-13T04:24:13.592135Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-07-13T04:24:13.592136Z 01O | ^ 2026-07-13T04:24:13.592136Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-07-13T04:24:13.592137Z 01O 122 | if (!counts || !TMP ) { 2026-07-13T04:24:13.592137Z 01O | ^~~~~~~ 2026-07-13T04:24:13.592138Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-07-13T04:24:13.592138Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-07-13T04:24:13.592139Z 01O 122 | if (!counts || !TMP ) { 2026-07-13T04:24:13.592139Z 01O | ^~~~ 2026-07-13T04:24:13.592139Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-07-13T04:24:13.592140Z 01O 122 | if (!counts || !TMP ) { 2026-07-13T04:24:13.592140Z 01O | ^ 2026-07-13T04:24:13.592148Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-07-13T04:24:13.592148Z 01O 127 | for (int b=0; b= 'howMany' 2026-07-13T04:24:13.592245Z 01O 131 | for (int i=0; i= 'highSize' 2026-07-13T04:24:13.592257Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-07-13T04:24:13.592388Z 01O | ^ 2026-07-13T04:24:13.592389Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-07-13T04:24:13.592389Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-07-13T04:24:13.592390Z 01O | ^ ~ 2026-07-13T04:24:13.592392Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-07-13T04:24:13.592393Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-07-13T04:24:13.592393Z 01O | ^ ~ 2026-07-13T04:24:13.592394Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-13T04:24:13.592395Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592395Z 01O | ^ 2026-07-13T04:24:13.592421Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592422Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592422Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592423Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-13T04:24:13.592423Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592424Z 01O | ^ 2026-07-13T04:24:13.592458Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592459Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592460Z 01O | ^ 2026-07-13T04:24:13.592460Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-13T04:24:13.592461Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592461Z 01O | ^ 2026-07-13T04:24:13.592465Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592466Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592467Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.592467Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-13T04:24:13.592472Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592472Z 01O | ^ 2026-07-13T04:24:13.592511Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592511Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592512Z 01O | ^ 2026-07-13T04:24:13.592513Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-13T04:24:13.592513Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592514Z 01O | ^ 2026-07-13T04:24:13.592517Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592517Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592518Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592519Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-07-13T04:24:13.592519Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592520Z 01O | ^ 2026-07-13T04:24:13.592522Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-07-13T04:24:13.592523Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-13T04:24:13.592523Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592524Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-07-13T04:24:13.592524Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-13T04:24:13.592524Z 01O | ^ 2026-07-13T04:24:13.592545Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-07-13T04:24:13.592545Z 01O 1122 | if (inherits(x, "factor")) 2026-07-13T04:24:13.592546Z 01O | ^ 2026-07-13T04:24:13.592546Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-07-13T04:24:13.592547Z 01O 933 | #define inherits Rf_inherits 2026-07-13T04:24:13.592547Z 01O | ^ 2026-07-13T04:24:13.592548Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-07-13T04:24:13.592548Z 01O 1122 | if (inherits(x, "factor")) 2026-07-13T04:24:13.592549Z 01O | ^ 2026-07-13T04:24:13.592549Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-07-13T04:24:13.592550Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-07-13T04:24:13.592550Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.592553Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-07-13T04:24:13.592554Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-07-13T04:24:13.592554Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.592555Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-07-13T04:24:13.592587Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-07-13T04:24:13.592588Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-13T04:24:13.592592Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.592596Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-07-13T04:24:13.592597Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-13T04:24:13.592597Z 01O | ^ 2026-07-13T04:24:13.592597Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-07-13T04:24:13.592598Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-07-13T04:24:13.592598Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592601Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-07-13T04:24:13.592608Z 01O 1129 | if (!s) 2026-07-13T04:24:13.592608Z 01O | ^~ 2026-07-13T04:24:13.592608Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-07-13T04:24:13.592609Z 01O 1129 | if (!s) 2026-07-13T04:24:13.592609Z 01O | ^ 2026-07-13T04:24:13.592618Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-07-13T04:24:13.592619Z 01O 1131 | for (int i=0; i= 'n' 2026-07-13T04:24:13.592626Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-07-13T04:24:13.592675Z 01O | ^ 2026-07-13T04:24:13.592676Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-07-13T04:24:13.592676Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-07-13T04:24:13.592677Z 01O | ^ ~ 2026-07-13T04:24:13.592716Z 01O /usr/include/math.h:980:20: note: expanded from macro 'isnan' 2026-07-13T04:24:13.592717Z 01O 980 | # define isnan(x) __builtin_isnan (x) 2026-07-13T04:24:13.592718Z 01O | ^ ~ 2026-07-13T04:24:13.592721Z 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-13T04:24:13.592726Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-07-13T04:24:13.592727Z 01O | ~~~~ ^ 2026-07-13T04:24:13.592727Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-13T04:24:13.592728Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592728Z 01O | ^ 2026-07-13T04:24:13.592737Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592738Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592738Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592739Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-13T04:24:13.592739Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592740Z 01O | ^ 2026-07-13T04:24:13.592743Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592744Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592744Z 01O | ^ 2026-07-13T04:24:13.592745Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-13T04:24:13.592745Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592746Z 01O | ^ 2026-07-13T04:24:13.592758Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592759Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592760Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.592760Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-07-13T04:24:13.592761Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592761Z 01O | ^ 2026-07-13T04:24:13.592809Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592809Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592810Z 01O | ^ 2026-07-13T04:24:13.592812Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-07-13T04:24:13.592813Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592814Z 01O | ^ 2026-07-13T04:24:13.592818Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.592818Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.592819Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592820Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-07-13T04:24:13.592820Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-07-13T04:24:13.592821Z 01O | ^ 2026-07-13T04:24:13.592821Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-07-13T04:24:13.592821Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-13T04:24:13.592822Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592822Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-07-13T04:24:13.592823Z 01O 1120 | if (!isVectorAtomic(x)) 2026-07-13T04:24:13.592823Z 01O | ^ 2026-07-13T04:24:13.592890Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-07-13T04:24:13.592891Z 01O 1122 | if (inherits(x, "factor")) 2026-07-13T04:24:13.592891Z 01O | ^ 2026-07-13T04:24:13.592896Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-07-13T04:24:13.592897Z 01O 933 | #define inherits Rf_inherits 2026-07-13T04:24:13.592897Z 01O | ^ 2026-07-13T04:24:13.592900Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-07-13T04:24:13.592901Z 01O 1122 | if (inherits(x, "factor")) 2026-07-13T04:24:13.592901Z 01O | ^ 2026-07-13T04:24:13.592902Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-07-13T04:24:13.592902Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-07-13T04:24:13.592903Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.592912Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-07-13T04:24:13.592913Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-07-13T04:24:13.592913Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.592914Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-07-13T04:24:13.592914Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-07-13T04:24:13.592915Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-13T04:24:13.592915Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.592916Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-07-13T04:24:13.592916Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-07-13T04:24:13.592917Z 01O | ^ 2026-07-13T04:24:13.592919Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-07-13T04:24:13.592920Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-07-13T04:24:13.592920Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.592924Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-07-13T04:24:13.592925Z 01O 1129 | if (!s) 2026-07-13T04:24:13.592925Z 01O | ^~ 2026-07-13T04:24:13.592926Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-07-13T04:24:13.592926Z 01O 1129 | if (!s) 2026-07-13T04:24:13.592927Z 01O | ^ 2026-07-13T04:24:13.592927Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-07-13T04:24:13.592927Z 01O 1131 | for (int i=0; i= 'n' 2026-07-13T04:24:13.592938Z 01O 1135 | for (int i=0; i' is a garbage value 2026-07-13T04:24:13.592977Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-07-13T04:24:13.592978Z 01O | ~~~~ ^ 2026-07-13T04:24:13.593024Z 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-13T04:24:13.593025Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-07-13T04:24:13.593026Z 01O | ^ 2026-07-13T04:24:13.593026Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-07-13T04:24:13.593027Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-07-13T04:24:13.593027Z 01O | ^ 2026-07-13T04:24:13.593030Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-07-13T04:24:13.593030Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-07-13T04:24:13.593031Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.593031Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-07-13T04:24:13.593032Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-07-13T04:24:13.593032Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593033Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-07-13T04:24:13.593033Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-07-13T04:24:13.593034Z 01O | ^ 2026-07-13T04:24:13.593061Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-07-13T04:24:13.593062Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-07-13T04:24:13.593062Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593063Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-07-13T04:24:13.593063Z 01O 54 | if (!ret) 2026-07-13T04:24:13.593064Z 01O | ^~~~ 2026-07-13T04:24:13.593064Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-07-13T04:24:13.593065Z 01O 54 | if (!ret) 2026-07-13T04:24:13.593065Z 01O | ^ 2026-07-13T04:24:13.593067Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-07-13T04:24:13.593068Z 01O 59 | if (!table) { 2026-07-13T04:24:13.593068Z 01O | ^~~~~~ 2026-07-13T04:24:13.593068Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-07-13T04:24:13.593069Z 01O 59 | if (!table) { 2026-07-13T04:24:13.593069Z 01O | ^ 2026-07-13T04:24:13.593071Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-07-13T04:24:13.593072Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-07-13T04:24:13.593076Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593077Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-07-13T04:24:13.593078Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-07-13T04:24:13.593078Z 01O | ^ 2026-07-13T04:24:13.593090Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-07-13T04:24:13.593090Z 01O 71 | ret->shift = HASH_BITS - k; 2026-07-13T04:24:13.593091Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593091Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-07-13T04:24:13.593092Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-07-13T04:24:13.593092Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593093Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-07-13T04:24:13.593093Z 01O 133 | if (!new_h) return NULL; 2026-07-13T04:24:13.593094Z 01O | ^~~~~ 2026-07-13T04:24:13.593131Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-07-13T04:24:13.593132Z 01O 133 | if (!new_h) return NULL; 2026-07-13T04:24:13.593132Z 01O | ^ 2026-07-13T04:24:13.593133Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-07-13T04:24:13.593133Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-07-13T04:24:13.593134Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.593136Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.593137Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-07-13T04:24:13.593137Z 01O | ^ 2026-07-13T04:24:13.593138Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-07-13T04:24:13.593138Z 01O 138 | if (h->table[i].key) 2026-07-13T04:24:13.593139Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593140Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-07-13T04:24:13.593141Z 01O 138 | if (h->table[i].key) 2026-07-13T04:24:13.593141Z 01O | ^ 2026-07-13T04:24:13.593144Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-07-13T04:24:13.593145Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-07-13T04:24:13.593145Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593146Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-07-13T04:24:13.593146Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-07-13T04:24:13.593147Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.593187Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-07-13T04:24:13.593188Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-07-13T04:24:13.593189Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593189Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-07-13T04:24:13.593190Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-07-13T04:24:13.593190Z 01O | ^ 2026-07-13T04:24:13.593193Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-07-13T04:24:13.593194Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-07-13T04:24:13.593194Z 01O | ^ 2026-07-13T04:24:13.593197Z 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-13T04:24:13.593198Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-07-13T04:24:13.593202Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-07-13T04:24:13.593248Z 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-13T04:24:13.593249Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-07-13T04:24:13.593249Z 01O | ^ 2026-07-13T04:24:13.593250Z 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-13T04:24:13.593253Z 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-13T04:24:13.593254Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-07-13T04:24:13.593255Z 01O | ^ 2026-07-13T04:24:13.593255Z 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-13T04:24:13.593281Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-07-13T04:24:13.593282Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-07-13T04:24:13.593282Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593283Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-07-13T04:24:13.593283Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-07-13T04:24:13.593284Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593327Z 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-13T04:24:13.593327Z 01O 10 | ans->dbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-07-13T04:24:13.593328Z 01O | ^ 2026-07-13T04:24:13.593328Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.593329Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.593329Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.593341Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.593342Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.593342Z 01O | ^ 2026-07-13T04:24:13.593342Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.593343Z 01O 128 | if (verbose) 2026-07-13T04:24:13.593343Z 01O | ^~~~~~~ 2026-07-13T04:24:13.593344Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.593344Z 01O 128 | if (verbose) 2026-07-13T04:24:13.593345Z 01O | ^ 2026-07-13T04:24:13.593345Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.593345Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.593346Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593346Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.593347Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593347Z 01O | ^ 2026-07-13T04:24:13.593374Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593375Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593381Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593382Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.593382Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593383Z 01O | ^ 2026-07-13T04:24:13.593399Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593400Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593400Z 01O | ^ 2026-07-13T04:24:13.593401Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.593401Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593402Z 01O | ^ 2026-07-13T04:24:13.593406Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593406Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593407Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.593407Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.593408Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593408Z 01O | ^ 2026-07-13T04:24:13.593435Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593435Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593436Z 01O | ^ 2026-07-13T04:24:13.593436Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.593437Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593437Z 01O | ^ 2026-07-13T04:24:13.593440Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593441Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593442Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593442Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.593443Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593443Z 01O | ^ 2026-07-13T04:24:13.593469Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.593469Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.593470Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.593470Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.593471Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.593471Z 01O | ^ 2026-07-13T04:24:13.593474Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.593474Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.593600Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNAN(x[i]) ? fill : x[i]; 2026-07-13T04:24:13.593832Z 01O | ^ 2026-07-13T04:24:13.593837Z 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-13T04:24:13.593838Z 01O 14 | ans->dbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-07-13T04:24:13.593839Z 01O | ^ 2026-07-13T04:24:13.593839Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.593840Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.593841Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.593865Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.593866Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.593866Z 01O | ^ 2026-07-13T04:24:13.593866Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.593867Z 01O 128 | if (verbose) 2026-07-13T04:24:13.593867Z 01O | ^~~~~~~ 2026-07-13T04:24:13.593868Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.593873Z 01O 128 | if (verbose) 2026-07-13T04:24:13.593873Z 01O | ^ 2026-07-13T04:24:13.593873Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.593874Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.593874Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593885Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.593885Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593886Z 01O | ^ 2026-07-13T04:24:13.593890Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593891Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593891Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593892Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.593892Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593893Z 01O | ^ 2026-07-13T04:24:13.593912Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593913Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593913Z 01O | ^ 2026-07-13T04:24:13.593916Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.593916Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593917Z 01O | ^ 2026-07-13T04:24:13.593958Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593959Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593960Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.593960Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.593961Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593961Z 01O | ^ 2026-07-13T04:24:13.593964Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593965Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593965Z 01O | ^ 2026-07-13T04:24:13.593966Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.593966Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593967Z 01O | ^ 2026-07-13T04:24:13.593988Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.593989Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.593989Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.593990Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.593990Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.593991Z 01O | ^ 2026-07-13T04:24:13.593993Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.593993Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.593994Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.593995Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.593996Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.594000Z 01O | ^ 2026-07-13T04:24:13.594003Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.594003Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.594080Z 01O 167 | for (R_len_t i=0; idbl_v[i] = ISNA(x[i]) ? fill : x[i]; 2026-07-13T04:24:13.594426Z 01O | ^ 2026-07-13T04:24:13.594426Z 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-13T04:24:13.594431Z 01O 19 | ans->dbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-07-13T04:24:13.594432Z 01O | ^ 2026-07-13T04:24:13.594434Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.594435Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.594435Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.594436Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.594436Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.594437Z 01O | ^ 2026-07-13T04:24:13.594443Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.594444Z 01O 128 | if (verbose) 2026-07-13T04:24:13.594445Z 01O | ^~~~~~~ 2026-07-13T04:24:13.594445Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.594445Z 01O 128 | if (verbose) 2026-07-13T04:24:13.594446Z 01O | ^ 2026-07-13T04:24:13.594448Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.594449Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.594449Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.594450Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.594450Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594451Z 01O | ^ 2026-07-13T04:24:13.594455Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594456Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594456Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.594457Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.594457Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594458Z 01O | ^ 2026-07-13T04:24:13.594461Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594461Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594462Z 01O | ^ 2026-07-13T04:24:13.594462Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.594463Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594463Z 01O | ^ 2026-07-13T04:24:13.594467Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594468Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594468Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.594469Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.594470Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594470Z 01O | ^ 2026-07-13T04:24:13.594478Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594479Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594479Z 01O | ^ 2026-07-13T04:24:13.594480Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.594480Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594481Z 01O | ^ 2026-07-13T04:24:13.594484Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594489Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594490Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.594490Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.594491Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594491Z 01O | ^ 2026-07-13T04:24:13.594491Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.594499Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.594499Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.594500Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.594500Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.594501Z 01O | ^ 2026-07-13T04:24:13.594509Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.594509Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.594583Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNAN(x[0]) ? fill : x[0]; 2026-07-13T04:24:13.594853Z 01O | ^ 2026-07-13T04:24:13.594864Z 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-13T04:24:13.594865Z 01O 24 | ans->dbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-07-13T04:24:13.594865Z 01O | ^ 2026-07-13T04:24:13.594866Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.594866Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.594867Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.594922Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.594923Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.594923Z 01O | ^ 2026-07-13T04:24:13.594924Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.594924Z 01O 128 | if (verbose) 2026-07-13T04:24:13.594925Z 01O | ^~~~~~~ 2026-07-13T04:24:13.594925Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.594926Z 01O 128 | if (verbose) 2026-07-13T04:24:13.594926Z 01O | ^ 2026-07-13T04:24:13.594928Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.594929Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.594930Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.594930Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.594931Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594931Z 01O | ^ 2026-07-13T04:24:13.594935Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594936Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594937Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.594937Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.594938Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594938Z 01O | ^ 2026-07-13T04:24:13.594946Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.594946Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.594947Z 01O | ^ 2026-07-13T04:24:13.594947Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.594948Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.594953Z 01O | ^ 2026-07-13T04:24:13.595025Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595026Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595026Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.595027Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.595028Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595028Z 01O | ^ 2026-07-13T04:24:13.595028Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595029Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595030Z 01O | ^ 2026-07-13T04:24:13.595030Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.595030Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595031Z 01O | ^ 2026-07-13T04:24:13.595033Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595034Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595035Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.595037Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.595038Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595038Z 01O | ^ 2026-07-13T04:24:13.595039Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.595039Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.595040Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.595041Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.595042Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.595042Z 01O | ^ 2026-07-13T04:24:13.595045Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.595046Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.595095Z 01O 167 | for (R_len_t i=0; idbl_v[0] = ISNA(x[0]) ? fill : x[0]; 2026-07-13T04:24:13.595378Z 01O | ^ 2026-07-13T04:24:13.595413Z 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-13T04:24:13.595414Z 01O 31 | ans->dbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-07-13T04:24:13.595414Z 01O | ^ 2026-07-13T04:24:13.595415Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.595415Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.595416Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.595418Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.595419Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.595419Z 01O | ^ 2026-07-13T04:24:13.595420Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.595420Z 01O 128 | if (verbose) 2026-07-13T04:24:13.595420Z 01O | ^~~~~~~ 2026-07-13T04:24:13.595423Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.595423Z 01O 128 | if (verbose) 2026-07-13T04:24:13.595424Z 01O | ^ 2026-07-13T04:24:13.595424Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.595425Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.595429Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.595432Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.595432Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595433Z 01O | ^ 2026-07-13T04:24:13.595461Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595461Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595462Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.595462Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.595463Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595463Z 01O | ^ 2026-07-13T04:24:13.595466Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595466Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595467Z 01O | ^ 2026-07-13T04:24:13.595469Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.595470Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595470Z 01O | ^ 2026-07-13T04:24:13.595514Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595514Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595515Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.595515Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.595516Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595516Z 01O | ^ 2026-07-13T04:24:13.595520Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595520Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595521Z 01O | ^ 2026-07-13T04:24:13.595521Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.595522Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595522Z 01O | ^ 2026-07-13T04:24:13.595525Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595526Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595526Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.595527Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.595528Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595528Z 01O | ^ 2026-07-13T04:24:13.595547Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.595548Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.595548Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.595549Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.595549Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.595550Z 01O | ^ 2026-07-13T04:24:13.595553Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.595554Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.595619Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNAN(x[nx-1]) ? fill : x[nx-1]; 2026-07-13T04:24:13.595938Z 01O | ^ 2026-07-13T04:24:13.595949Z 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-13T04:24:13.595950Z 01O 36 | ans->dbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-07-13T04:24:13.595950Z 01O | ^ 2026-07-13T04:24:13.595951Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.595951Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.595952Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.595952Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.595953Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.595953Z 01O | ^ 2026-07-13T04:24:13.595953Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.595954Z 01O 128 | if (verbose) 2026-07-13T04:24:13.595954Z 01O | ^~~~~~~ 2026-07-13T04:24:13.595955Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.595955Z 01O 128 | if (verbose) 2026-07-13T04:24:13.595956Z 01O | ^ 2026-07-13T04:24:13.595958Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.595959Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.595959Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.595960Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.595960Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595961Z 01O | ^ 2026-07-13T04:24:13.595969Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.595970Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.595970Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.595971Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.595971Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.595972Z 01O | ^ 2026-07-13T04:24:13.596004Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596005Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596005Z 01O | ^ 2026-07-13T04:24:13.596006Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.596006Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596007Z 01O | ^ 2026-07-13T04:24:13.596011Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596016Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596016Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.596017Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.596017Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596018Z 01O | ^ 2026-07-13T04:24:13.596025Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596026Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596026Z 01O | ^ 2026-07-13T04:24:13.596040Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.596041Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596041Z 01O | ^ 2026-07-13T04:24:13.596044Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596045Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596046Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.596046Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.596047Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596047Z 01O | ^ 2026-07-13T04:24:13.596084Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.596085Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.596085Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.596087Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.596088Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.596088Z 01O | ^ 2026-07-13T04:24:13.596090Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.596091Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.596170Z 01O 167 | for (R_len_t i=0; idbl_v[nx-1] = ISNA(x[nx-1]) ? fill : x[nx-1]; 2026-07-13T04:24:13.596465Z 01O | ^ 2026-07-13T04:24:13.596466Z 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-13T04:24:13.596467Z 01O 73 | ans->int64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-07-13T04:24:13.596467Z 01O | ^ 2026-07-13T04:24:13.596470Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.596470Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.596471Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.596477Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.596477Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.596478Z 01O | ^ 2026-07-13T04:24:13.596480Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.596481Z 01O 128 | if (verbose) 2026-07-13T04:24:13.596481Z 01O | ^~~~~~~ 2026-07-13T04:24:13.596482Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.596482Z 01O 128 | if (verbose) 2026-07-13T04:24:13.596482Z 01O | ^ 2026-07-13T04:24:13.596490Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.596491Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.596491Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.596499Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.596499Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596500Z 01O | ^ 2026-07-13T04:24:13.596504Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596505Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596505Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.596506Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.596507Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596507Z 01O | ^ 2026-07-13T04:24:13.596544Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596545Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596546Z 01O | ^ 2026-07-13T04:24:13.596546Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.596547Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596547Z 01O | ^ 2026-07-13T04:24:13.596551Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596552Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596552Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.596553Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.596553Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596554Z 01O | ^ 2026-07-13T04:24:13.596556Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596557Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596558Z 01O | ^ 2026-07-13T04:24:13.596558Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.596559Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596559Z 01O | ^ 2026-07-13T04:24:13.596567Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.596567Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.596568Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.596568Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.596569Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596576Z 01O | ^ 2026-07-13T04:24:13.596596Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.596596Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.596597Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.596597Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.596598Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.596598Z 01O | ^ 2026-07-13T04:24:13.596605Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.596606Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.596671Z 01O 167 | for (R_len_t i=0; iint64_v[i] = x[i]==NA_INTEGER64 ? fill : x[i]; 2026-07-13T04:24:13.596935Z 01O | ^ 2026-07-13T04:24:13.596935Z 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-13T04:24:13.596941Z 01O 76 | ans->int64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-07-13T04:24:13.596942Z 01O | ^ 2026-07-13T04:24:13.596942Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.596943Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.596943Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.596944Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.596944Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.596945Z 01O | ^ 2026-07-13T04:24:13.596951Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.596952Z 01O 128 | if (verbose) 2026-07-13T04:24:13.596953Z 01O | ^~~~~~~ 2026-07-13T04:24:13.596953Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.596953Z 01O 128 | if (verbose) 2026-07-13T04:24:13.596954Z 01O | ^ 2026-07-13T04:24:13.596956Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.596957Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.596957Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.596958Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.596958Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.596959Z 01O | ^ 2026-07-13T04:24:13.597041Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597042Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597042Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597043Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.597043Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597044Z 01O | ^ 2026-07-13T04:24:13.597047Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597047Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597048Z 01O | ^ 2026-07-13T04:24:13.597048Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.597049Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597049Z 01O | ^ 2026-07-13T04:24:13.597053Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597054Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597054Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.597055Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.597055Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597056Z 01O | ^ 2026-07-13T04:24:13.597058Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597059Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597059Z 01O | ^ 2026-07-13T04:24:13.597062Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.597062Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597063Z 01O | ^ 2026-07-13T04:24:13.597081Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597086Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597087Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597087Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.597088Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597088Z 01O | ^ 2026-07-13T04:24:13.597091Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.597092Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.597092Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.597093Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.597093Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.597094Z 01O | ^ 2026-07-13T04:24:13.597094Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.597095Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.597153Z 01O 167 | for (R_len_t i=0; iint64_v[0] = x[0]==NA_INTEGER64 ? fill : x[0]; 2026-07-13T04:24:13.597439Z 01O | ^ 2026-07-13T04:24:13.597439Z 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-13T04:24:13.597440Z 01O 81 | ans->int64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-07-13T04:24:13.597440Z 01O | ^ 2026-07-13T04:24:13.597448Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.597449Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.597449Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.597450Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.597450Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.597450Z 01O | ^ 2026-07-13T04:24:13.597451Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.597451Z 01O 128 | if (verbose) 2026-07-13T04:24:13.597452Z 01O | ^~~~~~~ 2026-07-13T04:24:13.597452Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.597453Z 01O 128 | if (verbose) 2026-07-13T04:24:13.597453Z 01O | ^ 2026-07-13T04:24:13.597455Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.597455Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.597456Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597458Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.597459Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597459Z 01O | ^ 2026-07-13T04:24:13.597464Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597464Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597465Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597465Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.597466Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597466Z 01O | ^ 2026-07-13T04:24:13.597486Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597487Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597487Z 01O | ^ 2026-07-13T04:24:13.597488Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.597488Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597489Z 01O | ^ 2026-07-13T04:24:13.597516Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597517Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597524Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.597524Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.597525Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597525Z 01O | ^ 2026-07-13T04:24:13.597528Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597529Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597530Z 01O | ^ 2026-07-13T04:24:13.597530Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.597531Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597531Z 01O | ^ 2026-07-13T04:24:13.597552Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597552Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597553Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597554Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.597554Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597555Z 01O | ^ 2026-07-13T04:24:13.597557Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.597558Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.597558Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.597558Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.597559Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.597559Z 01O | ^ 2026-07-13T04:24:13.597562Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.597562Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.597664Z 01O 167 | for (R_len_t i=0; iint64_v[nx-1] = x[nx-1]==NA_INTEGER64 ? fill : x[nx-1]; 2026-07-13T04:24:13.597927Z 01O | ^ 2026-07-13T04:24:13.597927Z 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-13T04:24:13.597928Z 01O 96 | SET_STRING_ELT(ans->char_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-07-13T04:24:13.597929Z 01O | ^ 2026-07-13T04:24:13.597940Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.597941Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.597941Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.597942Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.597942Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.597943Z 01O | ^ 2026-07-13T04:24:13.597943Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.597944Z 01O 128 | if (verbose) 2026-07-13T04:24:13.597944Z 01O | ^~~~~~~ 2026-07-13T04:24:13.597949Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.597950Z 01O 128 | if (verbose) 2026-07-13T04:24:13.597950Z 01O | ^ 2026-07-13T04:24:13.597982Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.597983Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.597984Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597984Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.597985Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597985Z 01O | ^ 2026-07-13T04:24:13.597989Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.597990Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.597990Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.597991Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.597991Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.597992Z 01O | ^ 2026-07-13T04:24:13.597999Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598000Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598000Z 01O | ^ 2026-07-13T04:24:13.598001Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598001Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598002Z 01O | ^ 2026-07-13T04:24:13.598020Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598021Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598022Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.598022Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.598023Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598023Z 01O | ^ 2026-07-13T04:24:13.598068Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598069Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598070Z 01O | ^ 2026-07-13T04:24:13.598072Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598073Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598073Z 01O | ^ 2026-07-13T04:24:13.598075Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598076Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598077Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.598079Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.598080Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598080Z 01O | ^ 2026-07-13T04:24:13.598081Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.598081Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.598082Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.598102Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.598103Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.598108Z 01O | ^ 2026-07-13T04:24:13.598108Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.598109Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.598153Z 01O 167 | for (R_len_t i=0; ichar_v, i, x[i]==NA_STRING ? fill : x[i]); 2026-07-13T04:24:13.598419Z 01O | ^ 2026-07-13T04:24:13.598425Z 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-13T04:24:13.598426Z 01O 99 | SET_STRING_ELT(ans->char_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-07-13T04:24:13.598426Z 01O | ^ 2026-07-13T04:24:13.598427Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.598427Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.598427Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.598435Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.598435Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.598436Z 01O | ^ 2026-07-13T04:24:13.598436Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.598437Z 01O 128 | if (verbose) 2026-07-13T04:24:13.598442Z 01O | ^~~~~~~ 2026-07-13T04:24:13.598442Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.598443Z 01O 128 | if (verbose) 2026-07-13T04:24:13.598443Z 01O | ^ 2026-07-13T04:24:13.598446Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.598446Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.598447Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.598447Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598448Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598448Z 01O | ^ 2026-07-13T04:24:13.598466Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598467Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598467Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.598468Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.598468Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598469Z 01O | ^ 2026-07-13T04:24:13.598472Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598472Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598473Z 01O | ^ 2026-07-13T04:24:13.598473Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598474Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598474Z 01O | ^ 2026-07-13T04:24:13.598502Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598502Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598503Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.598503Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.598504Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598504Z 01O | ^ 2026-07-13T04:24:13.598513Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598513Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598514Z 01O | ^ 2026-07-13T04:24:13.598514Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598515Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598515Z 01O | ^ 2026-07-13T04:24:13.598526Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598526Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598527Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.598528Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.598528Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598529Z 01O | ^ 2026-07-13T04:24:13.598529Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.598529Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.598530Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.598586Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.598596Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.598597Z 01O | ^ 2026-07-13T04:24:13.598597Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.598598Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.598674Z 01O 167 | for (R_len_t i=0; ichar_v, 0, x[0]==NA_STRING ? fill : x[0]); 2026-07-13T04:24:13.598916Z 01O | ^ 2026-07-13T04:24:13.598925Z 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-13T04:24:13.598926Z 01O 105 | SET_STRING_ELT(ans->char_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-07-13T04:24:13.598927Z 01O | ^ 2026-07-13T04:24:13.598931Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:7: note: Assuming the condition is false 2026-07-13T04:24:13.598932Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.598932Z 01O | ^~~~~~~~~~~~~ 2026-07-13T04:24:13.598933Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:3: note: Taking false branch 2026-07-13T04:24:13.598933Z 01O 124 | if (!xlength(obj)) 2026-07-13T04:24:13.598934Z 01O | ^ 2026-07-13T04:24:13.598934Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:7: note: Assuming 'verbose' is false 2026-07-13T04:24:13.598934Z 01O 128 | if (verbose) 2026-07-13T04:24:13.598935Z 01O | ^~~~~~~ 2026-07-13T04:24:13.598937Z 01O /builds/Rdatatable/data.table/src/nafill.c:128:3: note: Taking false branch 2026-07-13T04:24:13.598938Z 01O 128 | if (verbose) 2026-07-13T04:24:13.598938Z 01O | ^ 2026-07-13T04:24:13.598939Z 01O /builds/Rdatatable/data.table/src/nafill.c:131:15: note: Assuming the condition is false 2026-07-13T04:24:13.598939Z 01O 131 | bool copy = !LOGICAL(inplace)[0]; 2026-07-13T04:24:13.598940Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.598947Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598947Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598948Z 01O | ^ 2026-07-13T04:24:13.598952Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598953Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598953Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.598954Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.598954Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598955Z 01O | ^ 2026-07-13T04:24:13.598962Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598962Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598963Z 01O | ^ 2026-07-13T04:24:13.598963Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.598964Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598964Z 01O | ^ 2026-07-13T04:24:13.598975Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.598975Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.598976Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.598976Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Left side of '&&' is true 2026-07-13T04:24:13.598977Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.598977Z 01O | ^ 2026-07-13T04:24:13.599013Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599014Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599015Z 01O | ^ 2026-07-13T04:24:13.599018Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:8: note: Assuming the condition is true 2026-07-13T04:24:13.599019Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.599019Z 01O | ^ 2026-07-13T04:24:13.599020Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599020Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599021Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599033Z 01O /builds/Rdatatable/data.table/src/nafill.c:132:3: note: Taking false branch 2026-07-13T04:24:13.599033Z 01O 132 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-07-13T04:24:13.599034Z 01O | ^ 2026-07-13T04:24:13.599034Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:7: note: Assuming 'obj_scalar' is false 2026-07-13T04:24:13.599035Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.599035Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.599036Z 01O /builds/Rdatatable/data.table/src/nafill.c:138:3: note: Taking false branch 2026-07-13T04:24:13.599036Z 01O 138 | if (obj_scalar) { 2026-07-13T04:24:13.599036Z 01O | ^ 2026-07-13T04:24:13.599063Z 01O /builds/Rdatatable/data.table/src/nafill.c:151:17: note: Assuming the condition is false 2026-07-13T04:24:13.599064Z 01O 151 | for (int i=0; i= 'nx' 2026-07-13T04:24:13.599114Z 01O 167 | for (R_len_t i=0; ichar_v, nx-1, x[nx-1]==NA_STRING ? fill : x[nx-1]); 2026-07-13T04:24:13.599390Z 01O | ^ 2026-07-13T04:24:13.599390Z 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-13T04:24:13.599391Z 01O 136 | SEXP x = R_NilValue; 2026-07-13T04:24:13.599391Z 01O | ^ ~~~~~~~~~~ 2026-07-13T04:24:13.599397Z 01O /builds/Rdatatable/data.table/src/nafill.c:136:8: note: Value stored to 'x' during its initialization is never read 2026-07-13T04:24:13.599398Z 01O 136 | SEXP x = R_NilValue; 2026-07-13T04:24:13.599399Z 01O | ^ ~~~~~~~~~~ 2026-07-13T04:24:13.599441Z 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-13T04:24:13.599442Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-07-13T04:24:13.599443Z 01O | ^ 2026-07-13T04:24:13.599485Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-07-13T04:24:13.599486Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-07-13T04:24:13.599486Z 01O | ^ 2026-07-13T04:24:13.599487Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-07-13T04:24:13.599487Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-07-13T04:24:13.599488Z 01O | ^ 2026-07-13T04:24:13.599490Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-07-13T04:24:13.599491Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-07-13T04:24:13.599491Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599499Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-07-13T04:24:13.599500Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-07-13T04:24:13.599500Z 01O | ^ 2026-07-13T04:24:13.599509Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-07-13T04:24:13.599509Z 01O 131 | if (length(throttle)) { 2026-07-13T04:24:13.599510Z 01O | ^ 2026-07-13T04:24:13.599510Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-07-13T04:24:13.599511Z 01O 987 | #define length(x) Rf_length(x) 2026-07-13T04:24:13.599511Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.599611Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-07-13T04:24:13.599611Z 01O 131 | if (length(throttle)) { 2026-07-13T04:24:13.599612Z 01O | ^ 2026-07-13T04:24:13.599612Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-07-13T04:24:13.599619Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-07-13T04:24:13.599620Z 01O | ^~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599620Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-07-13T04:24:13.599625Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-07-13T04:24:13.599626Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-07-13T04:24:13.599626Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599627Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-07-13T04:24:13.599627Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-07-13T04:24:13.599628Z 01O | ^ 2026-07-13T04:24:13.599628Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-07-13T04:24:13.599629Z 01O 138 | initDTthreads(); 2026-07-13T04:24:13.599629Z 01O | ^~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599630Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-07-13T04:24:13.599630Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-07-13T04:24:13.599631Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599633Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-07-13T04:24:13.599634Z 01O 14 | const char *val = getenv(name); 2026-07-13T04:24:13.599634Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.599635Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-07-13T04:24:13.599636Z 01O 14 | const char *val = getenv(name); 2026-07-13T04:24:13.599636Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.599638Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-07-13T04:24:13.599639Z 01O 14 | const char *val = getenv(name); 2026-07-13T04:24:13.599639Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.599640Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-07-13T04:24:13.599640Z 01O 15 | if (val == NULL) return def; 2026-07-13T04:24:13.599641Z 01O | ^~~ 2026-07-13T04:24:13.599643Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-07-13T04:24:13.599644Z 01O 15 | if (val == NULL) return def; 2026-07-13T04:24:13.599644Z 01O | ^ 2026-07-13T04:24:13.599645Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-07-13T04:24:13.599645Z 01O 17 | if (nchar == 0) return def; 2026-07-13T04:24:13.599646Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.599646Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-07-13T04:24:13.599647Z 01O 17 | if (nchar == 0) return def; 2026-07-13T04:24:13.599647Z 01O | ^ 2026-07-13T04:24:13.599655Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-07-13T04:24:13.599656Z 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-13T04:24:13.599656Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599659Z 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-13T04:24:13.599660Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-07-13T04:24:13.599660Z 01O | ^ 2026-07-13T04:24:13.599661Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-07-13T04:24:13.599661Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-07-13T04:24:13.599662Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599685Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-07-13T04:24:13.599686Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-07-13T04:24:13.599686Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599718Z 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-13T04:24:13.599719Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-07-13T04:24:13.599719Z 01O | ^ ~~~~~ 2026-07-13T04:24:13.599720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-07-13T04:24:13.599720Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-13T04:24:13.599721Z 01O | ^ 2026-07-13T04:24:13.599739Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599740Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599740Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599741Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-07-13T04:24:13.599741Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-13T04:24:13.599742Z 01O | ^ 2026-07-13T04:24:13.599776Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599777Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599777Z 01O | ^ 2026-07-13T04:24:13.599778Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-07-13T04:24:13.599778Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-13T04:24:13.599779Z 01O | ^ 2026-07-13T04:24:13.599784Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599785Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599786Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.599787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-07-13T04:24:13.599787Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-13T04:24:13.599788Z 01O | ^ 2026-07-13T04:24:13.599796Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599796Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599797Z 01O | ^ 2026-07-13T04:24:13.599797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-07-13T04:24:13.599798Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-13T04:24:13.599798Z 01O | ^ 2026-07-13T04:24:13.599822Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599822Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599823Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599823Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-07-13T04:24:13.599824Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-07-13T04:24:13.599824Z 01O | ^ 2026-07-13T04:24:13.599841Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-07-13T04:24:13.599843Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-07-13T04:24:13.599848Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599849Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-07-13T04:24:13.599856Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-07-13T04:24:13.599857Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-07-13T04:24:13.599857Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-07-13T04:24:13.599860Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-07-13T04:24:13.599861Z 01O | ^ 2026-07-13T04:24:13.599863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-07-13T04:24:13.599864Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-13T04:24:13.599864Z 01O | ^ 2026-07-13T04:24:13.599944Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599944Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599945Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599946Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-07-13T04:24:13.599946Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-13T04:24:13.599947Z 01O | ^ 2026-07-13T04:24:13.599955Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599955Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599956Z 01O | ^ 2026-07-13T04:24:13.599957Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-07-13T04:24:13.599957Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-13T04:24:13.599958Z 01O | ^ 2026-07-13T04:24:13.599960Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599960Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599961Z 01O | ^~~~~~~~~~~~ 2026-07-13T04:24:13.599968Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-07-13T04:24:13.599969Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-13T04:24:13.599970Z 01O | ^ 2026-07-13T04:24:13.599972Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599972Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599973Z 01O | ^ 2026-07-13T04:24:13.599975Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-07-13T04:24:13.599976Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-13T04:24:13.599977Z 01O | ^ 2026-07-13T04:24:13.599980Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-07-13T04:24:13.599980Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-07-13T04:24:13.599981Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.599981Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-07-13T04:24:13.599982Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-07-13T04:24:13.599982Z 01O | ^ 2026-07-13T04:24:13.599989Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-07-13T04:24:13.599995Z 01O 13 | if (!length(l)) return(l); 2026-07-13T04:24:13.599995Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.599995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-07-13T04:24:13.599996Z 01O 13 | if (!length(l)) return(l); 2026-07-13T04:24:13.599996Z 01O | ^ 2026-07-13T04:24:13.600026Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-07-13T04:24:13.600027Z 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-13T04:24:13.600027Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.600031Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-07-13T04:24:13.600031Z 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-13T04:24:13.600032Z 01O | ^ 2026-07-13T04:24:13.600032Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-07-13T04:24:13.600033Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-07-13T04:24:13.600033Z 01O | ^~~~ 2026-07-13T04:24:13.600034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-07-13T04:24:13.600034Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-07-13T04:24:13.600035Z 01O | ^ 2026-07-13T04:24:13.600060Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-07-13T04:24:13.600061Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-07-13T04:24:13.600062Z 01O | ^~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.600065Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-07-13T04:24:13.600065Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-07-13T04:24:13.600066Z 01O | ^~~~~ 2026-07-13T04:24:13.600084Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-07-13T04:24:13.600085Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-07-13T04:24:13.600086Z 01O | ^ 2026-07-13T04:24:13.600086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-07-13T04:24:13.600087Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.600087Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.600097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.600098Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.600099Z 01O | ^ 2026-07-13T04:24:13.600101Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-13T04:24:13.600101Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.600102Z 01O | ^ 2026-07-13T04:24:13.600102Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.600103Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.600103Z 01O | ^ 2026-07-13T04:24:13.600210Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-13T04:24:13.600211Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.600212Z 01O | ^ 2026-07-13T04:24:13.600215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-13T04:24:13.600215Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.600220Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.600220Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-13T04:24:13.600221Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.600222Z 01O | ^ 2026-07-13T04:24:13.600222Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-13T04:24:13.600223Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.600223Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.600225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-13T04:24:13.600226Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.600227Z 01O | ^ 2026-07-13T04:24:13.600227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-13T04:24:13.600227Z 01O 37 | if (fill) { 2026-07-13T04:24:13.600228Z 01O | ^~~~ 2026-07-13T04:24:13.600228Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-13T04:24:13.600229Z 01O 37 | if (fill) { 2026-07-13T04:24:13.600229Z 01O | ^ 2026-07-13T04:24:13.600231Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-13T04:24:13.600232Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.600232Z 01O | ^~~~ 2026-07-13T04:24:13.600233Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-13T04:24:13.600233Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.600234Z 01O | ^ 2026-07-13T04:24:13.600236Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-13T04:24:13.600237Z 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-13T04:24:13.600237Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.600240Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-13T04:24:13.600241Z 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-13T04:24:13.600241Z 01O | ^ 2026-07-13T04:24:13.600242Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-13T04:24:13.600242Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.600243Z 01O | ^~~~~~ 2026-07-13T04:24:13.600243Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-13T04:24:13.600244Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.600244Z 01O | ^ 2026-07-13T04:24:13.600288Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-13T04:24:13.600288Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.600289Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.600291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-13T04:24:13.600292Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.600293Z 01O | ^ 2026-07-13T04:24:13.600293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-13T04:24:13.600294Z 01O 49 | for (int j=0; j0 checked above 2026-07-13T04:24:13.600303Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.600306Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-13T04:24:13.600306Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.600307Z 01O | ^ 2026-07-13T04:24:13.600307Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-13T04:24:13.600308Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.600308Z 01O | ^~~~~~~ 2026-07-13T04:24:13.600311Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-13T04:24:13.600312Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.600312Z 01O | ^ 2026-07-13T04:24:13.600312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-13T04:24:13.600313Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.600313Z 01O | ^~~~ 2026-07-13T04:24:13.600314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-13T04:24:13.600321Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-13T04:24:13.600322Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.600322Z 01O | ^~~~ 2026-07-13T04:24:13.600323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-13T04:24:13.600323Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.600324Z 01O | ^ 2026-07-13T04:24:13.600395Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-13T04:24:13.600396Z 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-13T04:24:13.600397Z 01O | ^~~~ 2026-07-13T04:24:13.600399Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-13T04:24:13.600400Z 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-13T04:24:13.600400Z 01O | ^ 2026-07-13T04:24:13.600423Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-13T04:24:13.600424Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.600425Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.600427Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-13T04:24:13.600428Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.600428Z 01O | ^ 2026-07-13T04:24:13.600429Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.600429Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.600430Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.600430Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-13T04:24:13.600433Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-13T04:24:13.600433Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.600434Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.600434Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-13T04:24:13.600439Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.600440Z 01O | ^ 2026-07-13T04:24:13.600443Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-13T04:24:13.600443Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.600444Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.600444Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-13T04:24:13.600445Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.600445Z 01O | ^ 2026-07-13T04:24:13.600446Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-07-13T04:24:13.600446Z 01O 83 | int nuniq=0; 2026-07-13T04:24:13.600447Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.600454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-07-13T04:24:13.600455Z 01O 85 | for (int i=0; i0 checked above 2026-07-13T04:24:13.600876Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.600878Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.600879Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.600880Z 01O | ^ 2026-07-13T04:24:13.600880Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-13T04:24:13.600880Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.600881Z 01O | ^ 2026-07-13T04:24:13.600888Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.600888Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.600889Z 01O | ^ 2026-07-13T04:24:13.600889Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-13T04:24:13.600890Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.600890Z 01O | ^ 2026-07-13T04:24:13.600892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-13T04:24:13.600893Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.600894Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.600930Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-13T04:24:13.600930Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.600931Z 01O | ^ 2026-07-13T04:24:13.600931Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-13T04:24:13.600932Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.600932Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.600933Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-13T04:24:13.600933Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.600934Z 01O | ^ 2026-07-13T04:24:13.600936Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-13T04:24:13.600936Z 01O 37 | if (fill) { 2026-07-13T04:24:13.600937Z 01O | ^~~~ 2026-07-13T04:24:13.600937Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-13T04:24:13.600938Z 01O 37 | if (fill) { 2026-07-13T04:24:13.600938Z 01O | ^ 2026-07-13T04:24:13.600940Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-13T04:24:13.600941Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.600941Z 01O | ^~~~ 2026-07-13T04:24:13.600942Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-13T04:24:13.600942Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.600943Z 01O | ^ 2026-07-13T04:24:13.600974Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-13T04:24:13.600974Z 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-13T04:24:13.600975Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.600977Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-13T04:24:13.600978Z 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-13T04:24:13.600979Z 01O | ^ 2026-07-13T04:24:13.600985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-13T04:24:13.600985Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.600986Z 01O | ^~~~~~ 2026-07-13T04:24:13.600986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-13T04:24:13.600987Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.600987Z 01O | ^ 2026-07-13T04:24:13.601039Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-13T04:24:13.601040Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.601040Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.601042Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-13T04:24:13.601043Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.601044Z 01O | ^ 2026-07-13T04:24:13.601045Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-13T04:24:13.601046Z 01O 49 | for (int j=0; j0 checked above 2026-07-13T04:24:13.601052Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.601052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-13T04:24:13.601053Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.601053Z 01O | ^ 2026-07-13T04:24:13.601075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-13T04:24:13.601076Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.601076Z 01O | ^~~~~~~ 2026-07-13T04:24:13.601077Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-13T04:24:13.601077Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.601078Z 01O | ^ 2026-07-13T04:24:13.601078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-13T04:24:13.601079Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.601079Z 01O | ^~~~ 2026-07-13T04:24:13.601079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-13T04:24:13.601082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-13T04:24:13.601083Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.601083Z 01O | ^~~~ 2026-07-13T04:24:13.601084Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-13T04:24:13.601084Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.601085Z 01O | ^ 2026-07-13T04:24:13.601145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-13T04:24:13.601146Z 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-13T04:24:13.601147Z 01O | ^~~~ 2026-07-13T04:24:13.601149Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-13T04:24:13.601154Z 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-13T04:24:13.601155Z 01O | ^ 2026-07-13T04:24:13.601158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-13T04:24:13.601158Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.601159Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.601159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-13T04:24:13.601160Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.601160Z 01O | ^ 2026-07-13T04:24:13.601178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.601179Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.601179Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.601180Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-13T04:24:13.601182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-13T04:24:13.601183Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.601184Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.601184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-13T04:24:13.601185Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.601185Z 01O | ^ 2026-07-13T04:24:13.601230Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-13T04:24:13.601231Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.601231Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.601232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-13T04:24:13.601232Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.601233Z 01O | ^ 2026-07-13T04:24:13.601235Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-07-13T04:24:13.601235Z 01O 85 | for (int i=0; i= 'thisncol' 2026-07-13T04:24:13.601347Z 01O 92 | for (int j=0; j 'ncol' 2026-07-13T04:24:13.601468Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-13T04:24:13.601469Z 01O | ^~~~~~ 2026-07-13T04:24:13.601471Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-07-13T04:24:13.601472Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-13T04:24:13.601472Z 01O | ^ 2026-07-13T04:24:13.601472Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-07-13T04:24:13.601473Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-13T04:24:13.601473Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.601509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-07-13T04:24:13.601510Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-07-13T04:24:13.601510Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.601511Z 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-13T04:24:13.601512Z 01O 153 | for (int j=0; j0 checked above 2026-07-13T04:24:13.601902Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.601905Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.601905Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.601906Z 01O | ^ 2026-07-13T04:24:13.601906Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-13T04:24:13.601907Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.601907Z 01O | ^ 2026-07-13T04:24:13.601978Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.601978Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.601979Z 01O | ^ 2026-07-13T04:24:13.601979Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-13T04:24:13.601980Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.601980Z 01O | ^ 2026-07-13T04:24:13.601984Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-13T04:24:13.601984Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.601985Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.601985Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-13T04:24:13.601986Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.601987Z 01O | ^ 2026-07-13T04:24:13.601987Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-13T04:24:13.601987Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.601988Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.601988Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-13T04:24:13.601989Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.601989Z 01O | ^ 2026-07-13T04:24:13.601991Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-13T04:24:13.601992Z 01O 37 | if (fill) { 2026-07-13T04:24:13.601992Z 01O | ^~~~ 2026-07-13T04:24:13.601993Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-13T04:24:13.601993Z 01O 37 | if (fill) { 2026-07-13T04:24:13.601993Z 01O | ^ 2026-07-13T04:24:13.601995Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-13T04:24:13.602000Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.602001Z 01O | ^~~~ 2026-07-13T04:24:13.602001Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-13T04:24:13.602002Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.602002Z 01O | ^ 2026-07-13T04:24:13.602031Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-13T04:24:13.602032Z 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-13T04:24:13.602032Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.602033Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-13T04:24:13.602033Z 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-13T04:24:13.602034Z 01O | ^ 2026-07-13T04:24:13.602036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-13T04:24:13.602037Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.602037Z 01O | ^~~~~~ 2026-07-13T04:24:13.602037Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-13T04:24:13.602038Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.602038Z 01O | ^ 2026-07-13T04:24:13.602047Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-13T04:24:13.602048Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.602048Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.602051Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-13T04:24:13.602051Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.602052Z 01O | ^ 2026-07-13T04:24:13.602052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-13T04:24:13.602053Z 01O 49 | for (int j=0; j0 checked above 2026-07-13T04:24:13.602101Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.602103Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-13T04:24:13.602104Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.602105Z 01O | ^ 2026-07-13T04:24:13.602105Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-13T04:24:13.602105Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.602106Z 01O | ^~~~~~~ 2026-07-13T04:24:13.602109Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-13T04:24:13.602109Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.602110Z 01O | ^ 2026-07-13T04:24:13.602110Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-13T04:24:13.602111Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.602111Z 01O | ^~~~ 2026-07-13T04:24:13.602117Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-13T04:24:13.602140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-13T04:24:13.602141Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.602142Z 01O | ^~~~ 2026-07-13T04:24:13.602142Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-13T04:24:13.602143Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.602143Z 01O | ^ 2026-07-13T04:24:13.602145Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-13T04:24:13.602146Z 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-13T04:24:13.602147Z 01O | ^~~~ 2026-07-13T04:24:13.602153Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-13T04:24:13.602154Z 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-13T04:24:13.602155Z 01O | ^ 2026-07-13T04:24:13.602216Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-13T04:24:13.602217Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.602218Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.602218Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-13T04:24:13.602219Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.602219Z 01O | ^ 2026-07-13T04:24:13.602221Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.602222Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.602222Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.602223Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-13T04:24:13.602225Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-13T04:24:13.602226Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.602226Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.602227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-13T04:24:13.602227Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.602228Z 01O | ^ 2026-07-13T04:24:13.602230Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-13T04:24:13.602231Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.602231Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.602232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-13T04:24:13.602232Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.602233Z 01O | ^ 2026-07-13T04:24:13.602263Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-07-13T04:24:13.602263Z 01O 85 | for (int i=0; i= 'thisncol' 2026-07-13T04:24:13.602360Z 01O 92 | for (int j=0; j= 'thisncol' 2026-07-13T04:24:13.602480Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-07-13T04:24:13.602486Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.602491Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-07-13T04:24:13.602500Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-07-13T04:24:13.602500Z 01O | ^ 2026-07-13T04:24:13.602502Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-07-13T04:24:13.602503Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-07-13T04:24:13.602520Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.602546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-07-13T04:24:13.602547Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-13T04:24:13.602547Z 01O | ^ 2026-07-13T04:24:13.602547Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-07-13T04:24:13.602548Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.602548Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.602550Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-13T04:24:13.602552Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-07-13T04:24:13.602553Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.602554Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.602554Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-13T04:24:13.602555Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.602555Z 01O | ^ 2026-07-13T04:24:13.602557Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-07-13T04:24:13.602557Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.602558Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.602560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-07-13T04:24:13.602560Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.602561Z 01O | ^ 2026-07-13T04:24:13.602592Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-07-13T04:24:13.602593Z 01O 142 | for (int i=0; i= 'ncol' 2026-07-13T04:24:13.602604Z 01O 143 | for (int i=0; i0 checked above 2026-07-13T04:24:13.603090Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.603090Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.603091Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.603092Z 01O | ^ 2026-07-13T04:24:13.603107Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-13T04:24:13.603107Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.603108Z 01O | ^ 2026-07-13T04:24:13.603108Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.603109Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.603109Z 01O | ^ 2026-07-13T04:24:13.603111Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-13T04:24:13.603112Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.603112Z 01O | ^ 2026-07-13T04:24:13.603186Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-13T04:24:13.603186Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.603187Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.603195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-13T04:24:13.603196Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.603196Z 01O | ^ 2026-07-13T04:24:13.603197Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-13T04:24:13.603197Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.603198Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.603198Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-13T04:24:13.603198Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.603199Z 01O | ^ 2026-07-13T04:24:13.603199Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-13T04:24:13.603200Z 01O 37 | if (fill) { 2026-07-13T04:24:13.603200Z 01O | ^~~~ 2026-07-13T04:24:13.603207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-13T04:24:13.603207Z 01O 37 | if (fill) { 2026-07-13T04:24:13.603208Z 01O | ^ 2026-07-13T04:24:13.603210Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-13T04:24:13.603210Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.603211Z 01O | ^~~~ 2026-07-13T04:24:13.603211Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-13T04:24:13.603212Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.603212Z 01O | ^ 2026-07-13T04:24:13.603215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-13T04:24:13.603215Z 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-13T04:24:13.603216Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.603218Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-13T04:24:13.603219Z 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-13T04:24:13.603220Z 01O | ^ 2026-07-13T04:24:13.603220Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-13T04:24:13.603220Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.603221Z 01O | ^~~~~~ 2026-07-13T04:24:13.603227Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-13T04:24:13.603228Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.603228Z 01O | ^ 2026-07-13T04:24:13.603234Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-13T04:24:13.603234Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.603235Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.603275Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-13T04:24:13.603275Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.603276Z 01O | ^ 2026-07-13T04:24:13.603277Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-07-13T04:24:13.603277Z 01O 49 | for (int j=0; j0 checked above 2026-07-13T04:24:13.603286Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.603289Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-13T04:24:13.603289Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.603290Z 01O | ^ 2026-07-13T04:24:13.603290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-13T04:24:13.603291Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.603291Z 01O | ^~~~~~~ 2026-07-13T04:24:13.603309Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-13T04:24:13.603310Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.603310Z 01O | ^ 2026-07-13T04:24:13.603310Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-13T04:24:13.603311Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.603311Z 01O | ^~~~ 2026-07-13T04:24:13.603312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-13T04:24:13.603314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-13T04:24:13.603315Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.603315Z 01O | ^~~~ 2026-07-13T04:24:13.603316Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-13T04:24:13.603316Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.603317Z 01O | ^ 2026-07-13T04:24:13.603353Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-13T04:24:13.603353Z 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-13T04:24:13.603354Z 01O | ^~~~ 2026-07-13T04:24:13.603356Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-13T04:24:13.603357Z 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-13T04:24:13.603358Z 01O | ^ 2026-07-13T04:24:13.603409Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-13T04:24:13.603409Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.603410Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.603412Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-13T04:24:13.603413Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.603413Z 01O | ^ 2026-07-13T04:24:13.603414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.603414Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.603415Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.603416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-13T04:24:13.603419Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-07-13T04:24:13.603420Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.603420Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.603421Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-07-13T04:24:13.603421Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.603426Z 01O | ^ 2026-07-13T04:24:13.603453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-07-13T04:24:13.603453Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.603454Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.603454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-07-13T04:24:13.603455Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-07-13T04:24:13.603455Z 01O | ^ 2026-07-13T04:24:13.603458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-07-13T04:24:13.603458Z 01O 85 | for (int i=0; i= 'thisncol' 2026-07-13T04:24:13.603555Z 01O 92 | for (int j=0; j= 'thisncol' 2026-07-13T04:24:13.603673Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-07-13T04:24:13.603690Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.603690Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-07-13T04:24:13.603691Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-07-13T04:24:13.603691Z 01O | ^ 2026-07-13T04:24:13.603693Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-07-13T04:24:13.603694Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-07-13T04:24:13.603752Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.603753Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-07-13T04:24:13.603753Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-07-13T04:24:13.603754Z 01O | ^ 2026-07-13T04:24:13.603756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-07-13T04:24:13.603756Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.603757Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.603757Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-13T04:24:13.603759Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-07-13T04:24:13.603760Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.603760Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.603762Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-07-13T04:24:13.603762Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.603767Z 01O | ^ 2026-07-13T04:24:13.603773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-07-13T04:24:13.603774Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.603775Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.603792Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-07-13T04:24:13.603793Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-07-13T04:24:13.603793Z 01O | ^ 2026-07-13T04:24:13.603794Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-07-13T04:24:13.603794Z 01O 142 | for (int i=0; i= 'ncol' 2026-07-13T04:24:13.603799Z 01O 143 | for (int i=0; i0 checked above 2026-07-13T04:24:13.604352Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.604352Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.604353Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.604353Z 01O | ^ 2026-07-13T04:24:13.604355Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-13T04:24:13.604356Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.604356Z 01O | ^ 2026-07-13T04:24:13.604358Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.604359Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.604359Z 01O | ^ 2026-07-13T04:24:13.604360Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-13T04:24:13.604360Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.604361Z 01O | ^ 2026-07-13T04:24:13.604381Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-13T04:24:13.604381Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.604382Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.604382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-13T04:24:13.604383Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.604384Z 01O | ^ 2026-07-13T04:24:13.604384Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-13T04:24:13.604385Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.604385Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.604387Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-13T04:24:13.604388Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.604388Z 01O | ^ 2026-07-13T04:24:13.604389Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-13T04:24:13.604389Z 01O 37 | if (fill) { 2026-07-13T04:24:13.604390Z 01O | ^~~~ 2026-07-13T04:24:13.604390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-13T04:24:13.604391Z 01O 37 | if (fill) { 2026-07-13T04:24:13.604391Z 01O | ^ 2026-07-13T04:24:13.604415Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-13T04:24:13.604415Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.604416Z 01O | ^~~~ 2026-07-13T04:24:13.604416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-13T04:24:13.604417Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.604417Z 01O | ^ 2026-07-13T04:24:13.604455Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-13T04:24:13.604456Z 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-13T04:24:13.604457Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.604460Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-13T04:24:13.604460Z 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-13T04:24:13.604466Z 01O | ^ 2026-07-13T04:24:13.604466Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-13T04:24:13.604467Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.604467Z 01O | ^~~~~~ 2026-07-13T04:24:13.604467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-13T04:24:13.604468Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.604468Z 01O | ^ 2026-07-13T04:24:13.604471Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-07-13T04:24:13.604471Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.604472Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.604479Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.604479Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.604480Z 01O | ^ 2026-07-13T04:24:13.604526Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-07-13T04:24:13.604527Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.604527Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.604528Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-07-13T04:24:13.604529Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.604529Z 01O | ^ 2026-07-13T04:24:13.604531Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-13T04:24:13.604532Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.604533Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.604535Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-13T04:24:13.604536Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.604537Z 01O | ^ 2026-07-13T04:24:13.604537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.604538Z 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-13T04:24:13.604577Z 01O | ^~~~ 2026-07-13T04:24:13.604580Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-07-13T04:24:13.604580Z 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-13T04:24:13.604581Z 01O | ^ 2026-07-13T04:24:13.604629Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-07-13T04:24:13.604629Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-13T04:24:13.604636Z 01O | ^~~~~ 2026-07-13T04:24:13.604639Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-07-13T04:24:13.604640Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-13T04:24:13.604640Z 01O | ^ 2026-07-13T04:24:13.604641Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-07-13T04:24:13.604641Z 01O 49 | for (int j=0; j0 checked above 2026-07-13T04:24:13.604650Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.604651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-13T04:24:13.604651Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.604652Z 01O | ^ 2026-07-13T04:24:13.604654Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-13T04:24:13.604654Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.604655Z 01O | ^~~~~~~ 2026-07-13T04:24:13.604655Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-13T04:24:13.604656Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.604656Z 01O | ^ 2026-07-13T04:24:13.604662Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-07-13T04:24:13.604663Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.604663Z 01O | ^~~~ 2026-07-13T04:24:13.604664Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-07-13T04:24:13.604664Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-07-13T04:24:13.604665Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.604665Z 01O | ^~~~ 2026-07-13T04:24:13.604703Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-07-13T04:24:13.604704Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.604705Z 01O | ^ 2026-07-13T04:24:13.604707Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-13T04:24:13.604707Z 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-13T04:24:13.604708Z 01O | ^~~~ 2026-07-13T04:24:13.604710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-13T04:24:13.604711Z 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-13T04:24:13.604712Z 01O | ^ 2026-07-13T04:24:13.604719Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-13T04:24:13.604720Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.604720Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.604721Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-13T04:24:13.604721Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.604722Z 01O | ^ 2026-07-13T04:24:13.604765Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-07-13T04:24:13.604766Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-07-13T04:24:13.604772Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.604773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.604773Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.604774Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.604774Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-13T04:24:13.604781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-07-13T04:24:13.604782Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.604782Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.604783Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-07-13T04:24:13.604783Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.604784Z 01O | ^ 2026-07-13T04:24:13.604790Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-07-13T04:24:13.604791Z 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-13T04:24:13.604792Z 01O | ^~~~ 2026-07-13T04:24:13.604843Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-07-13T04:24:13.604844Z 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-13T04:24:13.604845Z 01O | ^ 2026-07-13T04:24:13.604845Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-07-13T04:24:13.604846Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.604846Z 01O | ^~~~ 2026-07-13T04:24:13.604849Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-07-13T04:24:13.604849Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.604850Z 01O | ^ 2026-07-13T04:24:13.604855Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.604856Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.604857Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.604857Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-07-13T04:24:13.604886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-07-13T04:24:13.604887Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.604888Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.604899Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-07-13T04:24:13.604899Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.604900Z 01O | ^ 2026-07-13T04:24:13.604900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-07-13T04:24:13.604901Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-13T04:24:13.604901Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.604904Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-07-13T04:24:13.604905Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-13T04:24:13.604905Z 01O | ^ 2026-07-13T04:24:13.604905Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-07-13T04:24:13.604906Z 01O 251 | if (idcol) { 2026-07-13T04:24:13.604906Z 01O | ^~~~~ 2026-07-13T04:24:13.604907Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-07-13T04:24:13.604912Z 01O 251 | if (idcol) { 2026-07-13T04:24:13.604912Z 01O | ^ 2026-07-13T04:24:13.604912Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.604913Z 01O 279 | for(int j=0; j0 checked above 2026-07-13T04:24:13.605381Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.605383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.605384Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.605385Z 01O | ^ 2026-07-13T04:24:13.605385Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-07-13T04:24:13.605385Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.605386Z 01O | ^ 2026-07-13T04:24:13.605433Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-07-13T04:24:13.605433Z 01O 956 | #define isNull Rf_isNull 2026-07-13T04:24:13.605434Z 01O | ^ 2026-07-13T04:24:13.605434Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-07-13T04:24:13.605435Z 01O 32 | if (isNull(li)) continue; 2026-07-13T04:24:13.605435Z 01O | ^ 2026-07-13T04:24:13.605438Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-07-13T04:24:13.605438Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.605439Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.605439Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-07-13T04:24:13.605440Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-07-13T04:24:13.605441Z 01O | ^ 2026-07-13T04:24:13.605442Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-07-13T04:24:13.605443Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.605444Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.605445Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-07-13T04:24:13.605446Z 01O 35 | if (!thisncol) continue; 2026-07-13T04:24:13.605447Z 01O | ^ 2026-07-13T04:24:13.605447Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-07-13T04:24:13.605447Z 01O 37 | if (fill) { 2026-07-13T04:24:13.605448Z 01O | ^~~~ 2026-07-13T04:24:13.605449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-07-13T04:24:13.605450Z 01O 37 | if (fill) { 2026-07-13T04:24:13.605450Z 01O | ^ 2026-07-13T04:24:13.605452Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-07-13T04:24:13.605453Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.605453Z 01O | ^~~~ 2026-07-13T04:24:13.605477Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-07-13T04:24:13.605477Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-07-13T04:24:13.605478Z 01O | ^ 2026-07-13T04:24:13.605486Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-07-13T04:24:13.605486Z 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-13T04:24:13.605487Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.605487Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-07-13T04:24:13.605488Z 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-13T04:24:13.605489Z 01O | ^ 2026-07-13T04:24:13.605489Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-07-13T04:24:13.605489Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.605490Z 01O | ^~~~~~ 2026-07-13T04:24:13.605490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-07-13T04:24:13.605491Z 01O 45 | if (nNames>0) anyNames=true; 2026-07-13T04:24:13.605491Z 01O | ^ 2026-07-13T04:24:13.605538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-07-13T04:24:13.605539Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.605539Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.605542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.605543Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.605544Z 01O | ^ 2026-07-13T04:24:13.605544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-07-13T04:24:13.605545Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.605546Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.605595Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-07-13T04:24:13.605596Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.605597Z 01O | ^ 2026-07-13T04:24:13.605599Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-07-13T04:24:13.605600Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.605600Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.605603Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-07-13T04:24:13.605603Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-07-13T04:24:13.605604Z 01O | ^ 2026-07-13T04:24:13.605604Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.605605Z 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-13T04:24:13.605641Z 01O | ^~~~ 2026-07-13T04:24:13.605644Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-07-13T04:24:13.605644Z 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-13T04:24:13.605651Z 01O | ^ 2026-07-13T04:24:13.605660Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-07-13T04:24:13.605660Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-13T04:24:13.605661Z 01O | ^~~~~ 2026-07-13T04:24:13.605663Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-07-13T04:24:13.605664Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-07-13T04:24:13.605664Z 01O | ^ 2026-07-13T04:24:13.605665Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-07-13T04:24:13.605665Z 01O 49 | for (int j=0; j0 checked above 2026-07-13T04:24:13.605768Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.605768Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-07-13T04:24:13.605769Z 01O 29 | for (int i=0; i0 checked above 2026-07-13T04:24:13.605769Z 01O | ^ 2026-07-13T04:24:13.605770Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-07-13T04:24:13.605770Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.605771Z 01O | ^~~~~~~ 2026-07-13T04:24:13.605771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-07-13T04:24:13.605772Z 01O 57 | if (numZero) { // #1871 2026-07-13T04:24:13.605772Z 01O | ^ 2026-07-13T04:24:13.605772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-07-13T04:24:13.605773Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.605773Z 01O | ^~~~ 2026-07-13T04:24:13.605775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-07-13T04:24:13.605776Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-07-13T04:24:13.605776Z 01O | ^ 2026-07-13T04:24:13.605779Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-07-13T04:24:13.605779Z 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-13T04:24:13.605780Z 01O | ^~~~ 2026-07-13T04:24:13.605782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-07-13T04:24:13.605783Z 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-13T04:24:13.605784Z 01O | ^ 2026-07-13T04:24:13.605795Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-07-13T04:24:13.605796Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.605797Z 01O | ^~~~~~~~~~~~~~ 2026-07-13T04:24:13.605797Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-07-13T04:24:13.605798Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-07-13T04:24:13.605798Z 01O | ^ 2026-07-13T04:24:13.605801Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-07-13T04:24:13.605806Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-07-13T04:24:13.605806Z 01O | ^~~~~~~~~~~ 2026-07-13T04:24:13.605807Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.605807Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.605808Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.605808Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-07-13T04:24:13.605827Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-07-13T04:24:13.605828Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.605828Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.605829Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-07-13T04:24:13.605829Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-07-13T04:24:13.605830Z 01O | ^ 2026-07-13T04:24:13.605832Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-07-13T04:24:13.605833Z 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-13T04:24:13.605834Z 01O | ^~~~ 2026-07-13T04:24:13.605861Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-07-13T04:24:13.605862Z 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-13T04:24:13.605863Z 01O | ^ 2026-07-13T04:24:13.605863Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-07-13T04:24:13.605863Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.605864Z 01O | ^~~~ 2026-07-13T04:24:13.605864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-07-13T04:24:13.605865Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.605865Z 01O | ^ 2026-07-13T04:24:13.605883Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-07-13T04:24:13.605884Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.605884Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.605885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-07-13T04:24:13.605887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-07-13T04:24:13.605887Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.605888Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.605890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-07-13T04:24:13.605891Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-07-13T04:24:13.605891Z 01O | ^ 2026-07-13T04:24:13.605897Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-07-13T04:24:13.605898Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-13T04:24:13.605898Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.605899Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-07-13T04:24:13.605899Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-07-13T04:24:13.605900Z 01O | ^ 2026-07-13T04:24:13.605900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-07-13T04:24:13.605901Z 01O 251 | if (idcol) { 2026-07-13T04:24:13.605906Z 01O | ^~~~~ 2026-07-13T04:24:13.605912Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-07-13T04:24:13.605913Z 01O 251 | if (idcol) { 2026-07-13T04:24:13.605913Z 01O | ^ 2026-07-13T04:24:13.605962Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.605963Z 01O 279 | for(int j=0; j= 1 2026-07-13T04:24:13.606314Z 01O 27 | if (n<1) return 0; 2026-07-13T04:24:13.606315Z 01O | ^~~ 2026-07-13T04:24:13.606385Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-07-13T04:24:13.606385Z 01O 27 | if (n<1) return 0; 2026-07-13T04:24:13.606386Z 01O | ^ 2026-07-13T04:24:13.606386Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-07-13T04:24:13.606387Z 01O 29 | va_start(ap, fmt); 2026-07-13T04:24:13.606387Z 01O | ^ 2026-07-13T04:24:13.606390Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-07-13T04:24:13.606391Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-07-13T04:24:13.606391Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-07-13T04:24:13.606392Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-07-13T04:24:13.606392Z 01O 40 | while (*ch!='\0') { 2026-07-13T04:24:13.606393Z 01O | ^~~~~~~~~ 2026-07-13T04:24:13.606395Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-07-13T04:24:13.606395Z 01O 40 | while (*ch!='\0') { 2026-07-13T04:24:13.606396Z 01O | ^ 2026-07-13T04:24:13.606397Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-07-13T04:24:13.606398Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-07-13T04:24:13.606398Z 01O | ^~~~~~~~ 2026-07-13T04:24:13.606400Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-07-13T04:24:13.606401Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-07-13T04:24:13.606401Z 01O | ^ 2026-07-13T04:24:13.606409Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-07-13T04:24:13.606410Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-07-13T04:24:13.606410Z 01O | ^~~~~~~~~~ 2026-07-13T04:24:13.606411Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-07-13T04:24:13.606411Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-07-13T04:24:13.606412Z 01O | ^ 2026-07-13T04:24:13.606412Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-07-13T04:24:13.606413Z 01O 47 | if (!end) { 2026-07-13T04:24:13.606413Z 01O | ^~~~ 2026-07-13T04:24:13.606413Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-07-13T04:24:13.606414Z 01O 47 | if (!end) { 2026-07-13T04:24:13.606414Z 01O | ^ 2026-07-13T04:24:13.606442Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-07-13T04:24:13.606443Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-07-13T04:24:13.606447Z 01O | ^ 2026-07-13T04:24:13.606452Z 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-13T04:24:13.606453Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-07-13T04:24:13.606454Z 01O | ^~~~~~ 2026-07-13T04:24:13.606454Z 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-13T04:24:13.606455Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-07-13T04:24:13.606456Z 01O | ^~~~~~ 2026-07-13T04:24:13.617424Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-07-13T04:24:14.060959Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-07-13T04:24:14.061007Z 01O * using R Under development (unstable) (2026-07-11 r90235) 2026-07-13T04:24:14.061149Z 01O * using platform: x86_64-pc-linux-gnu 2026-07-13T04:24:14.061231Z 01O * R was compiled by 2026-07-13T04:24:14.061320Z 01O Debian clang version 21.1.8 (7+b3) 2026-07-13T04:24:14.061320Z 01O GNU Fortran (Debian 15.3.0-1) 15.3.0 2026-07-13T04:24:14.061448Z 01O * running under: Debian GNU/Linux forky/sid 2026-07-13T04:24:14.061574Z 01O * using session charset: UTF-8 2026-07-13T04:24:14.062650Z 01O * current time: 2026-07-13 04:24:14 UTC 2026-07-13T04:24:14.624016Z 01O * using option ‘--as-cran’ 2026-07-13T04:24:14.624131Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-07-13T04:24:14.626076Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-07-13T04:24:14.626165Z 01O * package encoding: UTF-8 2026-07-13T04:24:14.626338Z 01O * checking CRAN incoming feasibility ... OK 2026-07-13T04:24:15.030049Z 01O * checking package namespace information ... OK 2026-07-13T04:24:15.036462Z 01O * checking package dependencies ... OK 2026-07-13T04:24:16.010070Z 01O * checking if this is a source package ... OK 2026-07-13T04:24:16.012038Z 01O * checking if there is a namespace ... OK 2026-07-13T04:24:16.015310Z 01O * checking for .dll and .exe files ... OK 2026-07-13T04:24:16.015688Z 01O * checking for hidden files and directories ... OK 2026-07-13T04:24:16.017368Z 01O * checking for portable file names ... OK 2026-07-13T04:24:16.030843Z 01O * checking for sufficient/correct file permissions ... OK 2026-07-13T04:24:16.034071Z 01O * checking whether package ‘data.table’ can be installed ... [18s/18s] OK 2026-07-13T04:24:33.651321Z 01O * used C compiler: ‘Debian clang version 21.1.8 (7+b3)’ 2026-07-13T04:24:33.651589Z 01O * checking installed package size ... INFO 2026-07-13T04:24:33.654297Z 01O installed size is 7.9Mb 2026-07-13T04:24:33.654862Z 01O sub-directories of 1Mb or more: 2026-07-13T04:24:33.655305Z 01O doc 1.1Mb 2026-07-13T04:24:33.655305Z 01O libs 1.5Mb 2026-07-13T04:24:33.655306Z 01O po 1.7Mb 2026-07-13T04:24:33.655306Z 01O tests 2.2Mb 2026-07-13T04:24:33.663407Z 01O * checking package directory ... OK 2026-07-13T04:24:33.663757Z 01O * checking for future file timestamps ... OK 2026-07-13T04:24:33.664208Z 01O * checking ‘build’ directory ... OK 2026-07-13T04:24:33.665005Z 01O * checking DESCRIPTION meta-information ... OK 2026-07-13T04:24:34.325587Z 01O * checking top-level files ... OK 2026-07-13T04:24:35.523903Z 01O * checking for left-over files ... OK 2026-07-13T04:24:35.526466Z 01O * checking index information ... OK 2026-07-13T04:24:35.678547Z 01O * checking package subdirectories ... OK 2026-07-13T04:24:35.996437Z 01O * checking code files for non-ASCII characters ... OK 2026-07-13T04:24:36.038118Z 01O * checking R files for syntax errors ... OK 2026-07-13T04:24:36.104733Z 01O * checking whether the package can be loaded ... OK 2026-07-13T04:24:36.271412Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-07-13T04:24:36.402631Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-07-13T04:24:36.535564Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-07-13T04:24:36.671194Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-07-13T04:24:36.842878Z 01O * checking loading without being on the library search path ... OK 2026-07-13T04:24:37.180838Z 01O * checking whether startup messages can be suppressed ... OK 2026-07-13T04:24:37.344597Z 01O * checking use of S3 registration ... OK 2026-07-13T04:24:37.369722Z 01O * checking dependencies in R code ... OK 2026-07-13T04:24:38.035769Z 01O * checking S3 generic/method consistency ... OK 2026-07-13T04:24:38.321117Z 01O * checking replacement functions ... OK 2026-07-13T04:24:38.496503Z 01O * checking foreign function calls ... OK 2026-07-13T04:24:39.104308Z 01O * checking R code for possible problems ... [12s/12s] OK 2026-07-13T04:24:51.588210Z 01O * checking Rd files ... OK 2026-07-13T04:24:52.269261Z 01O * checking Rd metadata ... OK 2026-07-13T04:24:52.304140Z 01O * checking Rd line widths ... OK 2026-07-13T04:24:52.538317Z 01O * checking Rd cross-references ... OK 2026-07-13T04:24:53.012430Z 01O * checking for missing documentation entries ... OK 2026-07-13T04:24:53.207696Z 01O * checking for code/documentation mismatches ... OK 2026-07-13T04:24:54.017968Z 01O * checking Rd \usage sections ... OK 2026-07-13T04:24:54.710945Z 01O * checking Rd contents ... OK 2026-07-13T04:24:55.046323Z 01O * checking for unstated dependencies in examples ... OK 2026-07-13T04:24:55.403044Z 01O * checking line endings in shell scripts ... OK 2026-07-13T04:24:55.403512Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-07-13T04:24:55.419353Z 01O * checking line endings in Makefiles ... OK 2026-07-13T04:24:55.419762Z 01O * checking compilation flags in Makevars ... OK 2026-07-13T04:24:55.461198Z 01O * checking for GNU extensions in Makefiles ... OK 2026-07-13T04:24:55.461741Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-07-13T04:24:55.462786Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-07-13T04:24:55.465315Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-07-13T04:24:55.469718Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-07-13T04:24:55.488137Z 01O * checking compilation flags used ... OK 2026-07-13T04:24:55.489546Z 01O * checking compiled code ... OK 2026-07-13T04:24:55.574085Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-07-13T04:24:55.746671Z 01O * checking files in ‘vignettes’ ... OK 2026-07-13T04:24:56.409544Z 01O * checking examples ... OK 2026-07-13T04:25:01.028430Z 01O * checking examples with --run-donttest ... OK 2026-07-13T04:25:08.163965Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-07-13T04:25:08.216949Z 01O * checking tests ... 2026-07-13T04:25:08.337913Z 01O Running ‘autoprint.R’ 2026-07-13T04:25:08.533865Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-07-13T04:25:08.539048Z 01O Running ‘froll.R’ [323s/323s] 2026-07-13T04:30:31.109807Z 01O Running ‘litedown.R’ 2026-07-13T04:30:31.370201Z 01O Running ‘main.R’ [35s/35s] 2026-07-13T04:31:06.499805Z 01O Running ‘mergelist.R’ 2026-07-13T04:31:07.808337Z 01O Running ‘nafill.R’ 2026-07-13T04:31:08.219763Z 01O Running ‘optimize.R’ 2026-07-13T04:31:09.289065Z 01O Running ‘other.R’ 2026-07-13T04:31:09.460459Z 01O Running ‘programming.R’ 2026-07-13T04:31:09.922260Z 01O Running ‘S4.R’ 2026-07-13T04:31:10.171254Z 01O Running ‘types.R’ 2026-07-13T04:31:10.356731Z 01O [362s/362s] OK 2026-07-13T04:31:10.441695Z 01O * checking for unstated dependencies in vignettes ... OK 2026-07-13T04:31:10.673941Z 01O * checking package vignettes ... OK 2026-07-13T04:31:11.150975Z 01O * checking re-building of vignette outputs ... [26s/27s] OK 2026-07-13T04:31:38.180516Z 01O * checking PDF version of manual ... OK 2026-07-13T04:31:43.116183Z 01O * checking HTML version of manual ... NOTE 2026-07-13T04:31:47.522128Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-07-13T04:31:47.522314Z 01O * checking for non-standard things in the check directory ... OK 2026-07-13T04:31:47.522651Z 01O * checking for detritus in the temp directory ... OK 2026-07-13T04:31:47.523095Z 01O * DONE 2026-07-13T04:31:47.523389Z 01E 2026-07-13T04:31:47.523414Z 01O Status: 1 NOTE 2026-07-13T04:31:47.523552Z 01E See 2026-07-13T04:31:47.523552Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-07-13T04:31:47.523553Z 01E for details. 2026-07-13T04:31:47.523582Z 01E 2026-07-13T04:31:47.535048Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-07-13T04:31:47.536502Z 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-13T04:31:47.806243Z 00O section_end:1783917107:step_script 2026-07-13T04:31:47.806249Z 00O+section_start:1783917107:after_script 2026-07-13T04:31:47.806650Z 00O+Running after_script 2026-07-13T04:31:48.081141Z 01O Running after script... 2026-07-13T04:31:48.081162Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-07-13T04:31:48.081958Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-07-13T04:31:48.082007Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-07-13T04:31:48.082066Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-07-13T04:31:48.082069Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-07-13T04:31:48.215041Z 00O section_end:1783917108:after_script 2026-07-13T04:31:48.215047Z 00O+section_start:1783917108:upload_artifacts_on_success 2026-07-13T04:31:48.215766Z 00O+Uploading artifacts for successful job 2026-07-13T04:31:48.531996Z 01O Uploading artifacts... 2026-07-13T04:31:48.577486Z 01E bus/test-lin-dev-clang-cran: found 716 matching artifact files and directories 2026-07-13T04:31:50.645159Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=2699402f7e5f4c0abdfdb5a8a61634c6 id=15308171293 status=201 token=71_ZxfEsD 2026-07-13T04:31:50.787292Z 00O section_end:1783917110:upload_artifacts_on_success 2026-07-13T04:31:50.787298Z 00O+section_start:1783917110:cleanup_file_variables 2026-07-13T04:31:50.787396Z 00O+Cleaning up project directory and file based variables 2026-07-13T04:31:51.197677Z 00O section_end:1783917111:cleanup_file_variables 2026-07-13T04:31:51.197683Z 00O+ 2026-07-13T04:31:51.221347Z 00O Job succeeded