2026-10-12T04:21:04.695286Z 00O Running with gitlab-runner 19.5.0~pre.2272.g28a18501 (28a18501) 2026-10-12T04:21:04.695314Z 00O  on k8s.saas-linux-medium-amd64.runners-manager.gitlab.com/default j8vTLRhES, system ID: r_lfNEIh9508Su 2026-10-12T04:21:04.695318Z 00O  UUID: 01a01aa6-2f91-7d2c-b24d-7e2d2752ac58 2026-10-12T04:21:04.695334Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true, FF_MACHINE_OPTIONS_EXPAND_ENV:true, FF_DOCKER_MACHINE_JSON_OUTPUT:true 2026-10-12T04:21:04.695381Z 00O Resolving secrets 2026-10-12T04:21:04.695661Z 00O section_start:1791778864:prepare_executor  2026-10-12T04:21:04.695669Z 00O+Preparing the "docker+machine" executor 2026-10-12T04:21:04.839171Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-10-12T04:21:04.839247Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.5.0 ) 2026-10-12T04:21:04.839260Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 2026-10-12T04:21:04.840026Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-10-12T04:21:04.840037Z 00O Pulling docker image registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 ... 2026-10-12T04:21:06.278271Z 00O Using docker image sha256:08749606eabcea842cbd189a80b2f3d7670b949f70dfc654d45d8b81554bd837 for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:eea1152121f06d47f94871fef69559be0a87c75212f227e34e7617d1a3bbe6c3 ... 2026-10-12T04:21:07.919052Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.5.0 ) 2026-10-12T04:21:07.919087Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 2026-10-12T04:21:07.920205Z 00O Using docker image sha256:08749606eabcea842cbd189a80b2f3d7670b949f70dfc654d45d8b81554bd837 for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:eea1152121f06d47f94871fef69559be0a87c75212f227e34e7617d1a3bbe6c3 ... 2026-10-12T04:21:07.920223Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-10-12T04:21:07.921024Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-10-12T04:21:07.921038Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-10-12T04:21:25.809947Z 00O Using docker image sha256:d04a30bc20d0b7ee001ad3b8b5c257ddf3a0704d310ca42eaa6c8272543bcc4f for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:248db4040a4bd544ed22f8e4a2a2e62e60bde057849d759198108dcecf9abee7 ... 2026-10-12T04:21:25.810115Z 00O section_end:1791778885:prepare_executor  2026-10-12T04:21:25.810317Z 00O+section_start:1791778885:prepare_script  2026-10-12T04:21:25.810327Z 00O+Preparing environment 2026-10-12T04:21:25.810386Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.5.0 ) 2026-10-12T04:21:25.810403Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 2026-10-12T04:21:25.811596Z 00O Using docker image sha256:08749606eabcea842cbd189a80b2f3d7670b949f70dfc654d45d8b81554bd837 for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-28a18501 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:eea1152121f06d47f94871fef69559be0a87c75212f227e34e7617d1a3bbe6c3 ... 2026-10-12T04:21:25.811625Z 00O Using effective pull policy of [always] for container sha256:08749606eabcea842cbd189a80b2f3d7670b949f70dfc654d45d8b81554bd837 2026-10-12T04:21:32.442119Z 01O Running on runner-j8vtlrhes-project-3622566-concurrent-0 via runner-j8vtlrhes-s-l-m-amd64-1791778803-301d0e10... 2026-10-12T04:21:32.444603Z 01O Running on CPU: INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.10GHz (avx, avx2, avx512f) 2026-10-12T04:21:32.592312Z 00O section_end:1791778892:prepare_script  2026-10-12T04:21:32.593183Z 00O+section_start:1791778892:get_sources  2026-10-12T04:21:32.593191Z 00O+Getting source from Git repository 2026-10-12T04:21:32.919744Z 01O Gitaly correlation ID: 762b6ac08e684ece8f0afb4332c0e62e 2026-10-12T04:21:32.924983Z 01O Fetching changes... 2026-10-12T04:21:32.928079Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-10-12T04:21:32.929997Z 01O Created fresh repository. 2026-10-12T04:21:38.554275Z 01O Checking out df59dd63 as detached HEAD (ref is master)... 2026-10-12T04:21:38.728752Z 01O 2026-10-12T04:21:38.728761Z 01O Skipping Git submodules setup 2026-10-12T04:21:38.728765Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-10-12T04:21:38.921410Z 00O section_end:1791778898:get_sources  2026-10-12T04:21:38.922585Z 00O+section_start:1791778898:download_artifacts  2026-10-12T04:21:38.922596Z 00O+Downloading artifacts 2026-10-12T04:21:39.264375Z 01O Downloading artifacts for build (17100991411)... 2026-10-12T04:21:39.422979Z 01E Direct download from storage.googleapis.com  correlation_id=6b6294b0558b47789a3558ba378200ce id=17100991411 status=302 token=74_Y1AG5o 2026-10-12T04:21:39.657884Z 01E Downloading artifacts from coordinator... ok  correlation_id=6b6294b0558b47789a3558ba378200ce id=17100991411 status=302 token=74_Y1AG5o 2026-10-12T04:21:39.666817Z 01O Downloading artifacts for mirror-packages (17100991410)... 2026-10-12T04:21:39.853119Z 01E Direct download from storage.googleapis.com  correlation_id=cd886930adb946fa828b28b2261d9698 id=17100991410 status=302 token=74_Y1AG5o 2026-10-12T04:21:40.477376Z 01E Downloading artifacts from coordinator... ok  correlation_id=cd886930adb946fa828b28b2261d9698 id=17100991410 status=302 token=74_Y1AG5o 2026-10-12T04:21:41.559251Z 00O section_end:1791778901:download_artifacts  2026-10-12T04:21:41.560070Z 00O+section_start:1791778901:step_script  2026-10-12T04:21:41.560084Z 00O+Executing "step_script" stage of the job script 2026-10-12T04:21:41.560103Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-10-12T04:21:41.561552Z 00O Using docker image sha256:d04a30bc20d0b7ee001ad3b8b5c257ddf3a0704d310ca42eaa6c8272543bcc4f for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:248db4040a4bd544ed22f8e4a2a2e62e60bde057849d759198108dcecf9abee7 ... 2026-10-12T04:21:41.878736Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-10-12T04:21:41.885354Z 01O $ mkdir -p ~/.R 2026-10-12T04:21:41.886311Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-10-12T04:21:41.886313Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-10-12T04:21:41.886318Z 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-10-12T04:21:42.091872Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-10-12T04:21:42.091886Z 01E 2026-10-12T04:22:47.159356Z 01E Updating HTML index of packages in '.Library' 2026-10-12T04:22:47.159977Z 01E Making 'packages.html' ... done 2026-10-12T04:22:47.170534Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-10-12T04:22:47.187301Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-10-12T04:22:53.350156Z 01E 2 warnings generated. 2026-10-12T04:22:53.350184Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-10-12T04:22:55.786147Z 01E 2 warnings generated. 2026-10-12T04:22:55.786351Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-10-12T04:23:01.236659Z 01E 2 warnings generated. 2026-10-12T04:23:01.236685Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-10-12T04:23:01.425899Z 01E 6 warnings generated. 2026-10-12T04:23:01.426072Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-10-12T04:23:03.604398Z 01E 6 warnings generated. 2026-10-12T04:23:03.604500Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-10-12T04:23:05.392616Z 01E 6 warnings generated. 2026-10-12T04:23:05.392713Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-10-12T04:23:05.606247Z 01E 6 warnings generated. 2026-10-12T04:23:05.606322Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-10-12T04:23:09.018232Z 01E 6 warnings generated. 2026-10-12T04:23:09.018363Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-10-12T04:23:09.065830Z 01E 8 warnings generated. 2026-10-12T04:23:09.065906Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-10-12T04:23:11.401505Z 01E 11 warnings generated. 2026-10-12T04:23:11.401616Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-10-12T04:23:15.546189Z 01E 12 warnings generated. 2026-10-12T04:23:15.546221Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-10-12T04:23:18.666565Z 01E 13 warnings generated. 2026-10-12T04:23:18.666694Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-10-12T04:23:25.245963Z 01E 14 warnings generated. 2026-10-12T04:23:25.245980Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-10-12T04:23:27.861541Z 01E 14 warnings generated. 2026-10-12T04:23:27.861689Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-10-12T04:23:32.419479Z 01E 26 warnings generated. 2026-10-12T04:23:32.419787Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-10-12T04:23:39.281482Z 01E 29 warnings generated. 2026-10-12T04:23:39.281502Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-10-12T04:23:47.549764Z 01E 35 warnings generated. 2026-10-12T04:23:47.549792Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-10-12T04:23:50.349749Z 01E 36 warnings generated. 2026-10-12T04:23:50.349936Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-10-12T04:23:52.305135Z 01E 39 warnings generated. 2026-10-12T04:23:52.305408Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-10-12T04:23:52.348868Z 01E 39 warnings generated. 2026-10-12T04:23:52.348937Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-10-12T04:23:52.618547Z 01E 39 warnings generated. 2026-10-12T04:23:52.618688Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-10-12T04:23:57.763900Z 01E 41 warnings generated. 2026-10-12T04:23:57.763928Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-10-12T04:24:00.430886Z 01E 41 warnings generated. 2026-10-12T04:24:00.431056Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-10-12T04:24:11.899274Z 01E 46 warnings generated. 2026-10-12T04:24:11.899297Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-10-12T04:24:12.001758Z 01E 47 warnings generated. 2026-10-12T04:24:12.001919Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-10-12T04:24:12.220826Z 01E 47 warnings generated. 2026-10-12T04:24:12.221042Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-10-12T04:24:16.079533Z 01E 50 warnings generated. 2026-10-12T04:24:16.079630Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-10-12T04:24:16.121947Z 01E 50 warnings generated. 2026-10-12T04:24:16.122056Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-10-12T04:24:16.150579Z 01E 50 warnings generated. 2026-10-12T04:24:16.150621Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-10-12T04:24:16.844404Z 01E 50 warnings generated. 2026-10-12T04:24:16.844560Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-10-12T04:24:19.505408Z 01E 63 warnings generated. 2026-10-12T04:24:19.505643Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-10-12T04:24:19.532696Z 01E 63 warnings generated. 2026-10-12T04:24:19.532771Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-10-12T04:24:19.575443Z 01E 63 warnings generated. 2026-10-12T04:24:19.575483Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-10-12T04:24:19.697946Z 01E 64 warnings generated. 2026-10-12T04:24:19.698231Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-10-12T04:24:20.055210Z 01E 64 warnings generated. 2026-10-12T04:24:20.055557Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-10-12T04:24:20.692133Z 01E 64 warnings generated. 2026-10-12T04:24:20.692246Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-10-12T04:24:23.494289Z 01E 70 warnings generated. 2026-10-12T04:24:23.494580Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-10-12T04:24:25.665029Z 01E 70 warnings generated. 2026-10-12T04:24:25.665134Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-10-12T04:24:25.690653Z 01E 70 warnings generated. 2026-10-12T04:24:25.690685Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-10-12T04:24:28.087261Z 01E 70 warnings generated. 2026-10-12T04:24:28.087570Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-10-12T04:24:29.113059Z 01E 72 warnings generated. 2026-10-12T04:24:29.113204Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-10-12T04:24:29.412121Z 01E 72 warnings generated. 2026-10-12T04:24:29.412368Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-10-12T04:24:31.625155Z 01E 72 warnings generated. 2026-10-12T04:24:31.625430Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-10-12T04:24:31.897624Z 01E 72 warnings generated. 2026-10-12T04:24:31.897905Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-10-12T04:24:37.622033Z 01E 72 warnings generated. 2026-10-12T04:24:37.622061Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-10-12T04:24:38.455800Z 01E 72 warnings generated. 2026-10-12T04:24:38.455940Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-10-12T04:24:38.489179Z 01E 72 warnings generated. 2026-10-12T04:24:38.489330Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-10-12T04:24:40.867675Z 01E 72 warnings generated. 2026-10-12T04:24:40.868542Z 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-10-12T04:24:40.868549Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-12T04:24:40.868621Z 01O | ^ 2026-10-12T04:24:40.868623Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-10-12T04:24:40.868624Z 01O 934 | const STYPE val = sd[soff]; \ 2026-10-12T04:24:40.868625Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.868627Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-10-12T04:24:40.868629Z 01O 711 | if (len<1) return NULL; 2026-10-12T04:24:40.868629Z 01O | ^~~~~ 2026-10-12T04:24:40.868630Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-10-12T04:24:40.868631Z 01O 711 | if (len<1) return NULL; 2026-10-12T04:24:40.868631Z 01O | ^ 2026-10-12T04:24:40.868632Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-10-12T04:24:40.868633Z 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-10-12T04:24:40.868633Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.868634Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-10-12T04:24:40.868635Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-10-12T04:24:40.868635Z 01O 713 | if (slen==0) return NULL; 2026-10-12T04:24:40.868636Z 01O | ^~~~~~~ 2026-10-12T04:24:40.868636Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-10-12T04:24:40.868637Z 01O 713 | if (slen==0) return NULL; 2026-10-12T04:24:40.868637Z 01O | ^ 2026-10-12T04:24:40.868638Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-10-12T04:24:40.868638Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-10-12T04:24:40.868639Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.868639Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-10-12T04:24:40.868640Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-10-12T04:24:40.868641Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-10-12T04:24:40.868642Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.868642Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-10-12T04:24:40.868643Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-10-12T04:24:40.868643Z 01O | ^ 2026-10-12T04:24:40.868644Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-10-12T04:24:40.868644Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-10-12T04:24:40.868645Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.868645Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-10-12T04:24:40.868646Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-10-12T04:24:40.868646Z 01O | ^ 2026-10-12T04:24:40.868647Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-10-12T04:24:40.868647Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-10-12T04:24:40.868648Z 01O | ^~~~~~ 2026-10-12T04:24:40.868648Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-10-12T04:24:40.868649Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-10-12T04:24:40.868649Z 01O | ^ 2026-10-12T04:24:40.868650Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-10-12T04:24:40.868650Z 01O 723 | if (colname==NULL) 2026-10-12T04:24:40.868651Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.868651Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-10-12T04:24:40.868659Z 01O 723 | if (colname==NULL) 2026-10-12T04:24:40.868659Z 01O | ^ 2026-10-12T04:24:40.868659Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-10-12T04:24:40.868660Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-10-12T04:24:40.868660Z 01O | ^ 2026-10-12T04:24:40.868661Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-10-12T04:24:40.868661Z 01O 963 | #define isReal Rf_isReal 2026-10-12T04:24:40.868662Z 01O | ^ 2026-10-12T04:24:40.868662Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-10-12T04:24:40.868663Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-10-12T04:24:40.868663Z 01O | ^ 2026-10-12T04:24:40.868664Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-10-12T04:24:40.868664Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-10-12T04:24:40.868665Z 01O | ^ 2026-10-12T04:24:40.868665Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-10-12T04:24:40.868666Z 01O 963 | #define isReal Rf_isReal 2026-10-12T04:24:40.868666Z 01O | ^ 2026-10-12T04:24:40.868667Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-10-12T04:24:40.868667Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-10-12T04:24:40.868668Z 01O | ^ 2026-10-12T04:24:40.868668Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-10-12T04:24:40.868669Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-10-12T04:24:40.868669Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.868670Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-10-12T04:24:40.868670Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-10-12T04:24:40.868671Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-10-12T04:24:40.868671Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.868672Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-10-12T04:24:40.868672Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-10-12T04:24:40.868673Z 01O | ^ 2026-10-12T04:24:40.868673Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-10-12T04:24:40.868674Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-10-12T04:24:40.868674Z 01O | ^ 2026-10-12T04:24:40.868696Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-10-12T04:24:40.868697Z 01O 966 | #define isString Rf_isString 2026-10-12T04:24:40.868697Z 01O | ^ 2026-10-12T04:24:40.868698Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-10-12T04:24:40.868698Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-10-12T04:24:40.868699Z 01O | ^ 2026-10-12T04:24:40.868700Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-10-12T04:24:40.868700Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-10-12T04:24:40.868701Z 01O | ^ 2026-10-12T04:24:40.868701Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-10-12T04:24:40.868702Z 01O 955 | #define isNewList Rf_isNewList 2026-10-12T04:24:40.868710Z 01O | ^ 2026-10-12T04:24:40.868710Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-10-12T04:24:40.868711Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-10-12T04:24:40.868711Z 01O | ^ 2026-10-12T04:24:40.868712Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-10-12T04:24:40.868713Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-10-12T04:24:40.868713Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.868714Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-10-12T04:24:40.868719Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-10-12T04:24:40.868719Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-10-12T04:24:40.868720Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.868725Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-10-12T04:24:40.868725Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-10-12T04:24:40.868726Z 01O | ^ 2026-10-12T04:24:40.868730Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-10-12T04:24:40.868731Z 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-10-12T04:24:40.868732Z 01O | ^ 2026-10-12T04:24:40.868732Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868733Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868733Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.868737Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-10-12T04:24:40.868738Z 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-10-12T04:24:40.868738Z 01O | ^ 2026-10-12T04:24:40.868739Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868739Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868740Z 01O | ^ 2026-10-12T04:24:40.868744Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-10-12T04:24:40.868745Z 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-10-12T04:24:40.868746Z 01O | ^ 2026-10-12T04:24:40.868746Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868747Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868747Z 01O | ^ 2026-10-12T04:24:40.868752Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-10-12T04:24:40.868752Z 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-10-12T04:24:40.868753Z 01O | ^ 2026-10-12T04:24:40.868753Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868754Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868760Z 01O | ^ 2026-10-12T04:24:40.868765Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-10-12T04:24:40.868765Z 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-10-12T04:24:40.868766Z 01O | ^~~~~~ 2026-10-12T04:24:40.868767Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-10-12T04:24:40.868767Z 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-10-12T04:24:40.868768Z 01O | ^ 2026-10-12T04:24:40.868771Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868771Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868772Z 01O | ^ 2026-10-12T04:24:40.868775Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-10-12T04:24:40.868776Z 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-10-12T04:24:40.868777Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.868780Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-10-12T04:24:40.868781Z 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-10-12T04:24:40.868782Z 01O | ^ 2026-10-12T04:24:40.868782Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868783Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868783Z 01O | ^ 2026-10-12T04:24:40.868795Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-10-12T04:24:40.868796Z 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-10-12T04:24:40.868797Z 01O | ^~~~~~~ 2026-10-12T04:24:40.868797Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-10-12T04:24:40.868798Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-10-12T04:24:40.868798Z 01O | ^ 2026-10-12T04:24:40.868799Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868799Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868800Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.868806Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-10-12T04:24:40.868806Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-10-12T04:24:40.868807Z 01O | ^ 2026-10-12T04:24:40.868807Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868808Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868808Z 01O | ^ 2026-10-12T04:24:40.868815Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-10-12T04:24:40.868816Z 01O 974 | switch (TYPEOF(target)) { 2026-10-12T04:24:40.868823Z 01O | ^ 2026-10-12T04:24:40.868824Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-10-12T04:24:40.868824Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-12T04:24:40.868825Z 01O | ^~~ 2026-10-12T04:24:40.868825Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-10-12T04:24:40.868826Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-10-12T04:24:40.868826Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-12T04:24:40.868827Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.868833Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-10-12T04:24:40.868834Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-12T04:24:40.868834Z 01O | ^ 2026-10-12T04:24:40.868837Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-10-12T04:24:40.868837Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-12T04:24:40.868862Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.868934Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-10-12T04:24:40.868935Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-10-12T04:24:40.868936Z 01O | ^ 2026-10-12T04:24:40.868979Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-10-12T04:24:40.868980Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-12T04:24:40.868980Z 01O | ^ 2026-10-12T04:24:40.868981Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-10-12T04:24:40.868982Z 01O 932 | if (length(where)) { \ 2026-10-12T04:24:40.868982Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.868983Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.868983Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.868984Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.868985Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-10-12T04:24:40.868986Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-12T04:24:40.868987Z 01O | ^ 2026-10-12T04:24:40.868987Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-10-12T04:24:40.868989Z 01O 932 | if (length(where)) { \ 2026-10-12T04:24:40.868990Z 01O | ^ 2026-10-12T04:24:40.868993Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-10-12T04:24:40.868994Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-12T04:24:40.868994Z 01O | ^ 2026-10-12T04:24:40.868995Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-10-12T04:24:40.868996Z 01O 933 | if (slen==1) { \ 2026-10-12T04:24:40.868997Z 01O | ^~~~ 2026-10-12T04:24:40.869000Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-10-12T04:24:40.869001Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-12T04:24:40.869002Z 01O | ^ 2026-10-12T04:24:40.869004Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-10-12T04:24:40.869004Z 01O 933 | if (slen==1) { \ 2026-10-12T04:24:40.869005Z 01O | ^ 2026-10-12T04:24:40.869043Z 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-10-12T04:24:40.869044Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-10-12T04:24:40.869045Z 01O | ^ 2026-10-12T04:24:40.869045Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-10-12T04:24:40.869045Z 01O 934 | const STYPE val = sd[soff]; \ 2026-10-12T04:24:40.869046Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.869114Z 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-10-12T04:24:40.869115Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-10-12T04:24:40.869116Z 01O | ^~~~~ 2026-10-12T04:24:40.869117Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-10-12T04:24:40.869118Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-12T04:24:40.869118Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.869119Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-10-12T04:24:40.869120Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-12T04:24:40.869120Z 01O | ^ 2026-10-12T04:24:40.869121Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-10-12T04:24:40.869122Z 01O 6 | if (chin && chmatchdup) 2026-10-12T04:24:40.869122Z 01O | ^~~~ 2026-10-12T04:24:40.869123Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-10-12T04:24:40.869124Z 01O 6 | if (chin && chmatchdup) 2026-10-12T04:24:40.869124Z 01O | ^ 2026-10-12T04:24:40.869125Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-10-12T04:24:40.869125Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-12T04:24:40.869126Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.869126Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-10-12T04:24:40.869127Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-12T04:24:40.869128Z 01O | ^ 2026-10-12T04:24:40.869132Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-10-12T04:24:40.869133Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-12T04:24:40.869133Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.869134Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-10-12T04:24:40.869134Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-12T04:24:40.869135Z 01O | ^ 2026-10-12T04:24:40.869138Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-10-12T04:24:40.869139Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-10-12T04:24:40.869140Z 01O | ^ 2026-10-12T04:24:40.869141Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-10-12T04:24:40.869142Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-10-12T04:24:40.869142Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-12T04:24:40.869144Z 01O | ^~~~~~~ 2026-10-12T04:24:40.869201Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-10-12T04:24:40.869202Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-12T04:24:40.869202Z 01O | ^ 2026-10-12T04:24:40.869203Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-10-12T04:24:40.869213Z 01O 31 | if (tablelen==0) { 2026-10-12T04:24:40.869214Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.869214Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-10-12T04:24:40.869215Z 01O 31 | if (tablelen==0) { 2026-10-12T04:24:40.869215Z 01O | ^ 2026-10-12T04:24:40.869215Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-10-12T04:24:40.869216Z 01O 40 | if (isSymbol(x)) { 2026-10-12T04:24:40.869216Z 01O | ^ 2026-10-12T04:24:40.869282Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-10-12T04:24:40.869283Z 01O 953 | #define isSymbol Rf_isSymbol 2026-10-12T04:24:40.869283Z 01O | ^ 2026-10-12T04:24:40.869284Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-10-12T04:24:40.869285Z 01O 40 | if (isSymbol(x)) { 2026-10-12T04:24:40.869285Z 01O | ^ 2026-10-12T04:24:40.869286Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-10-12T04:24:40.869286Z 01O 46 | if (xlen==1) { 2026-10-12T04:24:40.869287Z 01O | ^~~~~~~ 2026-10-12T04:24:40.869287Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-10-12T04:24:40.869288Z 01O 46 | if (xlen==1) { 2026-10-12T04:24:40.869289Z 01O | ^ 2026-10-12T04:24:40.869289Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-10-12T04:24:40.869290Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869291Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.869291Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-10-12T04:24:40.869292Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-10-12T04:24:40.869293Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869294Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.869294Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-10-12T04:24:40.869295Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869296Z 01O | ^ 2026-10-12T04:24:40.869296Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-10-12T04:24:40.869297Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-12T04:24:40.869297Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.869298Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.869299Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-12T04:24:40.869299Z 01O | ^ 2026-10-12T04:24:40.869300Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-10-12T04:24:40.869301Z 01O 66 | if (tl == 0) { 2026-10-12T04:24:40.869301Z 01O | ^~~~~~~ 2026-10-12T04:24:40.869302Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-10-12T04:24:40.869302Z 01O 66 | if (tl == 0) { 2026-10-12T04:24:40.869303Z 01O | ^ 2026-10-12T04:24:40.869303Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-10-12T04:24:40.869304Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-12T04:24:40.869305Z 01O | ^ 2026-10-12T04:24:40.869305Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.869306Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-10-12T04:24:40.869306Z 01O | ^ 2026-10-12T04:24:40.869307Z 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-10-12T04:24:40.869308Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-10-12T04:24:40.869316Z 01O | ^~~~~ 2026-10-12T04:24:40.869338Z 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-10-12T04:24:40.869339Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-10-12T04:24:40.869339Z 01O | ^~~~~ 2026-10-12T04:24:40.869340Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-10-12T04:24:40.869341Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-12T04:24:40.869341Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.869345Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-10-12T04:24:40.869345Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-10-12T04:24:40.869346Z 01O | ^ 2026-10-12T04:24:40.869346Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-10-12T04:24:40.869347Z 01O 6 | if (chin && chmatchdup) 2026-10-12T04:24:40.869347Z 01O | ^~~~ 2026-10-12T04:24:40.869348Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-10-12T04:24:40.869348Z 01O 6 | if (chin && chmatchdup) 2026-10-12T04:24:40.869349Z 01O | ^ 2026-10-12T04:24:40.869351Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-10-12T04:24:40.869352Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-12T04:24:40.869352Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.869352Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-10-12T04:24:40.869353Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-10-12T04:24:40.869353Z 01O | ^ 2026-10-12T04:24:40.869358Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-10-12T04:24:40.869358Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-12T04:24:40.869359Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.869359Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-10-12T04:24:40.869360Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-10-12T04:24:40.869360Z 01O | ^ 2026-10-12T04:24:40.869361Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-10-12T04:24:40.869361Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-10-12T04:24:40.869362Z 01O | ^ 2026-10-12T04:24:40.869362Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-10-12T04:24:40.869380Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-10-12T04:24:40.869380Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-12T04:24:40.869381Z 01O | ^~~~~~~ 2026-10-12T04:24:40.869381Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-10-12T04:24:40.869382Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-10-12T04:24:40.869382Z 01O | ^ 2026-10-12T04:24:40.869383Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-10-12T04:24:40.869383Z 01O 31 | if (tablelen==0) { 2026-10-12T04:24:40.869384Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.869386Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-10-12T04:24:40.869386Z 01O 31 | if (tablelen==0) { 2026-10-12T04:24:40.869387Z 01O | ^ 2026-10-12T04:24:40.869435Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-10-12T04:24:40.869436Z 01O 40 | if (isSymbol(x)) { 2026-10-12T04:24:40.869446Z 01O | ^ 2026-10-12T04:24:40.869446Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-10-12T04:24:40.869447Z 01O 953 | #define isSymbol Rf_isSymbol 2026-10-12T04:24:40.869447Z 01O | ^ 2026-10-12T04:24:40.869448Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-10-12T04:24:40.869448Z 01O 40 | if (isSymbol(x)) { 2026-10-12T04:24:40.869449Z 01O | ^ 2026-10-12T04:24:40.869449Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-10-12T04:24:40.869450Z 01O 46 | if (xlen==1) { 2026-10-12T04:24:40.869450Z 01O | ^~~~~~~ 2026-10-12T04:24:40.869451Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-10-12T04:24:40.869451Z 01O 46 | if (xlen==1) { 2026-10-12T04:24:40.869451Z 01O | ^ 2026-10-12T04:24:40.869452Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-10-12T04:24:40.869452Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869453Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.869473Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-10-12T04:24:40.869474Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869475Z 01O | ^ 2026-10-12T04:24:40.869475Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-10-12T04:24:40.869476Z 01O 99 | for (int i=0; i= 'tablelen' 2026-10-12T04:24:40.869508Z 01O 123 | for (int i=0; i= 'tablelen' 2026-10-12T04:24:40.869570Z 01O 125 | for (int i=0; i= 0 2026-10-12T04:24:40.869613Z 01O 129 | if (u<0) { 2026-10-12T04:24:40.869614Z 01O | ^~~ 2026-10-12T04:24:40.869614Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-10-12T04:24:40.869615Z 01O 129 | if (u<0) { 2026-10-12T04:24:40.869616Z 01O | ^ 2026-10-12T04:24:40.869637Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-10-12T04:24:40.869638Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-10-12T04:24:40.869936Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.869937Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-10-12T04:24:40.869937Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869938Z 01O | ^ 2026-10-12T04:24:40.869938Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-10-12T04:24:40.869939Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869939Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.869946Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-10-12T04:24:40.869946Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.869947Z 01O | ^ 2026-10-12T04:24:40.869947Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-10-12T04:24:40.869948Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-10-12T04:24:40.870233Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.870234Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-10-12T04:24:40.870241Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-10-12T04:24:40.870241Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.870242Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.870243Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-10-12T04:24:40.870243Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-10-12T04:24:40.870244Z 01O | ^ 2026-10-12T04:24:40.870244Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-10-12T04:24:40.870245Z 01O 99 | for (int i=0; i= 0 2026-10-12T04:24:40.870279Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-10-12T04:24:40.870279Z 01O | ^~~ 2026-10-12T04:24:40.870280Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-10-12T04:24:40.870280Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-10-12T04:24:40.870281Z 01O | ^ 2026-10-12T04:24:40.870287Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-10-12T04:24:40.870287Z 01O 144 | for (int i=0; i2) { 2026-10-12T04:24:40.870335Z 01O | ^ 2026-10-12T04:24:40.870335Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.870336Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.870337Z 01O | ^ 2026-10-12T04:24:40.870338Z 01O /builds/Rdatatable/data.table/src/fastmean.c:36:3: note: Taking false branch 2026-10-12T04:24:40.870338Z 01O 36 | if (length(args)>2) { 2026-10-12T04:24:40.870339Z 01O | ^ 2026-10-12T04:24:40.870365Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:7: note: Assuming the condition is false 2026-10-12T04:24:40.870366Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-12T04:24:40.870367Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.870367Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:21: note: Left side of '&&' is false 2026-10-12T04:24:40.870368Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-12T04:24:40.870368Z 01O | ^ 2026-10-12T04:24:40.870369Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: Assuming 'x_type' is equal to REALSXP 2026-10-12T04:24:40.870370Z 01O 49 | const int *xi = x_type == REALSXP ? NULL : INTEGER_RO(x); 2026-10-12T04:24:40.870370Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.870371Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: '?' condition is true 2026-10-12T04:24:40.870371Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:3: note: 'xi' initialized to a null pointer value 2026-10-12T04:24:40.870372Z 01O 49 | const int *xi = x_type == REALSXP ? NULL : INTEGER_RO(x); 2026-10-12T04:24:40.870372Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.870452Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: 'x_type' is equal to REALSXP 2026-10-12T04:24:40.870452Z 01O 50 | const double *xd = x_type == REALSXP ? REAL_RO(x) : NULL; 2026-10-12T04:24:40.870453Z 01O | ^~~~~~ 2026-10-12T04:24:40.870454Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: '?' condition is true 2026-10-12T04:24:40.870455Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:7: note: 'narm' is 0 2026-10-12T04:24:40.870455Z 01O 51 | if (narm) { 2026-10-12T04:24:40.870464Z 01O | ^~~~ 2026-10-12T04:24:40.870467Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:3: note: Taking false branch 2026-10-12T04:24:40.870467Z 01O 51 | if (narm) { 2026-10-12T04:24:40.870468Z 01O | ^ 2026-10-12T04:24:40.870468Z 01O /builds/Rdatatable/data.table/src/fastmean.c:89:5: note: Control jumps to 'case 13:' at line 91 2026-10-12T04:24:40.870469Z 01O 89 | switch(TYPEOF(x)) { 2026-10-12T04:24:40.870469Z 01O | ^ 2026-10-12T04:24:40.870469Z 01O /builds/Rdatatable/data.table/src/fastmean.c:92:21: note: Assuming 'i' is < 'l' 2026-10-12T04:24:40.870470Z 01O 92 | for (int i=0; i2) { 2026-10-12T04:24:40.870505Z 01O | ^ 2026-10-12T04:24:40.870505Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.870506Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.870506Z 01O | ^ 2026-10-12T04:24:40.870507Z 01O /builds/Rdatatable/data.table/src/fastmean.c:36:3: note: Taking false branch 2026-10-12T04:24:40.870508Z 01O 36 | if (length(args)>2) { 2026-10-12T04:24:40.870508Z 01O | ^ 2026-10-12T04:24:40.870515Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:7: note: Assuming the condition is false 2026-10-12T04:24:40.870516Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-12T04:24:40.870517Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.870517Z 01O /builds/Rdatatable/data.table/src/fastmean.c:44:21: note: Left side of '&&' is false 2026-10-12T04:24:40.870518Z 01O 44 | if (!isInteger(x) && !isReal(x) && !isLogical(x)) { 2026-10-12T04:24:40.870518Z 01O | ^ 2026-10-12T04:24:40.870549Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: Assuming 'x_type' is not equal to REALSXP 2026-10-12T04:24:40.870549Z 01O 49 | const int *xi = x_type == REALSXP ? NULL : INTEGER_RO(x); 2026-10-12T04:24:40.870550Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.870551Z 01O /builds/Rdatatable/data.table/src/fastmean.c:49:19: note: '?' condition is false 2026-10-12T04:24:40.870556Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: 'x_type' is not equal to REALSXP 2026-10-12T04:24:40.870557Z 01O 50 | const double *xd = x_type == REALSXP ? REAL_RO(x) : NULL; 2026-10-12T04:24:40.870558Z 01O | ^~~~~~ 2026-10-12T04:24:40.870558Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:22: note: '?' condition is false 2026-10-12T04:24:40.870559Z 01O /builds/Rdatatable/data.table/src/fastmean.c:50:3: note: 'xd' initialized to a null pointer value 2026-10-12T04:24:40.870559Z 01O 50 | const double *xd = x_type == REALSXP ? REAL_RO(x) : NULL; 2026-10-12T04:24:40.870560Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.870560Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:7: note: 'narm' is 0 2026-10-12T04:24:40.870569Z 01O 51 | if (narm) { 2026-10-12T04:24:40.870569Z 01O | ^~~~ 2026-10-12T04:24:40.870595Z 01O /builds/Rdatatable/data.table/src/fastmean.c:51:3: note: Taking false branch 2026-10-12T04:24:40.870596Z 01O 51 | if (narm) { 2026-10-12T04:24:40.870596Z 01O | ^ 2026-10-12T04:24:40.870597Z 01O /builds/Rdatatable/data.table/src/fastmean.c:89:5: note: Control jumps to 'case 14:' at line 98 2026-10-12T04:24:40.870598Z 01O 89 | switch(TYPEOF(x)) { 2026-10-12T04:24:40.870599Z 01O | ^ 2026-10-12T04:24:40.870604Z 01O /builds/Rdatatable/data.table/src/fastmean.c:99:21: note: Assuming 'i' is < 'l' 2026-10-12T04:24:40.870605Z 01O 99 | for (int i=0; i= 'nlhs' 2026-10-12T04:24:40.870626Z 01O 14 | for (int i=0; i= 'nlhs' 2026-10-12T04:24:40.870900Z 01O 14 | for (int i=0; i= 'nlhs' 2026-10-12T04:24:40.871014Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-10-12T04:24:40.872169Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.872189Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-10-12T04:24:40.872190Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-12T04:24:40.872199Z 01O | ^ 2026-10-12T04:24:40.872200Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.872200Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.872201Z 01O | ^ 2026-10-12T04:24:40.872201Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-10-12T04:24:40.872202Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-12T04:24:40.872202Z 01O | ^ 2026-10-12T04:24:40.872202Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.872203Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.872203Z 01O | ^ 2026-10-12T04:24:40.872204Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-10-12T04:24:40.872204Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-12T04:24:40.872204Z 01O | ^ 2026-10-12T04:24:40.872205Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.872205Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.872206Z 01O | ^ 2026-10-12T04:24:40.872206Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-10-12T04:24:40.872207Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-10-12T04:24:40.872207Z 01O | ^ 2026-10-12T04:24:40.872264Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-10-12T04:24:40.872265Z 01O 228 | for (int i=0; i= 'ncol' 2026-10-12T04:24:40.872269Z 01O 234 | for (int i=0; i= 'nidx' 2026-10-12T04:24:40.872370Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-10-12T04:24:40.872430Z 01O | ^~~~ 2026-10-12T04:24:40.872430Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-10-12T04:24:40.872431Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-10-12T04:24:40.872432Z 01O | ^ 2026-10-12T04:24:40.872432Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-10-12T04:24:40.872433Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-10-12T04:24:40.872464Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-10-12T04:24:40.873242Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-10-12T04:24:40.873516Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.873517Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-10-12T04:24:40.873518Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-10-12T04:24:40.873528Z 01O | ^ 2026-10-12T04:24:40.873530Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-10-12T04:24:40.873531Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-10-12T04:24:40.873532Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.873535Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-10-12T04:24:40.873536Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-10-12T04:24:40.873536Z 01O | ^ 2026-10-12T04:24:40.873536Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-10-12T04:24:40.873537Z 01O 326 | if (new_marks != marks) { 2026-10-12T04:24:40.873537Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.873538Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-10-12T04:24:40.873538Z 01O 326 | if (new_marks != marks) { 2026-10-12T04:24:40.873539Z 01O | ^ 2026-10-12T04:24:40.873539Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-10-12T04:24:40.873540Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-10-12T04:24:40.873540Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.873540Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-10-12T04:24:40.873541Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-10-12T04:24:40.873541Z 01O | ^ 2026-10-12T04:24:40.873563Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-10-12T04:24:40.873564Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-10-12T04:24:40.873564Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.873568Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-10-12T04:24:40.873569Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-10-12T04:24:40.873570Z 01O | ^ 2026-10-12T04:24:40.873572Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-10-12T04:24:40.873573Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-10-12T04:24:40.873573Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.873595Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-10-12T04:24:40.873596Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-10-12T04:24:40.873596Z 01O | ^ 2026-10-12T04:24:40.873597Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-10-12T04:24:40.873597Z 01O 338 | if (!anynotascii) 2026-10-12T04:24:40.873598Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.873598Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-10-12T04:24:40.873599Z 01O 338 | if (!anynotascii) 2026-10-12T04:24:40.873599Z 01O | ^ 2026-10-12T04:24:40.873601Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-10-12T04:24:40.873602Z 01O 340 | if (!IS_UTF8(s)) 2026-10-12T04:24:40.873602Z 01O | ^ 2026-10-12T04:24:40.873603Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-10-12T04:24:40.873603Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-10-12T04:24:40.873604Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.873621Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-10-12T04:24:40.873629Z 01O 925 | #define getCharCE Rf_getCharCE 2026-10-12T04:24:40.873629Z 01O | ^ 2026-10-12T04:24:40.873630Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-10-12T04:24:40.873630Z 01O 340 | if (!IS_UTF8(s)) 2026-10-12T04:24:40.873630Z 01O | ^ 2026-10-12T04:24:40.873631Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-10-12T04:24:40.873631Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-10-12T04:24:40.873727Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-10-12T04:24:40.873734Z 01O 364 | for (int i=0; i> 2026-10-12T04:24:40.874056Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874056Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-10-12T04:24:40.874057Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874058Z 01O 43 | 2026-10-12T04:24:40.874058Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-10-12T04:24:40.874059Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874059Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-10-12T04:24:40.874060Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874061Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-10-12T04:24:40.874061Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874062Z 01O 47 | 2026-10-12T04:24:40.874063Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-10-12T04:24:40.874063Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874064Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-10-12T04:24:40.874065Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874065Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-10-12T04:24:40.874066Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874066Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-10-12T04:24:40.874067Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874068Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-10-12T04:24:40.874068Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874069Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-10-12T04:24:40.874069Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874070Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-10-12T04:24:40.874070Z 01O 1410 | if (freadCleanup()) { 2026-10-12T04:24:40.874071Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.874071Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-10-12T04:24:40.874072Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-12T04:24:40.874085Z 01O | ^~~~ 2026-10-12T04:24:40.874085Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-10-12T04:24:40.874086Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-10-12T04:24:40.874086Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-12T04:24:40.874087Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874087Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-10-12T04:24:40.874088Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-12T04:24:40.874088Z 01O | ^ 2026-10-12T04:24:40.874110Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-10-12T04:24:40.874111Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-12T04:24:40.874111Z 01O | ^~~~ 2026-10-12T04:24:40.874114Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-10-12T04:24:40.874115Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-10-12T04:24:40.874115Z 01O | ^ 2026-10-12T04:24:40.874116Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-10-12T04:24:40.874117Z 01O 169 | if (mmp != NULL) { 2026-10-12T04:24:40.874117Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.874118Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-10-12T04:24:40.874118Z 01O 169 | if (mmp != NULL) { 2026-10-12T04:24:40.874118Z 01O | ^ 2026-10-12T04:24:40.874120Z 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-10-12T04:24:40.874121Z 01O 193 | quoteRule = -1; 2026-10-12T04:24:40.874122Z 01O | ^~ 2026-10-12T04:24:40.874131Z 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-10-12T04:24:40.874131Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-10-12T04:24:40.874132Z 01O | ^ ~~ 2026-10-12T04:24:40.874132Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-10-12T04:24:40.874133Z 01O 1410 | if (freadCleanup()) { 2026-10-12T04:24:40.874133Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.874133Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-10-12T04:24:40.874134Z 01O 1410 | if (freadCleanup()) { 2026-10-12T04:24:40.874134Z 01O | ^ 2026-10-12T04:24:40.874135Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.874135Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-12T04:24:40.874136Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874136Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-10-12T04:24:40.874137Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-12T04:24:40.874137Z 01O | ^ 2026-10-12T04:24:40.874154Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-10-12T04:24:40.874155Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-12T04:24:40.874155Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.874156Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-10-12T04:24:40.874157Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-12T04:24:40.874157Z 01O | ^ 2026-10-12T04:24:40.874168Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-10-12T04:24:40.874168Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-12T04:24:40.874169Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.874169Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-10-12T04:24:40.874170Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-12T04:24:40.874170Z 01O | ^ 2026-10-12T04:24:40.874171Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-10-12T04:24:40.874172Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-12T04:24:40.874172Z 01O | ^~~ 2026-10-12T04:24:40.874189Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-10-12T04:24:40.874190Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-12T04:24:40.874190Z 01O | ^ 2026-10-12T04:24:40.874193Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-10-12T04:24:40.874193Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-12T04:24:40.874194Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874197Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-10-12T04:24:40.874198Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-12T04:24:40.874199Z 01O | ^ 2026-10-12T04:24:40.874199Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-10-12T04:24:40.874199Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-12T04:24:40.874200Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874218Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-10-12T04:24:40.874219Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-12T04:24:40.874220Z 01O | ^ 2026-10-12T04:24:40.874220Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-10-12T04:24:40.874221Z 01O 1436 | while (*nastr) { 2026-10-12T04:24:40.874221Z 01O | ^ 2026-10-12T04:24:40.874222Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-10-12T04:24:40.874222Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-10-12T04:24:40.874223Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874223Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-10-12T04:24:40.874224Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-10-12T04:24:40.874224Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874241Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-10-12T04:24:40.874241Z 01O 1464 | if (verbose) { 2026-10-12T04:24:40.874242Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874242Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-10-12T04:24:40.874243Z 01O 1464 | if (verbose) { 2026-10-12T04:24:40.874243Z 01O | ^ 2026-10-12T04:24:40.874243Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-10-12T04:24:40.874244Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-10-12T04:24:40.874244Z 01O | ^ 2026-10-12T04:24:40.874293Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-10-12T04:24:40.874294Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-12T04:24:40.874294Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874304Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-10-12T04:24:40.874304Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-12T04:24:40.874305Z 01O | ^ 2026-10-12T04:24:40.874323Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-10-12T04:24:40.874323Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874324Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874327Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-10-12T04:24:40.874327Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874328Z 01O | ^ 2026-10-12T04:24:40.874328Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-10-12T04:24:40.874329Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874330Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.874391Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-10-12T04:24:40.874392Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874393Z 01O | ^ 2026-10-12T04:24:40.874396Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-10-12T04:24:40.874397Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-12T04:24:40.874398Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874398Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-10-12T04:24:40.874399Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-12T04:24:40.874400Z 01O | ^ 2026-10-12T04:24:40.874403Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-10-12T04:24:40.874404Z 01O 1515 | if (args.input) { 2026-10-12T04:24:40.874405Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.874406Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-10-12T04:24:40.874406Z 01O 1515 | if (args.input) { 2026-10-12T04:24:40.874407Z 01O | ^ 2026-10-12T04:24:40.874407Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-10-12T04:24:40.874408Z 01O 1522 | else if (args.filename) { 2026-10-12T04:24:40.874408Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.874409Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-10-12T04:24:40.874410Z 01O 1522 | else if (args.filename) { 2026-10-12T04:24:40.874411Z 01O | ^ 2026-10-12T04:24:40.874414Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-10-12T04:24:40.874415Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-10-12T04:24:40.874416Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874416Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-10-12T04:24:40.874417Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-10-12T04:24:40.874418Z 01O | ^ 2026-10-12T04:24:40.874435Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-10-12T04:24:40.874435Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-10-12T04:24:40.874436Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874436Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-10-12T04:24:40.874437Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-10-12T04:24:40.874437Z 01O | ^~~~~~ 2026-10-12T04:24:40.874440Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-10-12T04:24:40.874449Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-10-12T04:24:40.874450Z 01O | ^ 2026-10-12T04:24:40.874450Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-10-12T04:24:40.874451Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-10-12T04:24:40.874451Z 01O | ^ ~~ 2026-10-12T04:24:40.874469Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.874470Z 01O 1780 | pos = ch; 2026-10-12T04:24:40.874470Z 01O | ^ ~~ 2026-10-12T04:24:40.874470Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-10-12T04:24:40.874471Z 01O 1780 | pos = ch; 2026-10-12T04:24:40.874471Z 01O | ^ ~~ 2026-10-12T04:24:40.874474Z 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-10-12T04:24:40.874475Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-10-12T04:24:40.874476Z 01O | ^~ 2026-10-12T04:24:40.874599Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-10-12T04:24:40.874600Z 01O 38 | enum quote_rule_t 2026-10-12T04:24:40.874600Z 01O | ~~~~~^~~~~~~~~~~~ 2026-10-12T04:24:40.874601Z 01O 39 | { 2026-10-12T04:24:40.874601Z 01O | ~ 2026-10-12T04:24:40.874601Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-10-12T04:24:40.874602Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874603Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-10-12T04:24:40.874603Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874604Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-10-12T04:24:40.874605Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874605Z 01O 43 | 2026-10-12T04:24:40.874606Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-10-12T04:24:40.874607Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874607Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-10-12T04:24:40.874608Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874608Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-10-12T04:24:40.874609Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874609Z 01O 47 | 2026-10-12T04:24:40.874610Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-10-12T04:24:40.874611Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874611Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-10-12T04:24:40.874612Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874612Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-10-12T04:24:40.874613Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874613Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-10-12T04:24:40.874614Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874615Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-10-12T04:24:40.874616Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874625Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-10-12T04:24:40.874625Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874626Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-10-12T04:24:40.874626Z 01O 1410 | if (freadCleanup()) { 2026-10-12T04:24:40.874627Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.874627Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-10-12T04:24:40.874628Z 01O 1410 | if (freadCleanup()) { 2026-10-12T04:24:40.874628Z 01O | ^ 2026-10-12T04:24:40.874653Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.874654Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-12T04:24:40.874654Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874655Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-10-12T04:24:40.874655Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-10-12T04:24:40.874656Z 01O | ^ 2026-10-12T04:24:40.874659Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-10-12T04:24:40.874660Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-12T04:24:40.874660Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.874661Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-10-12T04:24:40.874661Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-10-12T04:24:40.874662Z 01O | ^ 2026-10-12T04:24:40.874664Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-10-12T04:24:40.874664Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-12T04:24:40.874665Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.874665Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-10-12T04:24:40.874666Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-10-12T04:24:40.874666Z 01O | ^ 2026-10-12T04:24:40.874666Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-10-12T04:24:40.874667Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-12T04:24:40.874667Z 01O | ^~~ 2026-10-12T04:24:40.874684Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-10-12T04:24:40.874685Z 01O 1420 | if (nth <= 0) nth = 1; 2026-10-12T04:24:40.874685Z 01O | ^ 2026-10-12T04:24:40.874686Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-10-12T04:24:40.874686Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-12T04:24:40.874687Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874689Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-10-12T04:24:40.874690Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-10-12T04:24:40.874691Z 01O | ^ 2026-10-12T04:24:40.874706Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-10-12T04:24:40.874707Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-12T04:24:40.874708Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874710Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-10-12T04:24:40.874711Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-10-12T04:24:40.874712Z 01O | ^ 2026-10-12T04:24:40.874712Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-10-12T04:24:40.874712Z 01O 1436 | while (*nastr) { 2026-10-12T04:24:40.874713Z 01O | ^ 2026-10-12T04:24:40.874741Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-10-12T04:24:40.874742Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-10-12T04:24:40.874742Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874743Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-10-12T04:24:40.874743Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-10-12T04:24:40.874744Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874745Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-10-12T04:24:40.874746Z 01O 1464 | if (verbose) { 2026-10-12T04:24:40.874746Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874761Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-10-12T04:24:40.874761Z 01O 1464 | if (verbose) { 2026-10-12T04:24:40.874762Z 01O | ^ 2026-10-12T04:24:40.874762Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-10-12T04:24:40.874763Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-10-12T04:24:40.874763Z 01O | ^ 2026-10-12T04:24:40.874805Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-10-12T04:24:40.874806Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-12T04:24:40.874806Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874810Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-10-12T04:24:40.874810Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-10-12T04:24:40.874811Z 01O | ^ 2026-10-12T04:24:40.874811Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-10-12T04:24:40.874812Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874813Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.874870Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-10-12T04:24:40.874871Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874872Z 01O | ^ 2026-10-12T04:24:40.874876Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-10-12T04:24:40.874877Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874877Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.874878Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-10-12T04:24:40.874878Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-10-12T04:24:40.874879Z 01O | ^ 2026-10-12T04:24:40.874879Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-10-12T04:24:40.874880Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-12T04:24:40.874880Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874881Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-10-12T04:24:40.874881Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-10-12T04:24:40.874882Z 01O | ^ 2026-10-12T04:24:40.874884Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-10-12T04:24:40.874884Z 01O 1515 | if (args.input) { 2026-10-12T04:24:40.874884Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.874902Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-10-12T04:24:40.874920Z 01O 1515 | if (args.input) { 2026-10-12T04:24:40.874920Z 01O | ^ 2026-10-12T04:24:40.874920Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-10-12T04:24:40.874921Z 01O 1522 | else if (args.filename) { 2026-10-12T04:24:40.874921Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.874924Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-10-12T04:24:40.874925Z 01O 1522 | else if (args.filename) { 2026-10-12T04:24:40.874926Z 01O | ^ 2026-10-12T04:24:40.874928Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-10-12T04:24:40.874929Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-10-12T04:24:40.874929Z 01O | ^ 2026-10-12T04:24:40.874950Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-10-12T04:24:40.874951Z 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-10-12T04:24:40.874952Z 01O | ^ 2026-10-12T04:24:40.874952Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-10-12T04:24:40.874953Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-10-12T04:24:40.874953Z 01O | ^~~~~~~ 2026-10-12T04:24:40.874953Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-10-12T04:24:40.874954Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-10-12T04:24:40.874955Z 01O | ^ 2026-10-12T04:24:40.874996Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-10-12T04:24:40.874997Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-10-12T04:24:40.874997Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.875021Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-10-12T04:24:40.875022Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-10-12T04:24:40.875023Z 01O | ^ 2026-10-12T04:24:40.875023Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-10-12T04:24:40.875024Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-10-12T04:24:40.875025Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.875025Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-10-12T04:24:40.875026Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-10-12T04:24:40.875027Z 01O | ^ 2026-10-12T04:24:40.875027Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-10-12T04:24:40.875028Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-10-12T04:24:40.875029Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.875064Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-10-12T04:24:40.875066Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-10-12T04:24:40.875066Z 01O | ^ 2026-10-12T04:24:40.875067Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-10-12T04:24:40.875068Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-10-12T04:24:40.875068Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.875071Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-10-12T04:24:40.875071Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-10-12T04:24:40.875081Z 01O | ^ 2026-10-12T04:24:40.875083Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-10-12T04:24:40.875084Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-10-12T04:24:40.875084Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.875103Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-10-12T04:24:40.875104Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-10-12T04:24:40.875104Z 01O | ^ 2026-10-12T04:24:40.875105Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-10-12T04:24:40.875105Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-10-12T04:24:40.875106Z 01O | ^~~~~~~ 2026-10-12T04:24:40.875108Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-10-12T04:24:40.875109Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-10-12T04:24:40.875110Z 01O | ^ 2026-10-12T04:24:40.875125Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-10-12T04:24:40.875126Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-10-12T04:24:40.875127Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875127Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-10-12T04:24:40.875128Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-10-12T04:24:40.875129Z 01O | ^ 2026-10-12T04:24:40.875146Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-10-12T04:24:40.875147Z 01O 1649 | while (ch < sample_end) { 2026-10-12T04:24:40.875148Z 01O | ^ 2026-10-12T04:24:40.875148Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-10-12T04:24:40.875149Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-10-12T04:24:40.875149Z 01O | ^~~~~~~ 2026-10-12T04:24:40.875172Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-10-12T04:24:40.875172Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-10-12T04:24:40.875173Z 01O | ^ 2026-10-12T04:24:40.875173Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-10-12T04:24:40.875174Z 01O 1674 | if (args.filename) { 2026-10-12T04:24:40.875174Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.875175Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-10-12T04:24:40.875175Z 01O 1674 | if (args.filename) { 2026-10-12T04:24:40.875176Z 01O | ^ 2026-10-12T04:24:40.875193Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-10-12T04:24:40.875193Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-10-12T04:24:40.875194Z 01O | ^~~~~~~ 2026-10-12T04:24:40.875194Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-10-12T04:24:40.875195Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-10-12T04:24:40.875195Z 01O | ^ 2026-10-12T04:24:40.875199Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-10-12T04:24:40.875200Z 01O 1752 | if (args.skipString) { 2026-10-12T04:24:40.875200Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875201Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-10-12T04:24:40.875202Z 01O 1752 | if (args.skipString) { 2026-10-12T04:24:40.875202Z 01O | ^ 2026-10-12T04:24:40.875202Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-10-12T04:24:40.875210Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-10-12T04:24:40.875211Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875229Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-10-12T04:24:40.875229Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-10-12T04:24:40.875230Z 01O | ^ 2026-10-12T04:24:40.875245Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-10-12T04:24:40.875246Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-10-12T04:24:40.875247Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.875249Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-10-12T04:24:40.875249Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-10-12T04:24:40.875250Z 01O | ^ 2026-10-12T04:24:40.875305Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-10-12T04:24:40.875305Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-10-12T04:24:40.875306Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.875307Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-10-12T04:24:40.875307Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-10-12T04:24:40.875308Z 01O | ^ 2026-10-12T04:24:40.875309Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-10-12T04:24:40.875309Z 01O 1789 | if (verbose) { 2026-10-12T04:24:40.875309Z 01O | ^~~~~~~ 2026-10-12T04:24:40.875310Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-10-12T04:24:40.875310Z 01O 1789 | if (verbose) { 2026-10-12T04:24:40.875311Z 01O | ^ 2026-10-12T04:24:40.875328Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-10-12T04:24:40.875329Z 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-10-12T04:24:40.875330Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.875330Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-10-12T04:24:40.875390Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-10-12T04:24:40.875391Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-10-12T04:24:40.875391Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875394Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-10-12T04:24:40.875394Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-10-12T04:24:40.875395Z 01O | ^ 2026-10-12T04:24:40.875411Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-10-12T04:24:40.875411Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-10-12T04:24:40.875412Z 01O | ^~~~~~~ 2026-10-12T04:24:40.875413Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-10-12T04:24:40.875413Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-10-12T04:24:40.875414Z 01O | ^ 2026-10-12T04:24:40.875416Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-10-12T04:24:40.875417Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-10-12T04:24:40.875427Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875427Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-10-12T04:24:40.875428Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-10-12T04:24:40.875428Z 01O | ^ 2026-10-12T04:24:40.875487Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-10-12T04:24:40.875488Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-10-12T04:24:40.875489Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.875489Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-10-12T04:24:40.875490Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-10-12T04:24:40.875490Z 01O 1836 | if (args.sep == '\0') { 2026-10-12T04:24:40.875491Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875492Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-10-12T04:24:40.875492Z 01O 1836 | if (args.sep == '\0') { 2026-10-12T04:24:40.875493Z 01O | ^ 2026-10-12T04:24:40.875495Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-10-12T04:24:40.875496Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-10-12T04:24:40.875497Z 01O | ^~~~~~~ 2026-10-12T04:24:40.875514Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-10-12T04:24:40.875515Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-10-12T04:24:40.875516Z 01O | ^ 2026-10-12T04:24:40.875518Z 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-10-12T04:24:40.875519Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-10-12T04:24:40.875520Z 01O | ^~ 2026-10-12T04:24:40.875524Z 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-10-12T04:24:40.875525Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-10-12T04:24:40.875525Z 01O | ^~~~~~~~~~~~~ ~~ 2026-10-12T04:24:40.875526Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-10-12T04:24:40.875527Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-10-12T04:24:40.875528Z 01O | ^~~~~~~~~~~~~ ~~ 2026-10-12T04:24:40.875543Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.875544Z 01O 2278 | estnrow = 1; 2026-10-12T04:24:40.875544Z 01O | ^ ~ 2026-10-12T04:24:40.875545Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-10-12T04:24:40.875546Z 01O 2278 | estnrow = 1; 2026-10-12T04:24:40.875546Z 01O | ^ ~ 2026-10-12T04:24:40.875548Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.875549Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-10-12T04:24:40.875550Z 01O | ^ ~ 2026-10-12T04:24:40.875551Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-10-12T04:24:40.875551Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-10-12T04:24:40.875560Z 01O | ^ ~ 2026-10-12T04:24:40.875600Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.875601Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-10-12T04:24:40.875602Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875603Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-10-12T04:24:40.875603Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-10-12T04:24:40.875604Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875606Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.875607Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-10-12T04:24:40.875607Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875608Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-10-12T04:24:40.875609Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-10-12T04:24:40.875609Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875659Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.875660Z 01O 2487 | nth = imin(nJumps, nth); 2026-10-12T04:24:40.875660Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875661Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-10-12T04:24:40.875661Z 01O 2487 | nth = imin(nJumps, nth); 2026-10-12T04:24:40.875662Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875666Z 01O /builds/Rdatatable/data.table/src/fread.c:2747: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-10-12T04:24:40.875667Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-10-12T04:24:40.875668Z 01O | ^~~~~~ 2026-10-12T04:24:40.875686Z 01O /builds/Rdatatable/data.table/src/fread.c:2747: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-10-12T04:24:40.875687Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-10-12T04:24:40.875688Z 01O | ^~~~~~ 2026-10-12T04:24:40.875689Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.875689Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-10-12T04:24:40.875690Z 01O | ^ ~~~ 2026-10-12T04:24:40.875692Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: note: Value stored to 'tLast' is never read 2026-10-12T04:24:40.875692Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-10-12T04:24:40.875693Z 01O | ^ ~~~ 2026-10-12T04:24:40.875879Z 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-10-12T04:24:40.875881Z 01O 789 | if (state->buffer[i] == '\n') { 2026-10-12T04:24:40.875881Z 01O | ^ ~~~~~~ 2026-10-12T04:24:40.875882Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-10-12T04:24:40.875894Z 01O 768 | if (state->outfile == NULL) { 2026-10-12T04:24:40.875895Z 01O | ^ 2026-10-12T04:24:40.875895Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-10-12T04:24:40.875896Z 01O 768 | if (state->outfile == NULL) { 2026-10-12T04:24:40.875896Z 01O | ^ 2026-10-12T04:24:40.875896Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-10-12T04:24:40.875897Z 01O 772 | state->buffer = malloc(chunk_size); 2026-10-12T04:24:40.875897Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875898Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-10-12T04:24:40.875898Z 01O 773 | if (!state->buffer) { 2026-10-12T04:24:40.875899Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.875899Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-10-12T04:24:40.875899Z 01O 773 | if (!state->buffer) { 2026-10-12T04:24:40.875900Z 01O | ^ 2026-10-12T04:24:40.875976Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-10-12T04:24:40.875977Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-10-12T04:24:40.875978Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.875979Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.875980Z 01O 780 | while (true) { 2026-10-12T04:24:40.875980Z 01O | ^ 2026-10-12T04:24:40.875981Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-10-12T04:24:40.875981Z 01O 782 | if (nread == 0) { 2026-10-12T04:24:40.875982Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.875982Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-10-12T04:24:40.875983Z 01O 782 | if (nread == 0) { 2026-10-12T04:24:40.875983Z 01O | ^ 2026-10-12T04:24:40.875984Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-10-12T04:24:40.875984Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.875985Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.875986Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-10-12T04:24:40.875986Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-10-12T04:24:40.875988Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.875988Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.875989Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-10-12T04:24:40.875989Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.875990Z 01O | ^ 2026-10-12T04:24:40.875990Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-10-12T04:24:40.875991Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-10-12T04:24:40.875992Z 01O | ^ 2026-10-12T04:24:40.875993Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.875994Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-10-12T04:24:40.875995Z 01O | ^ 2026-10-12T04:24:40.875995Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-10-12T04:24:40.875996Z 01O 789 | if (state->buffer[i] == '\n') { 2026-10-12T04:24:40.875996Z 01O | ^ ~~~~~~ 2026-10-12T04:24:40.876154Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-10-12T04:24:40.876155Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-12T04:24:40.876164Z 01O | ^ ~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876165Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-10-12T04:24:40.876165Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-10-12T04:24:40.876166Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876166Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-10-12T04:24:40.876167Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-10-12T04:24:40.876167Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876168Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-10-12T04:24:40.876168Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-10-12T04:24:40.876168Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876169Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-10-12T04:24:40.876169Z 01O 768 | if (state->outfile == NULL) { 2026-10-12T04:24:40.876170Z 01O | ^ 2026-10-12T04:24:40.876170Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-10-12T04:24:40.876171Z 01O 768 | if (state->outfile == NULL) { 2026-10-12T04:24:40.876171Z 01O | ^ 2026-10-12T04:24:40.876171Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-10-12T04:24:40.876172Z 01O 773 | if (!state->buffer) { 2026-10-12T04:24:40.876172Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.876172Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-10-12T04:24:40.876173Z 01O 773 | if (!state->buffer) { 2026-10-12T04:24:40.876173Z 01O | ^ 2026-10-12T04:24:40.876174Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-10-12T04:24:40.876174Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-10-12T04:24:40.876174Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876175Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.876175Z 01O 780 | while (true) { 2026-10-12T04:24:40.876176Z 01O | ^ 2026-10-12T04:24:40.876176Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-10-12T04:24:40.876177Z 01O 782 | if (nread == 0) { 2026-10-12T04:24:40.876177Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.876177Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-10-12T04:24:40.876178Z 01O 782 | if (nread == 0) { 2026-10-12T04:24:40.876178Z 01O | ^ 2026-10-12T04:24:40.876178Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-10-12T04:24:40.876179Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.876179Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.876180Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-10-12T04:24:40.876180Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.876180Z 01O | ^ 2026-10-12T04:24:40.876181Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-10-12T04:24:40.876181Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-12T04:24:40.876182Z 01O | ^ ~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876278Z 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-10-12T04:24:40.876279Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-12T04:24:40.876288Z 01O | ^ ~~~~~~~~~~~~~ 2026-10-12T04:24:40.876288Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-10-12T04:24:40.876289Z 01O 768 | if (state->outfile == NULL) { 2026-10-12T04:24:40.876289Z 01O | ^ 2026-10-12T04:24:40.876290Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-10-12T04:24:40.876290Z 01O 768 | if (state->outfile == NULL) { 2026-10-12T04:24:40.876290Z 01O | ^ 2026-10-12T04:24:40.876291Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-10-12T04:24:40.876291Z 01O 772 | state->buffer = malloc(chunk_size); 2026-10-12T04:24:40.876292Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876292Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-10-12T04:24:40.876293Z 01O 773 | if (!state->buffer) { 2026-10-12T04:24:40.876293Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.876293Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-10-12T04:24:40.876294Z 01O 773 | if (!state->buffer) { 2026-10-12T04:24:40.876294Z 01O | ^ 2026-10-12T04:24:40.876295Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-10-12T04:24:40.876295Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-10-12T04:24:40.876296Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.876296Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.876296Z 01O 780 | while (true) { 2026-10-12T04:24:40.876297Z 01O | ^ 2026-10-12T04:24:40.876297Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-10-12T04:24:40.876298Z 01O 782 | if (nread == 0) { 2026-10-12T04:24:40.876298Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.876298Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-10-12T04:24:40.876299Z 01O 782 | if (nread == 0) { 2026-10-12T04:24:40.876299Z 01O | ^ 2026-10-12T04:24:40.876300Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-10-12T04:24:40.876300Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.876300Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.876301Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-10-12T04:24:40.876301Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-10-12T04:24:40.876302Z 01O | ^ 2026-10-12T04:24:40.876302Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-10-12T04:24:40.876303Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-10-12T04:24:40.876304Z 01O | ^ ~~~~~~~~~~~~~ 2026-10-12T04:24:40.876519Z 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-10-12T04:24:40.876520Z 01O 1364 | next[p] = tail; 2026-10-12T04:24:40.876521Z 01O | ^ 2026-10-12T04:24:40.876521Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.876522Z 01O 1506 | if (verbose) 2026-10-12T04:24:40.876522Z 01O | ^~~~~~~ 2026-10-12T04:24:40.876523Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-10-12T04:24:40.876523Z 01O 1506 | if (verbose) 2026-10-12T04:24:40.876524Z 01O | ^ 2026-10-12T04:24:40.876524Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-10-12T04:24:40.876533Z 01O 1508 | if (k == 0) { 2026-10-12T04:24:40.876534Z 01O | ^~~~~~ 2026-10-12T04:24:40.876534Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-10-12T04:24:40.876535Z 01O 1508 | if (k == 0) { 2026-10-12T04:24:40.876535Z 01O | ^ 2026-10-12T04:24:40.876535Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-10-12T04:24:40.876536Z 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-10-12T04:24:40.876536Z 01O | ^~~~~~ 2026-10-12T04:24:40.876537Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-10-12T04:24:40.876537Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-10-12T04:24:40.876538Z 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-10-12T04:24:40.876538Z 01O | ^~~~~~ 2026-10-12T04:24:40.876539Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-10-12T04:24:40.876539Z 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-10-12T04:24:40.876540Z 01O | ^ 2026-10-12T04:24:40.876540Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-10-12T04:24:40.876541Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.876542Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.876542Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-10-12T04:24:40.876542Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.876543Z 01O | ^ 2026-10-12T04:24:40.876543Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-10-12T04:24:40.876543Z 01O 1567 | if (nx_mod_k) { 2026-10-12T04:24:40.876544Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.876544Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-10-12T04:24:40.876545Z 01O 1567 | if (nx_mod_k) { 2026-10-12T04:24:40.876545Z 01O | ^ 2026-10-12T04:24:40.876545Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-10-12T04:24:40.876546Z 01O 1574 | bool even = !(k % 2); 2026-10-12T04:24:40.876546Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.876547Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-10-12T04:24:40.876548Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-10-12T04:24:40.876548Z 01O | ^~~~ 2026-10-12T04:24:40.876548Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-10-12T04:24:40.876549Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-10-12T04:24:40.876550Z 01O 1579 | if (!o) { // # nocov start 2026-10-12T04:24:40.876550Z 01O | ^~ 2026-10-12T04:24:40.876550Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-10-12T04:24:40.876551Z 01O 1579 | if (!o) { // # nocov start 2026-10-12T04:24:40.876551Z 01O | ^ 2026-10-12T04:24:40.876551Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-10-12T04:24:40.876552Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-12T04:24:40.876552Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.876553Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-10-12T04:24:40.876553Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-12T04:24:40.876554Z 01O | ^ 2026-10-12T04:24:40.876554Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-10-12T04:24:40.876554Z 01O 1588 | if (!m) { // # nocov start 2026-10-12T04:24:40.876555Z 01O | ^~ 2026-10-12T04:24:40.876561Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-10-12T04:24:40.876561Z 01O 1588 | if (!m) { // # nocov start 2026-10-12T04:24:40.876561Z 01O | ^ 2026-10-12T04:24:40.876877Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-10-12T04:24:40.876878Z 01O 1594 | if (!n) { // # nocov start 2026-10-12T04:24:40.876879Z 01O | ^~ 2026-10-12T04:24:40.876879Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-10-12T04:24:40.876880Z 01O 1594 | if (!n) { // # nocov start 2026-10-12T04:24:40.876881Z 01O | ^ 2026-10-12T04:24:40.876881Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-10-12T04:24:40.876882Z 01O 1600 | if (!s) { // # nocov start 2026-10-12T04:24:40.876882Z 01O | ^~ 2026-10-12T04:24:40.876883Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-10-12T04:24:40.876884Z 01O 1600 | if (!s) { // # nocov start 2026-10-12T04:24:40.876884Z 01O | ^ 2026-10-12T04:24:40.876885Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-10-12T04:24:40.876886Z 01O 1606 | if (!prev) { // # nocov start 2026-10-12T04:24:40.876886Z 01O | ^~~~~ 2026-10-12T04:24:40.876887Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-10-12T04:24:40.876887Z 01O 1606 | if (!prev) { // # nocov start 2026-10-12T04:24:40.876888Z 01O | ^ 2026-10-12T04:24:40.876888Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-10-12T04:24:40.876889Z 01O 1612 | if (!next) { // # nocov start 2026-10-12T04:24:40.876889Z 01O | ^~~~~ 2026-10-12T04:24:40.876890Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-10-12T04:24:40.876890Z 01O 1612 | if (!next) { // # nocov start 2026-10-12T04:24:40.876891Z 01O | ^ 2026-10-12T04:24:40.876891Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-10-12T04:24:40.876892Z 01O 1618 | if (verbose) 2026-10-12T04:24:40.876892Z 01O | ^~~~~~~ 2026-10-12T04:24:40.876892Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-10-12T04:24:40.876893Z 01O 1618 | if (verbose) 2026-10-12T04:24:40.876894Z 01O | ^ 2026-10-12T04:24:40.876894Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-10-12T04:24:40.876895Z 01O 1621 | for (int j=0; j= 'k' 2026-10-12T04:24:40.876919Z 01O 1358 | for (int i=0; i=0) { 2026-10-12T04:24:40.876933Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.876934Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-10-12T04:24:40.876934Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.876941Z 01O | ^ 2026-10-12T04:24:40.877288Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-10-12T04:24:40.877290Z 01O 1567 | if (nx_mod_k) { 2026-10-12T04:24:40.877290Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877291Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-10-12T04:24:40.877291Z 01O 1567 | if (nx_mod_k) { 2026-10-12T04:24:40.877292Z 01O | ^ 2026-10-12T04:24:40.877292Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-10-12T04:24:40.877293Z 01O 1574 | bool even = !(k % 2); 2026-10-12T04:24:40.877293Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877294Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-10-12T04:24:40.877294Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-10-12T04:24:40.877295Z 01O | ^~~~ 2026-10-12T04:24:40.877295Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-10-12T04:24:40.877296Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-10-12T04:24:40.877296Z 01O 1579 | if (!o) { // # nocov start 2026-10-12T04:24:40.877296Z 01O | ^~ 2026-10-12T04:24:40.877297Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-10-12T04:24:40.877297Z 01O 1579 | if (!o) { // # nocov start 2026-10-12T04:24:40.877298Z 01O | ^ 2026-10-12T04:24:40.877298Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-10-12T04:24:40.877298Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-12T04:24:40.877299Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877299Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-10-12T04:24:40.877300Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-12T04:24:40.877300Z 01O | ^ 2026-10-12T04:24:40.877301Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-10-12T04:24:40.877301Z 01O 1588 | if (!m) { // # nocov start 2026-10-12T04:24:40.877301Z 01O | ^~ 2026-10-12T04:24:40.877302Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-10-12T04:24:40.877302Z 01O 1588 | if (!m) { // # nocov start 2026-10-12T04:24:40.877302Z 01O | ^ 2026-10-12T04:24:40.877303Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-10-12T04:24:40.877303Z 01O 1594 | if (!n) { // # nocov start 2026-10-12T04:24:40.877304Z 01O | ^~ 2026-10-12T04:24:40.877304Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-10-12T04:24:40.877305Z 01O 1594 | if (!n) { // # nocov start 2026-10-12T04:24:40.877305Z 01O | ^ 2026-10-12T04:24:40.877306Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-10-12T04:24:40.877306Z 01O 1600 | if (!s) { // # nocov start 2026-10-12T04:24:40.877307Z 01O | ^~ 2026-10-12T04:24:40.877307Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-10-12T04:24:40.877307Z 01O 1600 | if (!s) { // # nocov start 2026-10-12T04:24:40.877308Z 01O | ^ 2026-10-12T04:24:40.877308Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-10-12T04:24:40.877308Z 01O 1606 | if (!prev) { // # nocov start 2026-10-12T04:24:40.877309Z 01O | ^~~~~ 2026-10-12T04:24:40.877310Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-10-12T04:24:40.877310Z 01O 1606 | if (!prev) { // # nocov start 2026-10-12T04:24:40.877310Z 01O | ^ 2026-10-12T04:24:40.877311Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-10-12T04:24:40.877312Z 01O 1612 | if (!next) { // # nocov start 2026-10-12T04:24:40.877321Z 01O | ^~~~~ 2026-10-12T04:24:40.877322Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-10-12T04:24:40.877322Z 01O 1612 | if (!next) { // # nocov start 2026-10-12T04:24:40.877323Z 01O | ^ 2026-10-12T04:24:40.877323Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-10-12T04:24:40.877323Z 01O 1618 | if (verbose) 2026-10-12T04:24:40.877324Z 01O | ^~~~~~~ 2026-10-12T04:24:40.877324Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-10-12T04:24:40.877325Z 01O 1618 | if (verbose) 2026-10-12T04:24:40.877325Z 01O | ^ 2026-10-12T04:24:40.877325Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-10-12T04:24:40.877326Z 01O 1621 | for (int j=0; j= 'b' 2026-10-12T04:24:40.877350Z 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-10-12T04:24:40.877356Z 01O | ^~~ 2026-10-12T04:24:40.877357Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-10-12T04:24:40.877357Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.877358Z 01O 1633 | for (int i=0; i= 'm' 2026-10-12T04:24:40.877913Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-10-12T04:24:40.877913Z 01O | ^~~~~ 2026-10-12T04:24:40.877914Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-10-12T04:24:40.877914Z 01O 1393 | if (SMALL(i)) { 2026-10-12T04:24:40.877915Z 01O | ^ 2026-10-12T04:24:40.877915Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-10-12T04:24:40.877915Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-10-12T04:24:40.877916Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.877916Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-10-12T04:24:40.877917Z 01O 1393 | if (SMALL(i)) { 2026-10-12T04:24:40.877917Z 01O | ^ 2026-10-12T04:24:40.877917Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-10-12T04:24:40.877918Z 01O 1396 | if (m[0] == i) { 2026-10-12T04:24:40.877918Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.877918Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-10-12T04:24:40.877919Z 01O 1396 | if (m[0] == i) { 2026-10-12T04:24:40.877919Z 01O | ^ 2026-10-12T04:24:40.877920Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-10-12T04:24:40.877920Z 01O 1399 | if (s[0] > 0) { 2026-10-12T04:24:40.877920Z 01O | ^ 2026-10-12T04:24:40.877921Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-10-12T04:24:40.877921Z 01O 1400 | m[0] = prev[m[0]]; 2026-10-12T04:24:40.877922Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.877922Z 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-10-12T04:24:40.877923Z 01O 1471 | m[0] = prev[m[0]]; 2026-10-12T04:24:40.877923Z 01O | ^ 2026-10-12T04:24:40.877923Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.877924Z 01O 1506 | if (verbose) 2026-10-12T04:24:40.877924Z 01O | ^~~~~~~ 2026-10-12T04:24:40.877924Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-10-12T04:24:40.877931Z 01O 1506 | if (verbose) 2026-10-12T04:24:40.877931Z 01O | ^ 2026-10-12T04:24:40.877931Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-10-12T04:24:40.877932Z 01O 1508 | if (k == 0) { 2026-10-12T04:24:40.877932Z 01O | ^~~~~~ 2026-10-12T04:24:40.877932Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-10-12T04:24:40.877933Z 01O 1508 | if (k == 0) { 2026-10-12T04:24:40.877933Z 01O | ^ 2026-10-12T04:24:40.877934Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-10-12T04:24:40.877934Z 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-10-12T04:24:40.877935Z 01O | ^~~~~~ 2026-10-12T04:24:40.877935Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-10-12T04:24:40.877935Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-10-12T04:24:40.877936Z 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-10-12T04:24:40.877937Z 01O | ^~~~~~ 2026-10-12T04:24:40.877937Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-10-12T04:24:40.877937Z 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-10-12T04:24:40.877938Z 01O | ^ 2026-10-12T04:24:40.877938Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-10-12T04:24:40.877939Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.877939Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877939Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-10-12T04:24:40.877940Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.877940Z 01O | ^ 2026-10-12T04:24:40.877940Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-10-12T04:24:40.877941Z 01O 1567 | if (nx_mod_k) { 2026-10-12T04:24:40.877941Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877942Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-10-12T04:24:40.877942Z 01O 1567 | if (nx_mod_k) { 2026-10-12T04:24:40.877942Z 01O | ^ 2026-10-12T04:24:40.877943Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-10-12T04:24:40.877943Z 01O 1574 | bool even = !(k % 2); 2026-10-12T04:24:40.877944Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877944Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-10-12T04:24:40.877944Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-10-12T04:24:40.877945Z 01O | ^~~~ 2026-10-12T04:24:40.877945Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-10-12T04:24:40.877946Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-10-12T04:24:40.877946Z 01O 1579 | if (!o) { // # nocov start 2026-10-12T04:24:40.877946Z 01O | ^~ 2026-10-12T04:24:40.877947Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-10-12T04:24:40.877947Z 01O 1579 | if (!o) { // # nocov start 2026-10-12T04:24:40.877948Z 01O | ^ 2026-10-12T04:24:40.877948Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-10-12T04:24:40.877948Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-12T04:24:40.877949Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.877949Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-10-12T04:24:40.877950Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-10-12T04:24:40.877950Z 01O | ^ 2026-10-12T04:24:40.877956Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-10-12T04:24:40.877957Z 01O 1588 | if (!m) { // # nocov start 2026-10-12T04:24:40.877957Z 01O | ^~ 2026-10-12T04:24:40.877957Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-10-12T04:24:40.877958Z 01O 1588 | if (!m) { // # nocov start 2026-10-12T04:24:40.877958Z 01O | ^ 2026-10-12T04:24:40.877958Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-10-12T04:24:40.877959Z 01O 1594 | if (!n) { // # nocov start 2026-10-12T04:24:40.877959Z 01O | ^~ 2026-10-12T04:24:40.877960Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-10-12T04:24:40.877960Z 01O 1594 | if (!n) { // # nocov start 2026-10-12T04:24:40.877960Z 01O | ^ 2026-10-12T04:24:40.877961Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-10-12T04:24:40.877961Z 01O 1600 | if (!s) { // # nocov start 2026-10-12T04:24:40.877962Z 01O | ^~ 2026-10-12T04:24:40.877962Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-10-12T04:24:40.877962Z 01O 1600 | if (!s) { // # nocov start 2026-10-12T04:24:40.877963Z 01O | ^ 2026-10-12T04:24:40.877963Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-10-12T04:24:40.877963Z 01O 1606 | if (!prev) { // # nocov start 2026-10-12T04:24:40.877964Z 01O | ^~~~~ 2026-10-12T04:24:40.877964Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-10-12T04:24:40.877965Z 01O 1606 | if (!prev) { // # nocov start 2026-10-12T04:24:40.877965Z 01O | ^ 2026-10-12T04:24:40.877965Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-10-12T04:24:40.877966Z 01O 1612 | if (!next) { // # nocov start 2026-10-12T04:24:40.877966Z 01O | ^~~~~ 2026-10-12T04:24:40.877966Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-10-12T04:24:40.877967Z 01O 1612 | if (!next) { // # nocov start 2026-10-12T04:24:40.877967Z 01O | ^ 2026-10-12T04:24:40.877968Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-10-12T04:24:40.877968Z 01O 1618 | if (verbose) 2026-10-12T04:24:40.877968Z 01O | ^~~~~~~ 2026-10-12T04:24:40.877969Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-10-12T04:24:40.877969Z 01O 1618 | if (verbose) 2026-10-12T04:24:40.877970Z 01O | ^ 2026-10-12T04:24:40.877970Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-10-12T04:24:40.877970Z 01O 1621 | for (int j=0; j= 'b' 2026-10-12T04:24:40.877996Z 01O 1621 | for (int j=0; j= 'm' 2026-10-12T04:24:40.878056Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-10-12T04:24:40.878056Z 01O | ^~~~~ 2026-10-12T04:24:40.878056Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-10-12T04:24:40.878057Z 01O 1460 | if (SMALL(i)) { 2026-10-12T04:24:40.878057Z 01O | ^ 2026-10-12T04:24:40.878058Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-10-12T04:24:40.878058Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-10-12T04:24:40.878058Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.878059Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-10-12T04:24:40.878059Z 01O 1460 | if (SMALL(i)) { 2026-10-12T04:24:40.878060Z 01O | ^ 2026-10-12T04:24:40.878060Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-10-12T04:24:40.878060Z 01O 1463 | if (m[0] == i) { 2026-10-12T04:24:40.878061Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.878061Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-10-12T04:24:40.878062Z 01O 1463 | if (m[0] == i) { 2026-10-12T04:24:40.878062Z 01O | ^ 2026-10-12T04:24:40.878072Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-10-12T04:24:40.878072Z 01O 1467 | } else if (even && n[0] == i) { 2026-10-12T04:24:40.878073Z 01O | ^~~~ 2026-10-12T04:24:40.878073Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-10-12T04:24:40.878074Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-10-12T04:24:40.878074Z 01O 1467 | } else if (even && n[0] == i) { 2026-10-12T04:24:40.878075Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.878075Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-10-12T04:24:40.878075Z 01O 1467 | } else if (even && n[0] == i) { 2026-10-12T04:24:40.878076Z 01O | ^ 2026-10-12T04:24:40.878076Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-10-12T04:24:40.878077Z 01O 1470 | if (s[0] > 0) { 2026-10-12T04:24:40.878077Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.878077Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-10-12T04:24:40.878078Z 01O 1470 | if (s[0] > 0) { 2026-10-12T04:24:40.878078Z 01O | ^ 2026-10-12T04:24:40.878078Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-10-12T04:24:40.878079Z 01O 1471 | m[0] = prev[m[0]]; 2026-10-12T04:24:40.878079Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.878083Z 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-10-12T04:24:40.878083Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-10-12T04:24:40.878084Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.878084Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.878085Z 01O 1506 | if (verbose) 2026-10-12T04:24:40.878085Z 01O | ^~~~~~~ 2026-10-12T04:24:40.878085Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-10-12T04:24:40.878086Z 01O 1506 | if (verbose) 2026-10-12T04:24:40.878086Z 01O | ^ 2026-10-12T04:24:40.878087Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-10-12T04:24:40.878087Z 01O 1508 | if (k == 0) { 2026-10-12T04:24:40.878087Z 01O | ^~~~~~ 2026-10-12T04:24:40.878088Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-10-12T04:24:40.878088Z 01O 1508 | if (k == 0) { 2026-10-12T04:24:40.878088Z 01O | ^ 2026-10-12T04:24:40.878091Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-10-12T04:24:40.878091Z 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-10-12T04:24:40.878092Z 01O | ^~~~~~ 2026-10-12T04:24:40.878092Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-10-12T04:24:40.878094Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-10-12T04:24:40.878095Z 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-10-12T04:24:40.878095Z 01O | ^~~~~~ 2026-10-12T04:24:40.878124Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-10-12T04:24:40.878125Z 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-10-12T04:24:40.878126Z 01O | ^ 2026-10-12T04:24:40.878126Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-10-12T04:24:40.878127Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.878134Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.878135Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-10-12T04:24:40.878135Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.878135Z 01O | ^ 2026-10-12T04:24:40.878136Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-10-12T04:24:40.878136Z 01O 1549 | for (uint64_t i=0; i= 0 2026-10-12T04:24:40.878176Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.878177Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.878177Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-10-12T04:24:40.878177Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.878178Z 01O | ^ 2026-10-12T04:24:40.878180Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-10-12T04:24:40.878181Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-10-12T04:24:40.878192Z 01O 1549 | for (uint64_t i=0; i= 0 2026-10-12T04:24:40.878526Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.878527Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.878527Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-10-12T04:24:40.878527Z 01O 1548 | if (hasnf>=0) { 2026-10-12T04:24:40.878528Z 01O | ^ 2026-10-12T04:24:40.878528Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-10-12T04:24:40.878529Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-10-12T04:24:40.878563Z 01O 1549 | for (uint64_t i=0; i 0 2026-10-12T04:24:40.879049Z 01O 541 | bool truehasnf = hasnf>0; 2026-10-12T04:24:40.879049Z 01O | ^~~~~~~ 2026-10-12T04:24:40.879053Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-10-12T04:24:40.879053Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-10-12T04:24:40.879082Z 01O 542 | for (uint64_t i=0; i 0 2026-10-12T04:24:40.879354Z 01O 616 | bool truehasnf = hasnf>0; 2026-10-12T04:24:40.879355Z 01O | ^~~~~~~ 2026-10-12T04:24:40.879357Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-10-12T04:24:40.879358Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-10-12T04:24:40.879401Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-10-12T04:24:40.879629Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-10-12T04:24:40.879875Z 01O | ^ 2026-10-12T04:24:40.879876Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-10-12T04:24:40.879877Z 01O 888 | if (i+1 == ik) { 2026-10-12T04:24:40.879877Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.879878Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-10-12T04:24:40.879878Z 01O 888 | if (i+1 == ik) { 2026-10-12T04:24:40.879879Z 01O | ^ 2026-10-12T04:24:40.879882Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-10-12T04:24:40.879882Z 01O 890 | } else if (i+1 < ik) { 2026-10-12T04:24:40.879883Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.879883Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-10-12T04:24:40.879884Z 01O 890 | } else if (i+1 < ik) { 2026-10-12T04:24:40.879884Z 01O | ^ 2026-10-12T04:24:40.879904Z 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-10-12T04:24:40.879905Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-10-12T04:24:40.879905Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.879908Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-10-12T04:24:40.879909Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-10-12T04:24:40.879909Z 01O | ^ 2026-10-12T04:24:40.879909Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-10-12T04:24:40.879910Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-10-12T04:24:40.879910Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.879926Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-10-12T04:24:40.879927Z 01O 998 | if (!nc) { // total NA for x 2026-10-12T04:24:40.879927Z 01O | ^~ 2026-10-12T04:24:40.879928Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-10-12T04:24:40.879929Z 01O 998 | if (!nc) { // total NA for x 2026-10-12T04:24:40.879929Z 01O | ^ 2026-10-12T04:24:40.879929Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.879930Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-10-12T04:24:40.880326Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-10-12T04:24:40.880506Z 01O | ^~~~~~~ 2026-10-12T04:24:40.880524Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-10-12T04:24:40.880524Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-10-12T04:24:40.880525Z 01O | ^ 2026-10-12T04:24:40.880526Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-10-12T04:24:40.880527Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-10-12T04:24:40.880528Z 01O | ^ 2026-10-12T04:24:40.880528Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-10-12T04:24:40.880529Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-12T04:24:40.880530Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.880530Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-10-12T04:24:40.880532Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-10-12T04:24:40.880533Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-12T04:24:40.880533Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.880534Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-10-12T04:24:40.880534Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-12T04:24:40.880535Z 01O | ^ 2026-10-12T04:24:40.880550Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-10-12T04:24:40.880551Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-12T04:24:40.880551Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.880552Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-10-12T04:24:40.880560Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-10-12T04:24:40.880560Z 01O | ^ 2026-10-12T04:24:40.880565Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-10-12T04:24:40.880565Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-10-12T04:24:40.880640Z 01O | ^~~~~~~ 2026-10-12T04:24:40.880645Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-10-12T04:24:40.880646Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-10-12T04:24:40.880647Z 01O | ^ 2026-10-12T04:24:40.880647Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-10-12T04:24:40.880647Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-10-12T04:24:40.880648Z 01O | ^ 2026-10-12T04:24:40.880648Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-10-12T04:24:40.880649Z 01O 122 | if (!counts || !TMP ) { 2026-10-12T04:24:40.880649Z 01O | ^~~~~~~ 2026-10-12T04:24:40.880688Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-10-12T04:24:40.880689Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-10-12T04:24:40.880690Z 01O 122 | if (!counts || !TMP ) { 2026-10-12T04:24:40.880690Z 01O | ^~~~ 2026-10-12T04:24:40.880690Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-10-12T04:24:40.880691Z 01O 122 | if (!counts || !TMP ) { 2026-10-12T04:24:40.880691Z 01O | ^ 2026-10-12T04:24:40.880709Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-10-12T04:24:40.880710Z 01O 127 | for (int b=0; b= 'howMany' 2026-10-12T04:24:40.880747Z 01O 131 | for (int i=0; i= 'highSize' 2026-10-12T04:24:40.880808Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-10-12T04:24:40.880968Z 01O | ^ 2026-10-12T04:24:40.880978Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-10-12T04:24:40.880978Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-10-12T04:24:40.880979Z 01O | ^ ~ 2026-10-12T04:24:40.881038Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-10-12T04:24:40.881039Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-10-12T04:24:40.881040Z 01O | ^ ~ 2026-10-12T04:24:40.881041Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-10-12T04:24:40.881042Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881042Z 01O | ^ 2026-10-12T04:24:40.881043Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881044Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881045Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881045Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-10-12T04:24:40.881046Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881047Z 01O | ^ 2026-10-12T04:24:40.881064Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881065Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881066Z 01O | ^ 2026-10-12T04:24:40.881069Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-10-12T04:24:40.881070Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881070Z 01O | ^ 2026-10-12T04:24:40.881089Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881090Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881091Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.881091Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-10-12T04:24:40.881092Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881092Z 01O | ^ 2026-10-12T04:24:40.881112Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881112Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881113Z 01O | ^ 2026-10-12T04:24:40.881114Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-10-12T04:24:40.881114Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881115Z 01O | ^ 2026-10-12T04:24:40.881115Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881116Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881117Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881117Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-10-12T04:24:40.881118Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881118Z 01O | ^ 2026-10-12T04:24:40.881134Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-10-12T04:24:40.881135Z 01O 1120 | if (!isVectorAtomic(x)) 2026-10-12T04:24:40.881135Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881136Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-10-12T04:24:40.881146Z 01O 1120 | if (!isVectorAtomic(x)) 2026-10-12T04:24:40.881147Z 01O | ^ 2026-10-12T04:24:40.881149Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-10-12T04:24:40.881149Z 01O 1122 | if (inherits(x, "factor")) 2026-10-12T04:24:40.881150Z 01O | ^ 2026-10-12T04:24:40.881152Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-10-12T04:24:40.881153Z 01O 933 | #define inherits Rf_inherits 2026-10-12T04:24:40.881153Z 01O | ^ 2026-10-12T04:24:40.881153Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-10-12T04:24:40.881154Z 01O 1122 | if (inherits(x, "factor")) 2026-10-12T04:24:40.881154Z 01O | ^ 2026-10-12T04:24:40.881206Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-10-12T04:24:40.881207Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-10-12T04:24:40.881208Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.881208Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-10-12T04:24:40.881209Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-10-12T04:24:40.881210Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.881210Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-10-12T04:24:40.881232Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-10-12T04:24:40.881232Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-12T04:24:40.881233Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.881234Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-10-12T04:24:40.881234Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-12T04:24:40.881235Z 01O | ^ 2026-10-12T04:24:40.881235Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-10-12T04:24:40.881236Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-10-12T04:24:40.881237Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881238Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-10-12T04:24:40.881239Z 01O 1129 | if (!s) 2026-10-12T04:24:40.881239Z 01O | ^~ 2026-10-12T04:24:40.881239Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-10-12T04:24:40.881240Z 01O 1129 | if (!s) 2026-10-12T04:24:40.881240Z 01O | ^ 2026-10-12T04:24:40.881243Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-10-12T04:24:40.881244Z 01O 1131 | for (int i=0; i= 'n' 2026-10-12T04:24:40.881267Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-10-12T04:24:40.881328Z 01O | ^ 2026-10-12T04:24:40.881329Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-10-12T04:24:40.881330Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-10-12T04:24:40.881331Z 01O | ^ ~ 2026-10-12T04:24:40.881331Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-10-12T04:24:40.881332Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-10-12T04:24:40.881332Z 01O | ^ ~ 2026-10-12T04:24:40.881385Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-10-12T04:24:40.881386Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-10-12T04:24:40.881387Z 01O | ~~~~ ^ 2026-10-12T04:24:40.881387Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-10-12T04:24:40.881388Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881389Z 01O | ^ 2026-10-12T04:24:40.881394Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881395Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881396Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881396Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-10-12T04:24:40.881397Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881397Z 01O | ^ 2026-10-12T04:24:40.881420Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881420Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881421Z 01O | ^ 2026-10-12T04:24:40.881421Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-10-12T04:24:40.881422Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881422Z 01O | ^ 2026-10-12T04:24:40.881441Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881451Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881451Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.881452Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-10-12T04:24:40.881452Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881453Z 01O | ^ 2026-10-12T04:24:40.881453Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881454Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881454Z 01O | ^ 2026-10-12T04:24:40.881455Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-10-12T04:24:40.881455Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881456Z 01O | ^ 2026-10-12T04:24:40.881477Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.881478Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.881478Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881479Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-10-12T04:24:40.881480Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-10-12T04:24:40.881480Z 01O | ^ 2026-10-12T04:24:40.881481Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-10-12T04:24:40.881481Z 01O 1120 | if (!isVectorAtomic(x)) 2026-10-12T04:24:40.881482Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881485Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-10-12T04:24:40.881485Z 01O 1120 | if (!isVectorAtomic(x)) 2026-10-12T04:24:40.881486Z 01O | ^ 2026-10-12T04:24:40.881486Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-10-12T04:24:40.881487Z 01O 1122 | if (inherits(x, "factor")) 2026-10-12T04:24:40.881487Z 01O | ^ 2026-10-12T04:24:40.881502Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-10-12T04:24:40.881503Z 01O 933 | #define inherits Rf_inherits 2026-10-12T04:24:40.881504Z 01O | ^ 2026-10-12T04:24:40.881505Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-10-12T04:24:40.881505Z 01O 1122 | if (inherits(x, "factor")) 2026-10-12T04:24:40.881506Z 01O | ^ 2026-10-12T04:24:40.881508Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-10-12T04:24:40.881508Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-10-12T04:24:40.881509Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.881513Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-10-12T04:24:40.881513Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-10-12T04:24:40.881514Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.881514Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-10-12T04:24:40.881515Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-10-12T04:24:40.881515Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-12T04:24:40.881516Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.881533Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-10-12T04:24:40.881534Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-10-12T04:24:40.881542Z 01O | ^ 2026-10-12T04:24:40.881542Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-10-12T04:24:40.881542Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-10-12T04:24:40.881543Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881543Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-10-12T04:24:40.881544Z 01O 1129 | if (!s) 2026-10-12T04:24:40.881544Z 01O | ^~ 2026-10-12T04:24:40.881544Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-10-12T04:24:40.881545Z 01O 1129 | if (!s) 2026-10-12T04:24:40.881545Z 01O | ^ 2026-10-12T04:24:40.881562Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-10-12T04:24:40.881563Z 01O 1131 | for (int i=0; i= 'n' 2026-10-12T04:24:40.881589Z 01O 1135 | for (int i=0; i' is a garbage value 2026-10-12T04:24:40.881662Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-10-12T04:24:40.881663Z 01O | ~~~~ ^ 2026-10-12T04:24:40.881713Z 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-10-12T04:24:40.881714Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-10-12T04:24:40.881715Z 01O | ^ 2026-10-12T04:24:40.881726Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-10-12T04:24:40.881726Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-10-12T04:24:40.881727Z 01O | ^ 2026-10-12T04:24:40.881727Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-10-12T04:24:40.881727Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-10-12T04:24:40.881728Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.881747Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-10-12T04:24:40.881748Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-10-12T04:24:40.881749Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881749Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-10-12T04:24:40.881750Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-10-12T04:24:40.881750Z 01O | ^ 2026-10-12T04:24:40.881750Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-10-12T04:24:40.881751Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-10-12T04:24:40.881752Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881753Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-10-12T04:24:40.881753Z 01O 54 | if (!ret) 2026-10-12T04:24:40.881754Z 01O | ^~~~ 2026-10-12T04:24:40.881768Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-10-12T04:24:40.881769Z 01O 54 | if (!ret) 2026-10-12T04:24:40.881770Z 01O | ^ 2026-10-12T04:24:40.881770Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-10-12T04:24:40.881771Z 01O 59 | if (!table) { 2026-10-12T04:24:40.881772Z 01O | ^~~~~~ 2026-10-12T04:24:40.881772Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-10-12T04:24:40.881773Z 01O 59 | if (!table) { 2026-10-12T04:24:40.881773Z 01O | ^ 2026-10-12T04:24:40.881776Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-10-12T04:24:40.881776Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-10-12T04:24:40.881777Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881777Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-10-12T04:24:40.881778Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-10-12T04:24:40.881778Z 01O | ^ 2026-10-12T04:24:40.881799Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-10-12T04:24:40.881800Z 01O 71 | ret->shift = HASH_BITS - k; 2026-10-12T04:24:40.881801Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881801Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-10-12T04:24:40.881802Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-10-12T04:24:40.881802Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881803Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-10-12T04:24:40.881803Z 01O 133 | if (!new_h) return NULL; 2026-10-12T04:24:40.881804Z 01O | ^~~~~ 2026-10-12T04:24:40.881804Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-10-12T04:24:40.881805Z 01O 133 | if (!new_h) return NULL; 2026-10-12T04:24:40.881805Z 01O | ^ 2026-10-12T04:24:40.881820Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-10-12T04:24:40.881820Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-10-12T04:24:40.881821Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.881828Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.881829Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-10-12T04:24:40.881830Z 01O | ^ 2026-10-12T04:24:40.881865Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-10-12T04:24:40.881866Z 01O 138 | if (h->table[i].key) 2026-10-12T04:24:40.881867Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881867Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-10-12T04:24:40.881868Z 01O 138 | if (h->table[i].key) 2026-10-12T04:24:40.881868Z 01O | ^ 2026-10-12T04:24:40.881871Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-10-12T04:24:40.881872Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-10-12T04:24:40.881872Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881873Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-10-12T04:24:40.881874Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-10-12T04:24:40.881874Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.881919Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-10-12T04:24:40.881920Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-10-12T04:24:40.881921Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.881922Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-10-12T04:24:40.881922Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-10-12T04:24:40.881923Z 01O | ^ 2026-10-12T04:24:40.881944Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-10-12T04:24:40.881945Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-10-12T04:24:40.881946Z 01O | ^ 2026-10-12T04:24:40.881946Z 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-10-12T04:24:40.881947Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-10-12T04:24:40.881947Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-10-12T04:24:40.882002Z 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-10-12T04:24:40.882003Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-10-12T04:24:40.882004Z 01O | ^ 2026-10-12T04:24:40.882004Z 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-10-12T04:24:40.882006Z 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-10-12T04:24:40.882007Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-10-12T04:24:40.882007Z 01O | ^ 2026-10-12T04:24:40.882008Z 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-10-12T04:24:40.882025Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.882026Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-10-12T04:24:40.882039Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882039Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-10-12T04:24:40.882040Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-10-12T04:24:40.882040Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882096Z 01O /builds/Rdatatable/data.table/src/nafill.c:11:19: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.882097Z 01O 11 | if (ISNAN(x[i])) { 2026-10-12T04:24:40.882098Z 01O | ^ 2026-10-12T04:24:40.882098Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.882099Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.882100Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.882100Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.882101Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.882102Z 01O | ^ 2026-10-12T04:24:40.882102Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.882103Z 01O 187 | if (verbose) 2026-10-12T04:24:40.882103Z 01O | ^~~~~~~ 2026-10-12T04:24:40.882104Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.882105Z 01O 187 | if (verbose) 2026-10-12T04:24:40.882105Z 01O | ^ 2026-10-12T04:24:40.882124Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.882125Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.882126Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882127Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.882145Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.882146Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.882147Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882150Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.882151Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.882152Z 01O | ^ 2026-10-12T04:24:40.882152Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.882153Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.882154Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882169Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.882169Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882170Z 01O | ^ 2026-10-12T04:24:40.882187Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882188Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882189Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882189Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.882190Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882190Z 01O | ^ 2026-10-12T04:24:40.882230Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882242Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882243Z 01O | ^ 2026-10-12T04:24:40.882243Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.882244Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882244Z 01O | ^ 2026-10-12T04:24:40.882272Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882272Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882273Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.882274Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.882274Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882275Z 01O | ^ 2026-10-12T04:24:40.882278Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882279Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882280Z 01O | ^ 2026-10-12T04:24:40.882281Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.882282Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882282Z 01O | ^ 2026-10-12T04:24:40.882300Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882301Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882302Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882303Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.882303Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882304Z 01O | ^ 2026-10-12T04:24:40.882304Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.882305Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.882306Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.882306Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.882307Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.882307Z 01O | ^ 2026-10-12T04:24:40.882307Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.882308Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.882309Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882312Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.882313Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.882314Z 01O | ^ 2026-10-12T04:24:40.882314Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.882315Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.882421Z 01O 231 | for (R_len_t i=0; i= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.882802Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882802Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.882803Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.882803Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.882804Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882823Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.882824Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.882825Z 01O | ^ 2026-10-12T04:24:40.882825Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.882826Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.882826Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882828Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.882829Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882829Z 01O | ^ 2026-10-12T04:24:40.882865Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882866Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882867Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.882867Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.882868Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882869Z 01O | ^ 2026-10-12T04:24:40.882889Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882890Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882891Z 01O | ^ 2026-10-12T04:24:40.882891Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.882892Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882893Z 01O | ^ 2026-10-12T04:24:40.882910Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882910Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882911Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.882912Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.882912Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882913Z 01O | ^ 2026-10-12T04:24:40.882960Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882961Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882973Z 01O | ^ 2026-10-12T04:24:40.882974Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.882975Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.882975Z 01O | ^ 2026-10-12T04:24:40.882997Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.882998Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.882999Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883000Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.883000Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883001Z 01O | ^ 2026-10-12T04:24:40.883001Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.883002Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.883002Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.883002Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.883004Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.883004Z 01O | ^ 2026-10-12T04:24:40.883007Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.883008Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.883009Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883009Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.883010Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.883010Z 01O | ^ 2026-10-12T04:24:40.883013Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.883013Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.883078Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-12T04:24:40.883422Z 01O | ^ 2026-10-12T04:24:40.883422Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.883423Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.883424Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.883424Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.883424Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.883425Z 01O | ^ 2026-10-12T04:24:40.883425Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.883426Z 01O 187 | if (verbose) 2026-10-12T04:24:40.883426Z 01O | ^~~~~~~ 2026-10-12T04:24:40.883427Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.883427Z 01O 187 | if (verbose) 2026-10-12T04:24:40.883428Z 01O | ^ 2026-10-12T04:24:40.883433Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.883434Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.883435Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883435Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.883454Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.883455Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.883456Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883473Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.883474Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.883483Z 01O | ^ 2026-10-12T04:24:40.883484Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.883485Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.883485Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883504Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.883505Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883505Z 01O | ^ 2026-10-12T04:24:40.883524Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.883524Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.883525Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883526Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.883526Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883527Z 01O | ^ 2026-10-12T04:24:40.883530Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.883531Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.883531Z 01O | ^ 2026-10-12T04:24:40.883532Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.883532Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883533Z 01O | ^ 2026-10-12T04:24:40.883550Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.883551Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.883551Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.883552Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.883552Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883553Z 01O | ^ 2026-10-12T04:24:40.883641Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.883642Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.883643Z 01O | ^ 2026-10-12T04:24:40.883646Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.883647Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883648Z 01O | ^ 2026-10-12T04:24:40.883648Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.883649Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.883650Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883652Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.883653Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.883654Z 01O | ^ 2026-10-12T04:24:40.883654Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.883655Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.883656Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.883657Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.883658Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.883668Z 01O | ^ 2026-10-12T04:24:40.883694Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.883695Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.883695Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.883696Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.883697Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.883697Z 01O | ^ 2026-10-12T04:24:40.883698Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.883699Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.883746Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-12T04:24:40.884082Z 01O | ^ 2026-10-12T04:24:40.884100Z 01O /builds/Rdatatable/data.table/src/nafill.c:35:16: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.884101Z 01O 35 | if (ISNA(x[0]) && limit>0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-12T04:24:40.884102Z 01O | ^ 2026-10-12T04:24:40.884103Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.884103Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.884104Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.884104Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.884105Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.884106Z 01O | ^ 2026-10-12T04:24:40.884112Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.884112Z 01O 187 | if (verbose) 2026-10-12T04:24:40.884112Z 01O | ^~~~~~~ 2026-10-12T04:24:40.884113Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.884114Z 01O 187 | if (verbose) 2026-10-12T04:24:40.884114Z 01O | ^ 2026-10-12T04:24:40.884115Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.884115Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.884116Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884117Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.884135Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.884135Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.884136Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884137Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.884137Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.884138Z 01O | ^ 2026-10-12T04:24:40.884183Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.884184Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.884185Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884186Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.884186Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884187Z 01O | ^ 2026-10-12T04:24:40.884205Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884214Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884214Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884215Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.884215Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884216Z 01O | ^ 2026-10-12T04:24:40.884216Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884217Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884217Z 01O | ^ 2026-10-12T04:24:40.884236Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.884236Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884237Z 01O | ^ 2026-10-12T04:24:40.884241Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884242Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884243Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.884243Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.884244Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884244Z 01O | ^ 2026-10-12T04:24:40.884264Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884265Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884265Z 01O | ^ 2026-10-12T04:24:40.884266Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.884267Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884267Z 01O | ^ 2026-10-12T04:24:40.884284Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884284Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884285Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884286Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.884286Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884287Z 01O | ^ 2026-10-12T04:24:40.884287Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.884288Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.884288Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.884288Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.884289Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.884289Z 01O | ^ 2026-10-12T04:24:40.884292Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.884293Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.884293Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884294Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.884294Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.884295Z 01O | ^ 2026-10-12T04:24:40.884296Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.884296Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.884371Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-10-12T04:24:40.884767Z 01O | ^ 2026-10-12T04:24:40.884787Z 01O /builds/Rdatatable/data.table/src/nafill.c:46:17: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.884788Z 01O 46 | if (ISNAN(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-12T04:24:40.884789Z 01O | ^ 2026-10-12T04:24:40.884789Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.884790Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.884790Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.884791Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.884791Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.884791Z 01O | ^ 2026-10-12T04:24:40.884792Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.884792Z 01O 187 | if (verbose) 2026-10-12T04:24:40.884793Z 01O | ^~~~~~~ 2026-10-12T04:24:40.884794Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.884794Z 01O 187 | if (verbose) 2026-10-12T04:24:40.884795Z 01O | ^ 2026-10-12T04:24:40.884815Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.884816Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.884816Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884817Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.884835Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.884836Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.884836Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884892Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.884893Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.884894Z 01O | ^ 2026-10-12T04:24:40.884894Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.884895Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.884895Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884896Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.884897Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884897Z 01O | ^ 2026-10-12T04:24:40.884919Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884919Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884920Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.884920Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.884921Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884922Z 01O | ^ 2026-10-12T04:24:40.884965Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.884966Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.884967Z 01O | ^ 2026-10-12T04:24:40.884980Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.884980Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.884981Z 01O | ^ 2026-10-12T04:24:40.885016Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885017Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885018Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.885019Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.885020Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885020Z 01O | ^ 2026-10-12T04:24:40.885023Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885024Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885025Z 01O | ^ 2026-10-12T04:24:40.885025Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.885026Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885026Z 01O | ^ 2026-10-12T04:24:40.885030Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885031Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885032Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885032Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.885033Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885034Z 01O | ^ 2026-10-12T04:24:40.885034Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.885035Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.885035Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.885038Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.885038Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.885039Z 01O | ^ 2026-10-12T04:24:40.885039Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.885040Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.885040Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885043Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.885043Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.885044Z 01O | ^ 2026-10-12T04:24:40.885063Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.885064Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.885141Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-12T04:24:40.885433Z 01O | ^ 2026-10-12T04:24:40.885433Z 01O /builds/Rdatatable/data.table/src/nafill.c:55:16: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.885434Z 01O 55 | if (ISNA(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-12T04:24:40.885435Z 01O | ^ 2026-10-12T04:24:40.885450Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.885451Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.885451Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.885452Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.885452Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.885453Z 01O | ^ 2026-10-12T04:24:40.885454Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.885455Z 01O 187 | if (verbose) 2026-10-12T04:24:40.885455Z 01O | ^~~~~~~ 2026-10-12T04:24:40.885457Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.885458Z 01O 187 | if (verbose) 2026-10-12T04:24:40.885458Z 01O | ^ 2026-10-12T04:24:40.885475Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.885476Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.885477Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885477Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.885520Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.885521Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.885522Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885539Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.885540Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.885541Z 01O | ^ 2026-10-12T04:24:40.885541Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.885542Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.885542Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885546Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.885547Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885547Z 01O | ^ 2026-10-12T04:24:40.885547Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885548Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885549Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885592Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.885593Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885593Z 01O | ^ 2026-10-12T04:24:40.885597Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885607Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885608Z 01O | ^ 2026-10-12T04:24:40.885608Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.885609Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885609Z 01O | ^ 2026-10-12T04:24:40.885629Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885630Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885631Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.885631Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.885632Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885632Z 01O | ^ 2026-10-12T04:24:40.885650Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885651Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885652Z 01O | ^ 2026-10-12T04:24:40.885652Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.885653Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885653Z 01O | ^ 2026-10-12T04:24:40.885656Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.885657Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.885658Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885658Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.885659Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.885687Z 01O | ^ 2026-10-12T04:24:40.885687Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.885688Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.885688Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.885711Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.885711Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.885712Z 01O | ^ 2026-10-12T04:24:40.885715Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.885715Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.885716Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.885733Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.885734Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.885734Z 01O | ^ 2026-10-12T04:24:40.885735Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.885735Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.885815Z 01O 231 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-10-12T04:24:40.886193Z 01O | ^ 2026-10-12T04:24:40.886197Z 01O /builds/Rdatatable/data.table/src/nafill.c:109:11: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.886197Z 01O 109 | if (x[i]==NA_INTEGER64) { 2026-10-12T04:24:40.886198Z 01O | ^ 2026-10-12T04:24:40.886198Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.886199Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.886199Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.886200Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.886200Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.886201Z 01O | ^ 2026-10-12T04:24:40.886217Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.886218Z 01O 187 | if (verbose) 2026-10-12T04:24:40.886218Z 01O | ^~~~~~~ 2026-10-12T04:24:40.886218Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.886219Z 01O 187 | if (verbose) 2026-10-12T04:24:40.886219Z 01O | ^ 2026-10-12T04:24:40.886274Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.886275Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.886277Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886277Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.886295Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.886297Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.886298Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886301Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.886302Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.886302Z 01O | ^ 2026-10-12T04:24:40.886303Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.886303Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.886304Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886319Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.886320Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.886321Z 01O | ^ 2026-10-12T04:24:40.886325Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.886326Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.886327Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886327Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.886328Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.886337Z 01O | ^ 2026-10-12T04:24:40.886402Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.886404Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.886405Z 01O | ^ 2026-10-12T04:24:40.886405Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.886406Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.886406Z 01O | ^ 2026-10-12T04:24:40.886411Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.886412Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.886413Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.886414Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.886414Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.886415Z 01O | ^ 2026-10-12T04:24:40.886433Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.886434Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.886435Z 01O | ^ 2026-10-12T04:24:40.886438Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.886439Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.886439Z 01O | ^ 2026-10-12T04:24:40.886440Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.886441Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.886441Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886458Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.886459Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.886460Z 01O | ^ 2026-10-12T04:24:40.886460Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.886461Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.886462Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.886462Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.886463Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.886463Z 01O | ^ 2026-10-12T04:24:40.886480Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.886480Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.886481Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886481Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.886482Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.886482Z 01O | ^ 2026-10-12T04:24:40.886484Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.886485Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.886575Z 01O 231 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-10-12T04:24:40.886911Z 01O | ^ 2026-10-12T04:24:40.886912Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.886913Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.886913Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.886913Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.886914Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.886915Z 01O | ^ 2026-10-12T04:24:40.886915Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.886915Z 01O 187 | if (verbose) 2026-10-12T04:24:40.886916Z 01O | ^~~~~~~ 2026-10-12T04:24:40.886932Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.886933Z 01O 187 | if (verbose) 2026-10-12T04:24:40.886934Z 01O | ^ 2026-10-12T04:24:40.886968Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.886969Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.886970Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886971Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.886988Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.886989Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.886990Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.886993Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.886994Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.886995Z 01O | ^ 2026-10-12T04:24:40.886995Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.886996Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.886996Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887012Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.887013Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887013Z 01O | ^ 2026-10-12T04:24:40.887018Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887019Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887019Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887020Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.887021Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887021Z 01O | ^ 2026-10-12T04:24:40.887037Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887038Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887038Z 01O | ^ 2026-10-12T04:24:40.887039Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.887039Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887040Z 01O | ^ 2026-10-12T04:24:40.887085Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887086Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887086Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.887087Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.887088Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887088Z 01O | ^ 2026-10-12T04:24:40.887089Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887089Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887090Z 01O | ^ 2026-10-12T04:24:40.887108Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.887108Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887118Z 01O | ^ 2026-10-12T04:24:40.887138Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887138Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887139Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887140Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.887140Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887141Z 01O | ^ 2026-10-12T04:24:40.887141Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.887141Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.887142Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.887144Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.887145Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.887146Z 01O | ^ 2026-10-12T04:24:40.887146Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.887147Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.887147Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887149Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.887150Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.887151Z 01O | ^ 2026-10-12T04:24:40.887169Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.887170Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.887269Z 01O 231 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-10-12T04:24:40.887527Z 01O | ^ 2026-10-12T04:24:40.887543Z 01O /builds/Rdatatable/data.table/src/nafill.c:124:9: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.887544Z 01O 124 | if (x[nx-1]==NA_INTEGER64 && limit>0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-10-12T04:24:40.887545Z 01O | ^ 2026-10-12T04:24:40.887545Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.887546Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.887546Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.887562Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.887562Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.887563Z 01O | ^ 2026-10-12T04:24:40.887563Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.887564Z 01O 187 | if (verbose) 2026-10-12T04:24:40.887564Z 01O | ^~~~~~~ 2026-10-12T04:24:40.887564Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.887565Z 01O 187 | if (verbose) 2026-10-12T04:24:40.887565Z 01O | ^ 2026-10-12T04:24:40.887607Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.887608Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.887609Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887609Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.887629Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.887629Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.887630Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887634Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.887634Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.887644Z 01O | ^ 2026-10-12T04:24:40.887704Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.887705Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.887705Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887706Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.887707Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887707Z 01O | ^ 2026-10-12T04:24:40.887708Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887708Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887709Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887713Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.887714Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887714Z 01O | ^ 2026-10-12T04:24:40.887734Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887735Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887736Z 01O | ^ 2026-10-12T04:24:40.887739Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.887740Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887741Z 01O | ^ 2026-10-12T04:24:40.887743Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887744Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887744Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.887761Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.887762Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887763Z 01O | ^ 2026-10-12T04:24:40.887764Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887764Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887765Z 01O | ^ 2026-10-12T04:24:40.887766Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.887766Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887767Z 01O | ^ 2026-10-12T04:24:40.887785Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.887786Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.887786Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887810Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.887811Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.887811Z 01O | ^ 2026-10-12T04:24:40.887812Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.887812Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.887813Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.887813Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.887814Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.887814Z 01O | ^ 2026-10-12T04:24:40.887946Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.887959Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.887960Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.887960Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.887961Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.887961Z 01O | ^ 2026-10-12T04:24:40.887967Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.887968Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.887985Z 01O 231 | for (R_len_t i=0; i0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-10-12T04:24:40.888267Z 01O | ^ 2026-10-12T04:24:40.888267Z 01O /builds/Rdatatable/data.table/src/nafill.c:144:11: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.888268Z 01O 144 | if (x[i]==NA_STRING) { 2026-10-12T04:24:40.888269Z 01O | ^ 2026-10-12T04:24:40.888269Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.888270Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.888270Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.888271Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.888271Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.888272Z 01O | ^ 2026-10-12T04:24:40.888272Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.888273Z 01O 187 | if (verbose) 2026-10-12T04:24:40.888273Z 01O | ^~~~~~~ 2026-10-12T04:24:40.888274Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.888275Z 01O 187 | if (verbose) 2026-10-12T04:24:40.888275Z 01O | ^ 2026-10-12T04:24:40.888293Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.888294Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.888295Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888295Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.888348Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.888349Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.888349Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888357Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.888357Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.888358Z 01O | ^ 2026-10-12T04:24:40.888359Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.888359Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.888369Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888369Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.888370Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.888370Z 01O | ^ 2026-10-12T04:24:40.888370Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.888371Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.888371Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888372Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.888372Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.888373Z 01O | ^ 2026-10-12T04:24:40.888393Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.888393Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.888394Z 01O | ^ 2026-10-12T04:24:40.888395Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.888396Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.888397Z 01O | ^ 2026-10-12T04:24:40.888401Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.888401Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.888402Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.888403Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.888403Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.888405Z 01O | ^ 2026-10-12T04:24:40.888422Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.888423Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.888423Z 01O | ^ 2026-10-12T04:24:40.888440Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.888440Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.888441Z 01O | ^ 2026-10-12T04:24:40.888441Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.888442Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.888443Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888457Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.888458Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.888458Z 01O | ^ 2026-10-12T04:24:40.888509Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.888510Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.888511Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.888511Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.888512Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.888512Z 01O | ^ 2026-10-12T04:24:40.888515Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.888516Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.888516Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888526Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.888527Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.888527Z 01O | ^ 2026-10-12T04:24:40.888547Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.888548Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.888589Z 01O 231 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-10-12T04:24:40.888944Z 01O | ^ 2026-10-12T04:24:40.888944Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.888945Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.888945Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.888945Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.888946Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.888946Z 01O | ^ 2026-10-12T04:24:40.888947Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.888958Z 01O 187 | if (verbose) 2026-10-12T04:24:40.888959Z 01O | ^~~~~~~ 2026-10-12T04:24:40.888959Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.888960Z 01O 187 | if (verbose) 2026-10-12T04:24:40.888960Z 01O | ^ 2026-10-12T04:24:40.888984Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.888985Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.888986Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888986Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.888991Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.888992Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.888993Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.888996Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.888996Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.888997Z 01O | ^ 2026-10-12T04:24:40.888997Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.888998Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.888998Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889001Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.889001Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889002Z 01O | ^ 2026-10-12T04:24:40.889022Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889023Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889024Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889025Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.889025Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889026Z 01O | ^ 2026-10-12T04:24:40.889032Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889033Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889034Z 01O | ^ 2026-10-12T04:24:40.889034Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.889035Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889035Z 01O | ^ 2026-10-12T04:24:40.889035Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889036Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889037Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.889037Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.889038Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889038Z 01O | ^ 2026-10-12T04:24:40.889054Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889062Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889063Z 01O | ^ 2026-10-12T04:24:40.889065Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.889066Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889066Z 01O | ^ 2026-10-12T04:24:40.889069Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889070Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889070Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889071Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.889071Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889071Z 01O | ^ 2026-10-12T04:24:40.889089Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.889090Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.889090Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.889091Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.889091Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.889091Z 01O | ^ 2026-10-12T04:24:40.889092Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.889092Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.889093Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889095Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.889096Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.889096Z 01O | ^ 2026-10-12T04:24:40.889097Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.889097Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.889208Z 01O 231 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-10-12T04:24:40.889487Z 01O | ^ 2026-10-12T04:24:40.889505Z 01O /builds/Rdatatable/data.table/src/nafill.c:160:9: warning: Array access (from variable 'x') results in a null pointer dereference [clang-analyzer-core.NullDereference] 2026-10-12T04:24:40.889506Z 01O 160 | if (x[nx-1]==NA_STRING && limit>0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-10-12T04:24:40.889507Z 01O | ^ 2026-10-12T04:24:40.889508Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-10-12T04:24:40.889508Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.889527Z 01O | ^~~~~~~~~~~~~ 2026-10-12T04:24:40.889528Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-10-12T04:24:40.889529Z 01O 183 | if (!xlength(obj)) 2026-10-12T04:24:40.889530Z 01O | ^ 2026-10-12T04:24:40.889530Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-10-12T04:24:40.889531Z 01O 187 | if (verbose) 2026-10-12T04:24:40.889531Z 01O | ^~~~~~~ 2026-10-12T04:24:40.889532Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-10-12T04:24:40.889532Z 01O 187 | if (verbose) 2026-10-12T04:24:40.889533Z 01O | ^ 2026-10-12T04:24:40.889598Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-10-12T04:24:40.889599Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.889601Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889601Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-10-12T04:24:40.889606Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-10-12T04:24:40.889606Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.889607Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889608Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-10-12T04:24:40.889609Z 01O 191 | const uint_fast64_t limit_n = !R_FINITE(limit_d) || limit_d >= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-10-12T04:24:40.889609Z 01O | ^ 2026-10-12T04:24:40.889628Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-10-12T04:24:40.889638Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-10-12T04:24:40.889639Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889656Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.889656Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889657Z 01O | ^ 2026-10-12T04:24:40.889662Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889662Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889663Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889663Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.889664Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889664Z 01O | ^ 2026-10-12T04:24:40.889686Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889686Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889687Z 01O | ^ 2026-10-12T04:24:40.889688Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.889688Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889689Z 01O | ^ 2026-10-12T04:24:40.889706Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889707Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889708Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.889709Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-10-12T04:24:40.889709Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889710Z 01O | ^ 2026-10-12T04:24:40.889710Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889711Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889711Z 01O | ^ 2026-10-12T04:24:40.889712Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-10-12T04:24:40.889712Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889713Z 01O | ^ 2026-10-12T04:24:40.889764Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.889765Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.889765Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889766Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-10-12T04:24:40.889766Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-10-12T04:24:40.889767Z 01O | ^ 2026-10-12T04:24:40.889767Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-10-12T04:24:40.889768Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.889768Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.889769Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-10-12T04:24:40.889770Z 01O 200 | if (obj_scalar) { 2026-10-12T04:24:40.889770Z 01O | ^ 2026-10-12T04:24:40.889820Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:14: note: Assuming the condition is false 2026-10-12T04:24:40.889821Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.889830Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.889831Z 01O /builds/Rdatatable/data.table/src/nafill.c:208:10: note: Taking false branch 2026-10-12T04:24:40.889832Z 01O 208 | } else if (!xlength(VECTOR_ELT(obj, 0))) { 2026-10-12T04:24:40.889832Z 01O | ^ 2026-10-12T04:24:40.889832Z 01O /builds/Rdatatable/data.table/src/nafill.c:215:17: note: Assuming the condition is false 2026-10-12T04:24:40.889833Z 01O 215 | for (int i=0; i= 'nx' 2026-10-12T04:24:40.889898Z 01O 231 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-10-12T04:24:40.890205Z 01O | ^ 2026-10-12T04:24:40.890205Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: warning: Value stored to 'x' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 2026-10-12T04:24:40.890206Z 01O 198 | SEXP x = R_NilValue; 2026-10-12T04:24:40.890207Z 01O | ^ ~~~~~~~~~~ 2026-10-12T04:24:40.890222Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: note: Value stored to 'x' during its initialization is never read 2026-10-12T04:24:40.890223Z 01O 198 | SEXP x = R_NilValue; 2026-10-12T04:24:40.890223Z 01O | ^ ~~~~~~~~~~ 2026-10-12T04:24:40.890280Z 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-10-12T04:24:40.890281Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-10-12T04:24:40.890281Z 01O | ^ 2026-10-12T04:24:40.890354Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-10-12T04:24:40.890355Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-10-12T04:24:40.890356Z 01O | ^ 2026-10-12T04:24:40.890356Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-10-12T04:24:40.890357Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-10-12T04:24:40.890358Z 01O | ^ 2026-10-12T04:24:40.890360Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-10-12T04:24:40.890361Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-10-12T04:24:40.890362Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890362Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-10-12T04:24:40.890363Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-10-12T04:24:40.890364Z 01O | ^ 2026-10-12T04:24:40.890367Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-10-12T04:24:40.890368Z 01O 131 | if (length(throttle)) { 2026-10-12T04:24:40.890368Z 01O | ^ 2026-10-12T04:24:40.890369Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-10-12T04:24:40.890369Z 01O 987 | #define length(x) Rf_length(x) 2026-10-12T04:24:40.890370Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.890370Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-10-12T04:24:40.890371Z 01O 131 | if (length(throttle)) { 2026-10-12T04:24:40.890371Z 01O | ^ 2026-10-12T04:24:40.890396Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-10-12T04:24:40.890396Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-10-12T04:24:40.890397Z 01O | ^~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890397Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-10-12T04:24:40.890399Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-10-12T04:24:40.890400Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-10-12T04:24:40.890400Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890410Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-10-12T04:24:40.890411Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-10-12T04:24:40.890411Z 01O | ^ 2026-10-12T04:24:40.890411Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-10-12T04:24:40.890412Z 01O 138 | initDTthreads(); 2026-10-12T04:24:40.890412Z 01O | ^~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890412Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-10-12T04:24:40.890413Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-10-12T04:24:40.890413Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890414Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-10-12T04:24:40.890414Z 01O 14 | const char *val = getenv(name); 2026-10-12T04:24:40.890415Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.890433Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-10-12T04:24:40.890435Z 01O 14 | const char *val = getenv(name); 2026-10-12T04:24:40.890435Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.890436Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-10-12T04:24:40.890437Z 01O 14 | const char *val = getenv(name); 2026-10-12T04:24:40.890437Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.890439Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-10-12T04:24:40.890440Z 01O 15 | if (val == NULL) return def; 2026-10-12T04:24:40.890440Z 01O | ^~~ 2026-10-12T04:24:40.890441Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-10-12T04:24:40.890441Z 01O 15 | if (val == NULL) return def; 2026-10-12T04:24:40.890442Z 01O | ^ 2026-10-12T04:24:40.890458Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-10-12T04:24:40.890459Z 01O 17 | if (nchar == 0) return def; 2026-10-12T04:24:40.890460Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.890460Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-10-12T04:24:40.890461Z 01O 17 | if (nchar == 0) return def; 2026-10-12T04:24:40.890461Z 01O | ^ 2026-10-12T04:24:40.890462Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-10-12T04:24:40.890462Z 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-10-12T04:24:40.890463Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890486Z 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-10-12T04:24:40.890487Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-10-12T04:24:40.890488Z 01O | ^ 2026-10-12T04:24:40.890488Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-10-12T04:24:40.890489Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-10-12T04:24:40.890489Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890492Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-10-12T04:24:40.890493Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-10-12T04:24:40.890493Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890558Z 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-10-12T04:24:40.890559Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-10-12T04:24:40.890569Z 01O | ^ ~~~~~ 2026-10-12T04:24:40.890569Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-10-12T04:24:40.890570Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-12T04:24:40.890571Z 01O | ^ 2026-10-12T04:24:40.890626Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890627Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890627Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890629Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-10-12T04:24:40.890629Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-12T04:24:40.890630Z 01O | ^ 2026-10-12T04:24:40.890648Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890649Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890650Z 01O | ^ 2026-10-12T04:24:40.890651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-10-12T04:24:40.890652Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-12T04:24:40.890652Z 01O | ^ 2026-10-12T04:24:40.890656Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890658Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890658Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.890659Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-10-12T04:24:40.890660Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-12T04:24:40.890660Z 01O | ^ 2026-10-12T04:24:40.890680Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890681Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890682Z 01O | ^ 2026-10-12T04:24:40.890683Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-10-12T04:24:40.890683Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-12T04:24:40.890684Z 01O | ^ 2026-10-12T04:24:40.890684Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890685Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890686Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890686Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-10-12T04:24:40.890687Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-10-12T04:24:40.890688Z 01O | ^ 2026-10-12T04:24:40.890704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-10-12T04:24:40.890705Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-10-12T04:24:40.890706Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-10-12T04:24:40.890710Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-10-12T04:24:40.890711Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-10-12T04:24:40.890711Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890720Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-10-12T04:24:40.890720Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-10-12T04:24:40.890721Z 01O | ^ 2026-10-12T04:24:40.890738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-10-12T04:24:40.890739Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-12T04:24:40.890740Z 01O | ^ 2026-10-12T04:24:40.890766Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890767Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890768Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890768Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-10-12T04:24:40.890769Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-12T04:24:40.890769Z 01O | ^ 2026-10-12T04:24:40.890770Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890770Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890771Z 01O | ^ 2026-10-12T04:24:40.890772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-10-12T04:24:40.890773Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-12T04:24:40.890773Z 01O | ^ 2026-10-12T04:24:40.890773Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890774Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890775Z 01O | ^~~~~~~~~~~~ 2026-10-12T04:24:40.890775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-10-12T04:24:40.890776Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-12T04:24:40.890776Z 01O | ^ 2026-10-12T04:24:40.890793Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890794Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890794Z 01O | ^ 2026-10-12T04:24:40.890856Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-10-12T04:24:40.890858Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-12T04:24:40.890858Z 01O | ^ 2026-10-12T04:24:40.890859Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-10-12T04:24:40.890860Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-10-12T04:24:40.890860Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890861Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-10-12T04:24:40.890862Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-10-12T04:24:40.890862Z 01O | ^ 2026-10-12T04:24:40.890865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-10-12T04:24:40.890866Z 01O 13 | if (!length(l)) return(l); 2026-10-12T04:24:40.890866Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.890886Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-10-12T04:24:40.890886Z 01O 13 | if (!length(l)) return(l); 2026-10-12T04:24:40.890887Z 01O | ^ 2026-10-12T04:24:40.890889Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-10-12T04:24:40.890901Z 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-10-12T04:24:40.890902Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890922Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-10-12T04:24:40.890924Z 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-10-12T04:24:40.890925Z 01O | ^ 2026-10-12T04:24:40.890925Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-10-12T04:24:40.890925Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-10-12T04:24:40.890926Z 01O | ^~~~ 2026-10-12T04:24:40.890926Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-10-12T04:24:40.890927Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-10-12T04:24:40.890927Z 01O | ^ 2026-10-12T04:24:40.890928Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-10-12T04:24:40.890929Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-10-12T04:24:40.890929Z 01O | ^~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.890933Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-10-12T04:24:40.890933Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-10-12T04:24:40.890934Z 01O | ^~~~~ 2026-10-12T04:24:40.891018Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-10-12T04:24:40.891019Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-10-12T04:24:40.891020Z 01O | ^ 2026-10-12T04:24:40.891020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-10-12T04:24:40.891021Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.891022Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.891022Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.891023Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.891024Z 01O | ^ 2026-10-12T04:24:40.891024Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-12T04:24:40.891025Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.891025Z 01O | ^ 2026-10-12T04:24:40.891026Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.891027Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.891027Z 01O | ^ 2026-10-12T04:24:40.891027Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-12T04:24:40.891028Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.891028Z 01O | ^ 2026-10-12T04:24:40.891046Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-12T04:24:40.891046Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.891047Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.891048Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-12T04:24:40.891048Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.891049Z 01O | ^ 2026-10-12T04:24:40.891052Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-12T04:24:40.891061Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.891062Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.891062Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-12T04:24:40.891062Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.891063Z 01O | ^ 2026-10-12T04:24:40.891063Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-12T04:24:40.891064Z 01O 37 | if (fill) { 2026-10-12T04:24:40.891064Z 01O | ^~~~ 2026-10-12T04:24:40.891066Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-12T04:24:40.891067Z 01O 37 | if (fill) { 2026-10-12T04:24:40.891067Z 01O | ^ 2026-10-12T04:24:40.891084Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-12T04:24:40.891084Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.891085Z 01O | ^~~~ 2026-10-12T04:24:40.891086Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-12T04:24:40.891087Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.891087Z 01O | ^ 2026-10-12T04:24:40.891112Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-12T04:24:40.891113Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.891113Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.891114Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-12T04:24:40.891115Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.891115Z 01O | ^ 2026-10-12T04:24:40.891130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-12T04:24:40.891131Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.891132Z 01O | ^~~~~~ 2026-10-12T04:24:40.891132Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-12T04:24:40.891133Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.891133Z 01O | ^ 2026-10-12T04:24:40.891173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-12T04:24:40.891174Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.891175Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.891176Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-12T04:24:40.891177Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.891177Z 01O | ^ 2026-10-12T04:24:40.891178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-12T04:24:40.891178Z 01O 49 | for (int j=0; j0 checked above 2026-10-12T04:24:40.891199Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.891199Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-12T04:24:40.891210Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.891210Z 01O | ^ 2026-10-12T04:24:40.891214Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-12T04:24:40.891214Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.891215Z 01O | ^~~~~~~ 2026-10-12T04:24:40.891215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-12T04:24:40.891216Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.891216Z 01O | ^ 2026-10-12T04:24:40.891217Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-12T04:24:40.891217Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.891217Z 01O | ^~~~ 2026-10-12T04:24:40.891218Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-12T04:24:40.891237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-12T04:24:40.891238Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.891238Z 01O | ^~~~ 2026-10-12T04:24:40.891239Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-12T04:24:40.891240Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.891240Z 01O | ^ 2026-10-12T04:24:40.891254Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-12T04:24:40.891255Z 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-10-12T04:24:40.891256Z 01O | ^~~~ 2026-10-12T04:24:40.891311Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-12T04:24:40.891312Z 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-10-12T04:24:40.891313Z 01O | ^ 2026-10-12T04:24:40.891314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-12T04:24:40.891315Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.891315Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.891337Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-12T04:24:40.891338Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.891339Z 01O | ^ 2026-10-12T04:24:40.891353Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.891354Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.891355Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.891355Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-12T04:24:40.891358Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-12T04:24:40.891359Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.891359Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.891360Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-12T04:24:40.891360Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.891361Z 01O | ^ 2026-10-12T04:24:40.891362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-12T04:24:40.891363Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.891363Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.891403Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-12T04:24:40.891415Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.891415Z 01O | ^ 2026-10-12T04:24:40.891416Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-10-12T04:24:40.891416Z 01O 83 | int nuniq=0; 2026-10-12T04:24:40.891417Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.891417Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-10-12T04:24:40.891417Z 01O 85 | for (int i=0; i0 checked above 2026-10-12T04:24:40.891857Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.891858Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.891870Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.891870Z 01O | ^ 2026-10-12T04:24:40.891892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-12T04:24:40.891893Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.891893Z 01O | ^ 2026-10-12T04:24:40.891894Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.891895Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.891895Z 01O | ^ 2026-10-12T04:24:40.891896Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-12T04:24:40.891897Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.891897Z 01O | ^ 2026-10-12T04:24:40.891900Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-12T04:24:40.891900Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.891901Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.891902Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-12T04:24:40.891902Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.891903Z 01O | ^ 2026-10-12T04:24:40.891905Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-12T04:24:40.891906Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.891906Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.891922Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-12T04:24:40.891923Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.891924Z 01O | ^ 2026-10-12T04:24:40.891924Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-12T04:24:40.891925Z 01O 37 | if (fill) { 2026-10-12T04:24:40.891925Z 01O | ^~~~ 2026-10-12T04:24:40.891927Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-12T04:24:40.891928Z 01O 37 | if (fill) { 2026-10-12T04:24:40.891928Z 01O | ^ 2026-10-12T04:24:40.891943Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-12T04:24:40.891944Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.891944Z 01O | ^~~~ 2026-10-12T04:24:40.891945Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-12T04:24:40.891945Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.891946Z 01O | ^ 2026-10-12T04:24:40.891992Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-12T04:24:40.891993Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.891994Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.892079Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-12T04:24:40.892080Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.892081Z 01O | ^ 2026-10-12T04:24:40.892082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-12T04:24:40.892082Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.892083Z 01O | ^~~~~~ 2026-10-12T04:24:40.892083Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-12T04:24:40.892084Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.892084Z 01O | ^ 2026-10-12T04:24:40.892095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-12T04:24:40.892096Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.892097Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.892097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-12T04:24:40.892098Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.892098Z 01O | ^ 2026-10-12T04:24:40.892098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-12T04:24:40.892099Z 01O 49 | for (int j=0; j0 checked above 2026-10-12T04:24:40.892102Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.892103Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-12T04:24:40.892103Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.892104Z 01O | ^ 2026-10-12T04:24:40.892104Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-12T04:24:40.892104Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.892105Z 01O | ^~~~~~~ 2026-10-12T04:24:40.892125Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-12T04:24:40.892126Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.892126Z 01O | ^ 2026-10-12T04:24:40.892127Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-12T04:24:40.892127Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.892128Z 01O | ^~~~ 2026-10-12T04:24:40.892128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-12T04:24:40.892131Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-12T04:24:40.892131Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.892132Z 01O | ^~~~ 2026-10-12T04:24:40.892148Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-12T04:24:40.892149Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.892149Z 01O | ^ 2026-10-12T04:24:40.892166Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-12T04:24:40.892167Z 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-10-12T04:24:40.892168Z 01O | ^~~~ 2026-10-12T04:24:40.892168Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-12T04:24:40.892169Z 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-10-12T04:24:40.892169Z 01O | ^ 2026-10-12T04:24:40.892185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-12T04:24:40.892186Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.892194Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.892212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-12T04:24:40.892213Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.892213Z 01O | ^ 2026-10-12T04:24:40.892214Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.892214Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.892215Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.892215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-12T04:24:40.892231Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-12T04:24:40.892231Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.892232Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.892232Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-12T04:24:40.892233Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.892233Z 01O | ^ 2026-10-12T04:24:40.892236Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-12T04:24:40.892236Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.892237Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.892237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-12T04:24:40.892238Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.892238Z 01O | ^ 2026-10-12T04:24:40.892293Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-10-12T04:24:40.892294Z 01O 85 | for (int i=0; i= 'thisncol' 2026-10-12T04:24:40.892410Z 01O 92 | for (int j=0; j 'ncol' 2026-10-12T04:24:40.892566Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-12T04:24:40.892566Z 01O | ^~~~~~ 2026-10-12T04:24:40.892566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-10-12T04:24:40.892567Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-12T04:24:40.892567Z 01O | ^ 2026-10-12T04:24:40.892582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-10-12T04:24:40.892583Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-12T04:24:40.892583Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.892584Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-10-12T04:24:40.892585Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-10-12T04:24:40.892586Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.892646Z 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-10-12T04:24:40.892647Z 01O 153 | for (int j=0; j0 checked above 2026-10-12T04:24:40.893019Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.893021Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.893022Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.893023Z 01O | ^ 2026-10-12T04:24:40.893038Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-12T04:24:40.893039Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.893039Z 01O | ^ 2026-10-12T04:24:40.893039Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.893040Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.893040Z 01O | ^ 2026-10-12T04:24:40.893041Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-12T04:24:40.893041Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.893042Z 01O | ^ 2026-10-12T04:24:40.893095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-12T04:24:40.893096Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.893097Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.893097Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-12T04:24:40.893098Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.893099Z 01O | ^ 2026-10-12T04:24:40.893114Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-12T04:24:40.893115Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.893116Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.893116Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-12T04:24:40.893117Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.893117Z 01O | ^ 2026-10-12T04:24:40.893119Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-12T04:24:40.893120Z 01O 37 | if (fill) { 2026-10-12T04:24:40.893120Z 01O | ^~~~ 2026-10-12T04:24:40.893120Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-12T04:24:40.893121Z 01O 37 | if (fill) { 2026-10-12T04:24:40.893122Z 01O | ^ 2026-10-12T04:24:40.893159Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-12T04:24:40.893160Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.893161Z 01O | ^~~~ 2026-10-12T04:24:40.893178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-12T04:24:40.893178Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.893179Z 01O | ^ 2026-10-12T04:24:40.893195Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-12T04:24:40.893206Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.893206Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.893207Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-12T04:24:40.893207Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.893208Z 01O | ^ 2026-10-12T04:24:40.893208Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-12T04:24:40.893209Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.893209Z 01O | ^~~~~~ 2026-10-12T04:24:40.893230Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-12T04:24:40.893230Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.893231Z 01O | ^ 2026-10-12T04:24:40.893270Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-12T04:24:40.893271Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.893272Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.893317Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-12T04:24:40.893318Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.893318Z 01O | ^ 2026-10-12T04:24:40.893319Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-12T04:24:40.893319Z 01O 49 | for (int j=0; j0 checked above 2026-10-12T04:24:40.893324Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.893326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-12T04:24:40.893327Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.893328Z 01O | ^ 2026-10-12T04:24:40.893328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-12T04:24:40.893329Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.893329Z 01O | ^~~~~~~ 2026-10-12T04:24:40.893330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-12T04:24:40.893330Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.893331Z 01O | ^ 2026-10-12T04:24:40.893350Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-12T04:24:40.893351Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.893351Z 01O | ^~~~ 2026-10-12T04:24:40.893352Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-12T04:24:40.893353Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-12T04:24:40.893354Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.893354Z 01O | ^~~~ 2026-10-12T04:24:40.893356Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-12T04:24:40.893365Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.893366Z 01O | ^ 2026-10-12T04:24:40.893386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-12T04:24:40.893387Z 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-10-12T04:24:40.893388Z 01O | ^~~~ 2026-10-12T04:24:40.893390Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-12T04:24:40.893391Z 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-10-12T04:24:40.893392Z 01O | ^ 2026-10-12T04:24:40.893411Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-12T04:24:40.893411Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.893412Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.893415Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-12T04:24:40.893416Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.893416Z 01O | ^ 2026-10-12T04:24:40.893417Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.893418Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.893418Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.893419Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-12T04:24:40.893435Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-12T04:24:40.893436Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.893437Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.893437Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-12T04:24:40.893438Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.893439Z 01O | ^ 2026-10-12T04:24:40.893439Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-12T04:24:40.893440Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.893440Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.893456Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-12T04:24:40.893456Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.893457Z 01O | ^ 2026-10-12T04:24:40.893458Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-10-12T04:24:40.893458Z 01O 85 | for (int i=0; i= 'thisncol' 2026-10-12T04:24:40.893591Z 01O 92 | for (int j=0; j= 'thisncol' 2026-10-12T04:24:40.893752Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-10-12T04:24:40.893793Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.893793Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-10-12T04:24:40.893794Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-10-12T04:24:40.893794Z 01O | ^ 2026-10-12T04:24:40.893796Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-10-12T04:24:40.893797Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-10-12T04:24:40.893836Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.893836Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-10-12T04:24:40.893837Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-12T04:24:40.893837Z 01O | ^ 2026-10-12T04:24:40.893883Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-10-12T04:24:40.893884Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.893884Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.893885Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-12T04:24:40.893887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-10-12T04:24:40.893888Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.893888Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.893890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-12T04:24:40.893891Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.893891Z 01O | ^ 2026-10-12T04:24:40.893907Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-10-12T04:24:40.893907Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.893908Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.893911Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-10-12T04:24:40.893912Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.893912Z 01O | ^ 2026-10-12T04:24:40.893913Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-10-12T04:24:40.893913Z 01O 142 | for (int i=0; i= 'ncol' 2026-10-12T04:24:40.893932Z 01O 143 | for (int i=0; i0 checked above 2026-10-12T04:24:40.894587Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.894587Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.894588Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.894589Z 01O | ^ 2026-10-12T04:24:40.894589Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-12T04:24:40.894590Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.894591Z 01O | ^ 2026-10-12T04:24:40.894591Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.894592Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.894592Z 01O | ^ 2026-10-12T04:24:40.894593Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-12T04:24:40.894593Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.894594Z 01O | ^ 2026-10-12T04:24:40.894615Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-12T04:24:40.894616Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.894617Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.894662Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-12T04:24:40.894663Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.894663Z 01O | ^ 2026-10-12T04:24:40.894664Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-12T04:24:40.894664Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.894674Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.894675Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-12T04:24:40.894675Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.894676Z 01O | ^ 2026-10-12T04:24:40.894676Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-12T04:24:40.894677Z 01O 37 | if (fill) { 2026-10-12T04:24:40.894677Z 01O | ^~~~ 2026-10-12T04:24:40.894698Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-12T04:24:40.894699Z 01O 37 | if (fill) { 2026-10-12T04:24:40.894699Z 01O | ^ 2026-10-12T04:24:40.894699Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-12T04:24:40.894700Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.894701Z 01O | ^~~~ 2026-10-12T04:24:40.894701Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-12T04:24:40.894702Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.894702Z 01O | ^ 2026-10-12T04:24:40.894717Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-12T04:24:40.894718Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.894719Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.894784Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-12T04:24:40.894786Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.894786Z 01O | ^ 2026-10-12T04:24:40.894787Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-12T04:24:40.894788Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.894788Z 01O | ^~~~~~ 2026-10-12T04:24:40.894789Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-12T04:24:40.894790Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.894790Z 01O | ^ 2026-10-12T04:24:40.894860Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-12T04:24:40.894861Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.894862Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.894862Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-12T04:24:40.894863Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.894864Z 01O | ^ 2026-10-12T04:24:40.894864Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-10-12T04:24:40.894865Z 01O 49 | for (int j=0; j0 checked above 2026-10-12T04:24:40.894929Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.894929Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-12T04:24:40.894930Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.894943Z 01O | ^ 2026-10-12T04:24:40.894944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-12T04:24:40.894944Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.894945Z 01O | ^~~~~~~ 2026-10-12T04:24:40.894945Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-12T04:24:40.894945Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.894946Z 01O | ^ 2026-10-12T04:24:40.894946Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-12T04:24:40.894947Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.894947Z 01O | ^~~~ 2026-10-12T04:24:40.894947Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-12T04:24:40.894948Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-12T04:24:40.894948Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.894949Z 01O | ^~~~ 2026-10-12T04:24:40.894949Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-12T04:24:40.894950Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.894950Z 01O | ^ 2026-10-12T04:24:40.895002Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-12T04:24:40.895004Z 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-10-12T04:24:40.895006Z 01O | ^~~~ 2026-10-12T04:24:40.895006Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-12T04:24:40.895007Z 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-10-12T04:24:40.895008Z 01O | ^ 2026-10-12T04:24:40.895008Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-12T04:24:40.895009Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.895010Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.895010Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-12T04:24:40.895011Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.895012Z 01O | ^ 2026-10-12T04:24:40.895012Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.895013Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.895013Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.895014Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-12T04:24:40.895015Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-10-12T04:24:40.895015Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.895016Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.895017Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-10-12T04:24:40.895017Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.895018Z 01O | ^ 2026-10-12T04:24:40.895096Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-10-12T04:24:40.895097Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.895097Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.895098Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-10-12T04:24:40.895107Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-10-12T04:24:40.895107Z 01O | ^ 2026-10-12T04:24:40.895108Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-10-12T04:24:40.895108Z 01O 85 | for (int i=0; i= 'thisncol' 2026-10-12T04:24:40.895274Z 01O 92 | for (int j=0; j= 'thisncol' 2026-10-12T04:24:40.895459Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-10-12T04:24:40.895472Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.895473Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-10-12T04:24:40.895474Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-10-12T04:24:40.895474Z 01O | ^ 2026-10-12T04:24:40.895475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-10-12T04:24:40.895475Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-10-12T04:24:40.895751Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.895751Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-10-12T04:24:40.895752Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-10-12T04:24:40.895752Z 01O | ^ 2026-10-12T04:24:40.895753Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-10-12T04:24:40.895753Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.895754Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.895754Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-12T04:24:40.895755Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-10-12T04:24:40.895755Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.895755Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.895756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-10-12T04:24:40.895756Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.895757Z 01O | ^ 2026-10-12T04:24:40.895757Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-10-12T04:24:40.895758Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.895758Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.895759Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-10-12T04:24:40.895768Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-10-12T04:24:40.895769Z 01O | ^ 2026-10-12T04:24:40.895769Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-10-12T04:24:40.895770Z 01O 142 | for (int i=0; i= 'ncol' 2026-10-12T04:24:40.895773Z 01O 143 | for (int i=0; i0 checked above 2026-10-12T04:24:40.896298Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.896308Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.896308Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.896309Z 01O | ^ 2026-10-12T04:24:40.896309Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-12T04:24:40.896310Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.896310Z 01O | ^ 2026-10-12T04:24:40.896310Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.896311Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.896311Z 01O | ^ 2026-10-12T04:24:40.896312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-12T04:24:40.896312Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.896313Z 01O | ^ 2026-10-12T04:24:40.896313Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-12T04:24:40.896313Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.896314Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.896314Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-12T04:24:40.896315Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.896315Z 01O | ^ 2026-10-12T04:24:40.896316Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-12T04:24:40.896316Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.896317Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.896317Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-12T04:24:40.896317Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.896318Z 01O | ^ 2026-10-12T04:24:40.896318Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-12T04:24:40.896318Z 01O 37 | if (fill) { 2026-10-12T04:24:40.896319Z 01O | ^~~~ 2026-10-12T04:24:40.896319Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-12T04:24:40.896320Z 01O 37 | if (fill) { 2026-10-12T04:24:40.896320Z 01O | ^ 2026-10-12T04:24:40.896320Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-12T04:24:40.896321Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.896321Z 01O | ^~~~ 2026-10-12T04:24:40.896321Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-12T04:24:40.896322Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.896322Z 01O | ^ 2026-10-12T04:24:40.896323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-12T04:24:40.896323Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.896324Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.896324Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-12T04:24:40.896325Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.896325Z 01O | ^ 2026-10-12T04:24:40.896326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-12T04:24:40.896326Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.896327Z 01O | ^~~~~~ 2026-10-12T04:24:40.896327Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-12T04:24:40.896333Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.896334Z 01O | ^ 2026-10-12T04:24:40.896334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-10-12T04:24:40.896334Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.896335Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.896335Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.896336Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.896336Z 01O | ^ 2026-10-12T04:24:40.896507Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-10-12T04:24:40.896508Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.896509Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.896509Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-10-12T04:24:40.896510Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.896511Z 01O | ^ 2026-10-12T04:24:40.896511Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-12T04:24:40.896512Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.896512Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.896513Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-12T04:24:40.896513Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.896514Z 01O | ^ 2026-10-12T04:24:40.896514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.896515Z 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-10-12T04:24:40.896518Z 01O | ^~~~ 2026-10-12T04:24:40.896518Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-10-12T04:24:40.896518Z 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-10-12T04:24:40.896519Z 01O | ^ 2026-10-12T04:24:40.896520Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-10-12T04:24:40.896520Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-12T04:24:40.896521Z 01O | ^~~~~ 2026-10-12T04:24:40.896521Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-10-12T04:24:40.896522Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-12T04:24:40.896522Z 01O | ^ 2026-10-12T04:24:40.896522Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-10-12T04:24:40.896531Z 01O 49 | for (int j=0; j0 checked above 2026-10-12T04:24:40.896533Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.896533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-12T04:24:40.896533Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.896534Z 01O | ^ 2026-10-12T04:24:40.896534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-12T04:24:40.896535Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.896535Z 01O | ^~~~~~~ 2026-10-12T04:24:40.896535Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-12T04:24:40.896536Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.896536Z 01O | ^ 2026-10-12T04:24:40.896537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-10-12T04:24:40.896537Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.896537Z 01O | ^~~~ 2026-10-12T04:24:40.896538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-10-12T04:24:40.896538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-10-12T04:24:40.896539Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.896539Z 01O | ^~~~ 2026-10-12T04:24:40.896539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-10-12T04:24:40.896540Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.896540Z 01O | ^ 2026-10-12T04:24:40.896541Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-12T04:24:40.896541Z 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-10-12T04:24:40.896542Z 01O | ^~~~ 2026-10-12T04:24:40.896542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-12T04:24:40.896543Z 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-10-12T04:24:40.896543Z 01O | ^ 2026-10-12T04:24:40.896544Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-12T04:24:40.896544Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.896545Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.896545Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-12T04:24:40.896546Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.896546Z 01O | ^ 2026-10-12T04:24:40.896546Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-10-12T04:24:40.896547Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-10-12T04:24:40.896547Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.896548Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.896548Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.896549Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.896549Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-12T04:24:40.896555Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-10-12T04:24:40.896556Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.896556Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.896765Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-10-12T04:24:40.896766Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.896767Z 01O | ^ 2026-10-12T04:24:40.896767Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-10-12T04:24:40.896768Z 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-10-12T04:24:40.896769Z 01O | ^~~~ 2026-10-12T04:24:40.896769Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-10-12T04:24:40.896770Z 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-10-12T04:24:40.896770Z 01O | ^ 2026-10-12T04:24:40.896771Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-10-12T04:24:40.896771Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.896772Z 01O | ^~~~ 2026-10-12T04:24:40.896772Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-10-12T04:24:40.896773Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.896773Z 01O | ^ 2026-10-12T04:24:40.896773Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.896774Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.896774Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.896775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-10-12T04:24:40.896775Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-10-12T04:24:40.896776Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.896776Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.896777Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-10-12T04:24:40.896777Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.896778Z 01O | ^ 2026-10-12T04:24:40.896778Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-10-12T04:24:40.896778Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-12T04:24:40.896779Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.896779Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-10-12T04:24:40.896780Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-12T04:24:40.896780Z 01O | ^ 2026-10-12T04:24:40.896780Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-10-12T04:24:40.896781Z 01O 251 | if (idcol) { 2026-10-12T04:24:40.896781Z 01O | ^~~~~ 2026-10-12T04:24:40.896781Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-10-12T04:24:40.896782Z 01O 251 | if (idcol) { 2026-10-12T04:24:40.896782Z 01O | ^ 2026-10-12T04:24:40.896782Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.896783Z 01O 279 | for(int j=0; j0 checked above 2026-10-12T04:24:40.897315Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.897315Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.897316Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.897316Z 01O | ^ 2026-10-12T04:24:40.897317Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-10-12T04:24:40.897317Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.897318Z 01O | ^ 2026-10-12T04:24:40.897318Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-10-12T04:24:40.897318Z 01O 956 | #define isNull Rf_isNull 2026-10-12T04:24:40.897319Z 01O | ^ 2026-10-12T04:24:40.897319Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-10-12T04:24:40.897320Z 01O 32 | if (isNull(li)) continue; 2026-10-12T04:24:40.897321Z 01O | ^ 2026-10-12T04:24:40.897321Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-10-12T04:24:40.897321Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.897322Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.897322Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-10-12T04:24:40.897323Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-10-12T04:24:40.897323Z 01O | ^ 2026-10-12T04:24:40.897324Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-10-12T04:24:40.897324Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.897325Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.897325Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-10-12T04:24:40.897325Z 01O 35 | if (!thisncol) continue; 2026-10-12T04:24:40.897326Z 01O | ^ 2026-10-12T04:24:40.897326Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-10-12T04:24:40.897326Z 01O 37 | if (fill) { 2026-10-12T04:24:40.897327Z 01O | ^~~~ 2026-10-12T04:24:40.897327Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-10-12T04:24:40.897328Z 01O 37 | if (fill) { 2026-10-12T04:24:40.897328Z 01O | ^ 2026-10-12T04:24:40.897328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-10-12T04:24:40.897329Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.897329Z 01O | ^~~~ 2026-10-12T04:24:40.897330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-10-12T04:24:40.897330Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-10-12T04:24:40.897330Z 01O | ^ 2026-10-12T04:24:40.897331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-10-12T04:24:40.897331Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.897332Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.897332Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-10-12T04:24:40.897333Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-10-12T04:24:40.897339Z 01O | ^ 2026-10-12T04:24:40.897339Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-10-12T04:24:40.897340Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.897340Z 01O | ^~~~~~ 2026-10-12T04:24:40.897340Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-10-12T04:24:40.897341Z 01O 45 | if (nNames>0) anyNames=true; 2026-10-12T04:24:40.897341Z 01O | ^ 2026-10-12T04:24:40.897342Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-10-12T04:24:40.897342Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.897343Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.897343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.897344Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.897344Z 01O | ^ 2026-10-12T04:24:40.897344Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-10-12T04:24:40.897345Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.897346Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.897346Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-10-12T04:24:40.897347Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.897347Z 01O | ^ 2026-10-12T04:24:40.897348Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-10-12T04:24:40.897348Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.897349Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.897349Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-10-12T04:24:40.897350Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-10-12T04:24:40.897350Z 01O | ^ 2026-10-12T04:24:40.897351Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.897351Z 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-10-12T04:24:40.897537Z 01O | ^~~~ 2026-10-12T04:24:40.897537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-10-12T04:24:40.897537Z 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-10-12T04:24:40.897538Z 01O | ^ 2026-10-12T04:24:40.897539Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-10-12T04:24:40.897539Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-12T04:24:40.897547Z 01O | ^~~~~ 2026-10-12T04:24:40.897548Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-10-12T04:24:40.897548Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-10-12T04:24:40.897549Z 01O | ^ 2026-10-12T04:24:40.897549Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-10-12T04:24:40.897550Z 01O 49 | for (int j=0; j0 checked above 2026-10-12T04:24:40.897551Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.897552Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-10-12T04:24:40.897552Z 01O 29 | for (int i=0; i0 checked above 2026-10-12T04:24:40.897553Z 01O | ^ 2026-10-12T04:24:40.897553Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-10-12T04:24:40.897554Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.897554Z 01O | ^~~~~~~ 2026-10-12T04:24:40.897554Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-10-12T04:24:40.897555Z 01O 57 | if (numZero) { // #1871 2026-10-12T04:24:40.897555Z 01O | ^ 2026-10-12T04:24:40.897556Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-10-12T04:24:40.897556Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.897556Z 01O | ^~~~ 2026-10-12T04:24:40.897557Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-10-12T04:24:40.897557Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-10-12T04:24:40.897558Z 01O | ^ 2026-10-12T04:24:40.897558Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-10-12T04:24:40.897559Z 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-10-12T04:24:40.897559Z 01O | ^~~~ 2026-10-12T04:24:40.897560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-10-12T04:24:40.897560Z 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-10-12T04:24:40.897561Z 01O | ^ 2026-10-12T04:24:40.897561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-10-12T04:24:40.897562Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.897563Z 01O | ^~~~~~~~~~~~~~ 2026-10-12T04:24:40.897563Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-10-12T04:24:40.897563Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-10-12T04:24:40.897564Z 01O | ^ 2026-10-12T04:24:40.897564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-10-12T04:24:40.897565Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-10-12T04:24:40.897565Z 01O | ^~~~~~~~~~~ 2026-10-12T04:24:40.897566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.897566Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.897572Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.897572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-10-12T04:24:40.897573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-10-12T04:24:40.897573Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.897574Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.897574Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-10-12T04:24:40.897575Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-10-12T04:24:40.897575Z 01O | ^ 2026-10-12T04:24:40.897575Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-10-12T04:24:40.897576Z 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-10-12T04:24:40.897576Z 01O | ^~~~ 2026-10-12T04:24:40.897577Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-10-12T04:24:40.897577Z 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-10-12T04:24:40.897578Z 01O | ^ 2026-10-12T04:24:40.897578Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-10-12T04:24:40.897579Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.897579Z 01O | ^~~~ 2026-10-12T04:24:40.897580Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-10-12T04:24:40.897580Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.897580Z 01O | ^ 2026-10-12T04:24:40.897581Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-10-12T04:24:40.897581Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.897582Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.897582Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-10-12T04:24:40.897732Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-10-12T04:24:40.897733Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.897733Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.897734Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-10-12T04:24:40.897734Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-10-12T04:24:40.897735Z 01O | ^ 2026-10-12T04:24:40.897735Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-10-12T04:24:40.897736Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-12T04:24:40.897736Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.897737Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-10-12T04:24:40.897737Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-10-12T04:24:40.897738Z 01O | ^ 2026-10-12T04:24:40.897738Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-10-12T04:24:40.897738Z 01O 251 | if (idcol) { 2026-10-12T04:24:40.897739Z 01O | ^~~~~ 2026-10-12T04:24:40.897739Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-10-12T04:24:40.897739Z 01O 251 | if (idcol) { 2026-10-12T04:24:40.897740Z 01O | ^ 2026-10-12T04:24:40.897740Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.897741Z 01O 279 | for(int j=0; j= 1 2026-10-12T04:24:40.898002Z 01O 27 | if (n<1) return 0; 2026-10-12T04:24:40.898003Z 01O | ^~~ 2026-10-12T04:24:40.898004Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-10-12T04:24:40.898004Z 01O 27 | if (n<1) return 0; 2026-10-12T04:24:40.898005Z 01O | ^ 2026-10-12T04:24:40.898006Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-10-12T04:24:40.898006Z 01O 29 | va_start(ap, fmt); 2026-10-12T04:24:40.898007Z 01O | ^ 2026-10-12T04:24:40.898007Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-10-12T04:24:40.898008Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-10-12T04:24:40.898009Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-10-12T04:24:40.898009Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-10-12T04:24:40.898010Z 01O 40 | while (*ch!='\0') { 2026-10-12T04:24:40.898010Z 01O | ^~~~~~~~~ 2026-10-12T04:24:40.898011Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-10-12T04:24:40.898012Z 01O 40 | while (*ch!='\0') { 2026-10-12T04:24:40.898013Z 01O | ^ 2026-10-12T04:24:40.898013Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-10-12T04:24:40.898014Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-10-12T04:24:40.898014Z 01O | ^~~~~~~~ 2026-10-12T04:24:40.898014Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-10-12T04:24:40.898015Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-10-12T04:24:40.898016Z 01O | ^ 2026-10-12T04:24:40.898016Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-10-12T04:24:40.898017Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-10-12T04:24:40.898017Z 01O | ^~~~~~~~~~ 2026-10-12T04:24:40.898018Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-10-12T04:24:40.898018Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-10-12T04:24:40.898019Z 01O | ^ 2026-10-12T04:24:40.898019Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-10-12T04:24:40.898020Z 01O 47 | if (!end) { 2026-10-12T04:24:40.898020Z 01O | ^~~~ 2026-10-12T04:24:40.898020Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-10-12T04:24:40.898021Z 01O 47 | if (!end) { 2026-10-12T04:24:40.898022Z 01O | ^ 2026-10-12T04:24:40.898022Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-10-12T04:24:40.898023Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-10-12T04:24:40.898024Z 01O | ^ 2026-10-12T04:24:40.898024Z 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-10-12T04:24:40.898026Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-10-12T04:24:40.898034Z 01O | ^~~~~~ 2026-10-12T04:24:40.898035Z 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-10-12T04:24:40.898036Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-10-12T04:24:40.898036Z 01O | ^~~~~~ 2026-10-12T04:24:40.907202Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-10-12T04:24:41.412619Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-10-12T04:24:41.412640Z 01O * using R Under development (unstable) (2026-10-10 r90659) 2026-10-12T04:24:41.412697Z 01O * using platform: x86_64-pc-linux-gnu 2026-10-12T04:24:41.412785Z 01O * R was compiled by 2026-10-12T04:24:41.412879Z 01O Debian clang version 21.1.8 (13) 2026-10-12T04:24:41.412881Z 01O GNU Fortran (Debian 16.2.0-3) 16.2.0 2026-10-12T04:24:41.413005Z 01O * running under: Debian GNU/Linux forky/sid 2026-10-12T04:24:41.413168Z 01O * using session charset: UTF-8 2026-10-12T04:24:41.413723Z 01O * current time: 2026-10-12 04:24:41 UTC 2026-10-12T04:24:42.077218Z 01O * using option ‘--as-cran’ 2026-10-12T04:24:42.077369Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-10-12T04:24:42.079940Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-10-12T04:24:42.080058Z 01O * package encoding: UTF-8 2026-10-12T04:24:42.080232Z 01O * checking CRAN incoming feasibility ... OK 2026-10-12T04:24:42.567161Z 01O * checking package namespace information ... OK 2026-10-12T04:24:42.575247Z 01O * checking package dependencies ... OK 2026-10-12T04:24:43.424563Z 01O * checking if this is a source package ... OK 2026-10-12T04:24:43.426691Z 01O * checking if there is a namespace ... OK 2026-10-12T04:24:43.430301Z 01O * checking for .dll and .exe files ... OK 2026-10-12T04:24:43.430614Z 01O * checking for hidden files and directories ... OK 2026-10-12T04:24:43.432255Z 01O * checking for portable file names ... OK 2026-10-12T04:24:43.436027Z 01O * checking for sufficient/correct file permissions ... OK 2026-10-12T04:24:43.439993Z 01O * checking whether package ‘data.table’ can be installed ... [20s/20s] OK 2026-10-12T04:25:03.014068Z 01O * used C compiler: ‘Debian clang version 21.1.8 (13)’ 2026-10-12T04:25:03.014363Z 01O * checking installed package size ... INFO 2026-10-12T04:25:03.017610Z 01O installed size is 8.0Mb 2026-10-12T04:25:03.018233Z 01O sub-directories of 1Mb or more: 2026-10-12T04:25:03.018730Z 01O doc 1.1Mb 2026-10-12T04:25:03.018736Z 01O libs 1.5Mb 2026-10-12T04:25:03.018737Z 01O po 1.7Mb 2026-10-12T04:25:03.018738Z 01O tests 2.2Mb 2026-10-12T04:25:03.028255Z 01O * checking package directory ... OK 2026-10-12T04:25:03.028476Z 01O * checking for future file timestamps ... OK 2026-10-12T04:25:03.028912Z 01O * checking ‘build’ directory ... OK 2026-10-12T04:25:03.029613Z 01O * checking DESCRIPTION meta-information ... OK 2026-10-12T04:25:03.797017Z 01O * checking top-level files ... OK 2026-10-12T04:25:05.102514Z 01O * checking for left-over files ... OK 2026-10-12T04:25:05.105036Z 01O * checking index information ... OK 2026-10-12T04:25:05.263873Z 01O * checking package subdirectories ... OK 2026-10-12T04:25:05.599968Z 01O * checking code files for non-ASCII characters ... OK 2026-10-12T04:25:05.644591Z 01O * checking R files for syntax errors ... OK 2026-10-12T04:25:05.715929Z 01O * checking whether the package can be loaded ... OK 2026-10-12T04:25:05.902264Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-10-12T04:25:06.053411Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-10-12T04:25:06.205749Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-10-12T04:25:06.358641Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-10-12T04:25:06.550020Z 01O * checking loading without being on the library search path ... OK 2026-10-12T04:25:06.931822Z 01O * checking whether startup messages can be suppressed ... OK 2026-10-12T04:25:07.115782Z 01O * checking use of S3 registration ... OK 2026-10-12T04:25:07.143336Z 01O * checking dependencies in R code ... OK 2026-10-12T04:25:07.861944Z 01O * checking S3 generic/method consistency ... OK 2026-10-12T04:25:08.191827Z 01O * checking replacement functions ... OK 2026-10-12T04:25:08.375215Z 01O * checking foreign function calls ... OK 2026-10-12T04:25:09.082475Z 01O * checking R code for possible problems ... [15s/15s] OK 2026-10-12T04:25:24.364739Z 01O * checking Rd files ... OK 2026-10-12T04:25:25.133308Z 01O * checking Rd metadata ... OK 2026-10-12T04:25:25.172830Z 01O * checking Rd line widths ... OK 2026-10-12T04:25:25.447108Z 01O * checking Rd cross-references ... OK 2026-10-12T04:25:25.988395Z 01O * checking for missing documentation entries ... OK 2026-10-12T04:25:26.206753Z 01O * checking for code/documentation mismatches ... OK 2026-10-12T04:25:27.124578Z 01O * checking Rd \usage sections ... OK 2026-10-12T04:25:27.987681Z 01O * checking Rd contents ... OK 2026-10-12T04:25:28.385105Z 01O * checking for unstated dependencies in examples ... OK 2026-10-12T04:25:28.793634Z 01O * checking line endings in shell scripts ... OK 2026-10-12T04:25:28.794039Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-10-12T04:25:28.811134Z 01O * checking line endings in Makefiles ... OK 2026-10-12T04:25:28.811379Z 01O * checking compilation flags in Makevars ... OK 2026-10-12T04:25:28.860678Z 01O * checking for GNU extensions in Makefiles ... OK 2026-10-12T04:25:28.861218Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-10-12T04:25:28.862232Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-10-12T04:25:28.864781Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-10-12T04:25:28.869098Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-10-12T04:25:28.889182Z 01O * checking compilation flags used ... OK 2026-10-12T04:25:28.890620Z 01O * checking compiled code ... OK 2026-10-12T04:25:31.268936Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-10-12T04:25:31.453926Z 01O * checking files in ‘vignettes’ ... OK 2026-10-12T04:25:32.210738Z 01O * checking examples ... OK 2026-10-12T04:25:37.729246Z 01O * checking examples with --run-donttest ... OK 2026-10-12T04:25:46.368954Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-10-12T04:25:46.429612Z 01O * checking tests ... 2026-10-12T04:25:46.566097Z 01O Running ‘autoprint.R’ 2026-10-12T04:25:46.790881Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-10-12T04:25:46.796456Z 01O Running ‘froll.R’ [393s/393s] 2026-10-12T04:32:20.285551Z 01O Running ‘litedown.R’ 2026-10-12T04:32:20.574997Z 01O Running ‘main.R’ [42s/42s] 2026-10-12T04:33:02.481376Z 01O Running ‘mergelist.R’ 2026-10-12T04:33:03.995891Z 01O Running ‘nafill.R’ 2026-10-12T04:33:04.461304Z 01O Running ‘optimize.R’ 2026-10-12T04:33:05.728654Z 01O Running ‘other.R’ 2026-10-12T04:33:05.926674Z 01O Running ‘programming.R’ 2026-10-12T04:33:06.485422Z 01O Running ‘S4.R’ 2026-10-12T04:33:06.790312Z 01O Running ‘self.R’ 2026-10-12T04:33:07.003631Z 01O Running ‘types.R’ 2026-10-12T04:33:07.229637Z 01O [441s/441s] OK 2026-10-12T04:33:07.418372Z 01O * checking for unstated dependencies in vignettes ... OK 2026-10-12T04:33:07.675422Z 01O * checking package vignettes ... OK 2026-10-12T04:33:08.853581Z 01O * checking re-building of vignette outputs ... [29s/30s] OK 2026-10-12T04:33:38.404051Z 01O * checking PDF version of manual ... OK 2026-10-12T04:33:45.006378Z 01O * checking HTML version of manual ... NOTE 2026-10-12T04:33:47.853482Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-10-12T04:33:47.853642Z 01O * checking for non-standard things in the check directory ... OK 2026-10-12T04:33:47.854049Z 01O * checking for detritus in the temp directory ... OK 2026-10-12T04:33:47.854664Z 01O * DONE 2026-10-12T04:33:47.855074Z 01E 2026-10-12T04:33:47.855108Z 01O Status: 1 NOTE 2026-10-12T04:33:47.855290Z 01E See 2026-10-12T04:33:47.855291Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-10-12T04:33:47.855293Z 01E for details. 2026-10-12T04:33:47.855404Z 01E 2026-10-12T04:33:47.868258Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-10-12T04:33:47.870066Z 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-10-12T04:33:48.168865Z 00O section_end:1791779628:step_script  2026-10-12T04:33:48.169264Z 00O+section_start:1791779628:after_script  2026-10-12T04:33:48.169270Z 00O+Running after_script 2026-10-12T04:33:48.465881Z 01O Running after script... 2026-10-12T04:33:48.465916Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-10-12T04:33:48.466878Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-10-12T04:33:48.466936Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-10-12T04:33:48.466938Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-10-12T04:33:48.466948Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-10-12T04:33:48.612522Z 00O section_end:1791779628:after_script  2026-10-12T04:33:48.613265Z 00O+section_start:1791779628:upload_artifacts_on_success  2026-10-12T04:33:48.613271Z 00O+Uploading artifacts for successful job 2026-10-12T04:33:48.958966Z 01O Uploading artifacts... 2026-10-12T04:33:49.010112Z 01E bus/test-lin-dev-clang-cran: found 721 matching artifact files and directories 2026-10-12T04:33:50.245890Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=b934c7d3f2674a19b0a9dac5d45fc415 id=17100991416 status=201 token=74_Y1AG5o 2026-10-12T04:33:50.394447Z 00O section_end:1791779630:upload_artifacts_on_success  2026-10-12T04:33:50.394942Z 00O+section_start:1791779630:cleanup_file_variables  2026-10-12T04:33:50.394948Z 00O+Cleaning up project directory and file based variables 2026-10-12T04:33:50.853797Z 00O section_end:1791779630:cleanup_file_variables  2026-10-12T04:33:50.885247Z 00O Job succeeded