2026-09-15T04:20:22.489768Z 00O Running with gitlab-runner 19.4.0~pre.1956.g7b010e09 (7b010e09) 2026-09-15T04:20:22.489793Z 00O  on k8s.saas-linux-medium-amd64.runners-manager.gitlab.com/default j8vTLRhES, system ID: r_fX0GIUU1fR5c 2026-09-15T04:20:22.489796Z 00O  UUID: 01a01aa6-2f91-7d2c-b24d-7e2d2752ac58 2026-09-15T04:20:22.489803Z 00O  feature flags: FF_USE_GIT_PROACTIVE_AUTH:true, FF_HASH_CACHE_KEYS:true, FF_MACHINE_OPTIONS_EXPAND_ENV:true 2026-09-15T04:20:22.489833Z 00O Resolving secrets 2026-09-15T04:20:22.490092Z 00O section_start:1789446022:prepare_executor  2026-09-15T04:20:22.490097Z 00O+Preparing the "docker+machine" executor 2026-09-15T04:20:22.647829Z 00O Using Docker executor with image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-09-15T04:20:22.647881Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.4.0 ) 2026-09-15T04:20:22.647892Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 2026-09-15T04:20:22.648909Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-09-15T04:20:22.648924Z 00O Pulling docker image registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 ... 2026-09-15T04:20:23.824121Z 00O Using docker image sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:8f7a4e1b7200c3be6a618a55ea7c6747feab2aa22cb729b400ef95b5d7396360 ... 2026-09-15T04:20:25.380053Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.4.0 ) 2026-09-15T04:20:25.380069Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 2026-09-15T04:20:25.381182Z 00O Using docker image sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:8f7a4e1b7200c3be6a618a55ea7c6747feab2aa22cb729b400ef95b5d7396360 ... 2026-09-15T04:20:25.381197Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-09-15T04:20:25.382070Z 00O Authenticating with credentials from job payload (GitLab Registry) 2026-09-15T04:20:25.382078Z 00O Pulling docker image registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang ... 2026-09-15T04:20:43.808796Z 00O Using docker image sha256:c3191899cca9ded3bd407c5b38d10e10f9fe9076829d44afe982567871648c2a for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:5f5eb8c54147aed9db0c5b66b1a97f103f9d15e3c498c3feed8fc82cea670205 ... 2026-09-15T04:20:43.808887Z 00O section_end:1789446043:prepare_executor  2026-09-15T04:20:43.809018Z 00O+section_start:1789446043:prepare_script  2026-09-15T04:20:43.809023Z 00O+Preparing environment 2026-09-15T04:20:43.809059Z 00O Using helper image: registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 (overridden, default would be registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v19.4.0 ) 2026-09-15T04:20:43.809069Z 00O Using effective pull policy of [always] for container registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 2026-09-15T04:20:43.810164Z 00O Using docker image sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-7b010e09 with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:8f7a4e1b7200c3be6a618a55ea7c6747feab2aa22cb729b400ef95b5d7396360 ... 2026-09-15T04:20:43.810183Z 00O Using effective pull policy of [always] for container sha256:63a87ec6859e8e26664ce80c944c61f0336a93fcfcf17d898985365641731cef 2026-09-15T04:20:54.903435Z 01O Running on runner-j8vtlrhes-project-3622566-concurrent-0 via runner-j8vtlrhes-s-l-m-amd64-1789445951-9dc2c151... 2026-09-15T04:20:55.040303Z 00O section_end:1789446055:prepare_script  2026-09-15T04:20:55.041082Z 00O+section_start:1789446055:get_sources  2026-09-15T04:20:55.041091Z 00O+Getting source from Git repository 2026-09-15T04:20:55.295959Z 01O Gitaly correlation ID: a89a2aafad6c4e7a8945ff578b38055d 2026-09-15T04:20:55.299760Z 01O Fetching changes... 2026-09-15T04:20:55.302124Z 01O Initialized empty Git repository in /builds/Rdatatable/data.table/.git/ 2026-09-15T04:20:55.303638Z 01O Created fresh repository. 2026-09-15T04:20:58.966839Z 01O Checking out a3eeb4c0 as detached HEAD (ref is master)... 2026-09-15T04:20:59.077128Z 01O 2026-09-15T04:20:59.077139Z 01O Skipping Git submodules setup 2026-09-15T04:20:59.077141Z 01O $ git remote set-url origin "${CI_REPOSITORY_URL}" || echo 'Not a git repository; skipping' 2026-09-15T04:20:59.244354Z 00O section_end:1789446059:get_sources  2026-09-15T04:20:59.246280Z 00O+section_start:1789446059:download_artifacts  2026-09-15T04:20:59.246297Z 00O+Downloading artifacts 2026-09-15T04:20:59.508849Z 01O Downloading artifacts for mirror-packages (16501040599)... 2026-09-15T04:20:59.683257Z 01E Direct download from storage.googleapis.com  correlation_id=59d24935a26f46228f6c9d7041578cb9 id=16501040599 status=302 token=73_bzY1-a 2026-09-15T04:21:01.633930Z 01E Downloading artifacts from coordinator... ok  correlation_id=59d24935a26f46228f6c9d7041578cb9 id=16501040599 status=302 token=73_bzY1-a 2026-09-15T04:21:02.074059Z 01O Downloading artifacts for build (16501040600)... 2026-09-15T04:21:02.253877Z 01E Direct download from storage.googleapis.com  correlation_id=968388f5e97545e18e7c5896b92e1ede id=16501040600 status=302 token=73_bzY1-a 2026-09-15T04:21:02.452238Z 01E Downloading artifacts from coordinator... ok  correlation_id=968388f5e97545e18e7c5896b92e1ede id=16501040600 status=302 token=73_bzY1-a 2026-09-15T04:21:03.073719Z 00O section_end:1789446063:download_artifacts  2026-09-15T04:21:03.074237Z 00O+section_start:1789446063:step_script  2026-09-15T04:21:03.074249Z 00O+Executing "step_script" stage of the job script 2026-09-15T04:21:03.074266Z 00O Using effective pull policy of [always] for container registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang 2026-09-15T04:21:03.075215Z 00O Using docker image sha256:c3191899cca9ded3bd407c5b38d10e10f9fe9076829d44afe982567871648c2a for registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang with digest registry.gitlab.com/rdatatable/dockerfiles/r-devel-clang@sha256:5f5eb8c54147aed9db0c5b66b1a97f103f9d15e3c498c3feed8fc82cea670205 ... 2026-09-15T04:21:03.320693Z 01O $ cp $(ls -1t bus/build/data.table_*.tar.gz | head -n 1) . 2026-09-15T04:21:03.325395Z 01O $ mkdir -p ~/.R 2026-09-15T04:21:03.326140Z 01O $ echo 'CFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' > ~/.R/Makevars 2026-09-15T04:21:03.326151Z 01O $ echo 'CXXFLAGS=-g -O2 -fno-common -Wall -Wvla -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2' >> ~/.R/Makevars 2026-09-15T04:21:03.326153Z 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-09-15T04:21:03.463400Z 01E also installing the dependencies ‘bit’, ‘R.oo’, ‘R.methodsS3’, ‘lattice’, ‘commonmark’, ‘evaluate’, ‘highr’ 2026-09-15T04:21:03.463409Z 01E 2026-09-15T04:21:50.128373Z 01E Updating HTML index of packages in '.Library' 2026-09-15T04:21:50.128803Z 01E Making 'packages.html' ... done 2026-09-15T04:21:50.137055Z 01O $ clang-tidy -extra-arg=-I/usr/local/lib/R/include -checks='readability-inconsistent-declaration-parameter' src/*.c -- -std=c99 2026-09-15T04:21:50.149505Z 01E [1/48] Processing file /builds/Rdatatable/data.table/src/assign.c. 2026-09-15T04:21:54.401549Z 01E 2 warnings generated. 2026-09-15T04:21:54.401711Z 01E [2/48] Processing file /builds/Rdatatable/data.table/src/between.c. 2026-09-15T04:21:56.358382Z 01E 2 warnings generated. 2026-09-15T04:21:56.358393Z 01E [3/48] Processing file /builds/Rdatatable/data.table/src/bmerge.c. 2026-09-15T04:22:00.780802Z 01E 2 warnings generated. 2026-09-15T04:22:00.780828Z 01E [4/48] Processing file /builds/Rdatatable/data.table/src/chmatch.c. 2026-09-15T04:22:00.905693Z 01E 6 warnings generated. 2026-09-15T04:22:00.905767Z 01E [5/48] Processing file /builds/Rdatatable/data.table/src/cj.c. 2026-09-15T04:22:02.498227Z 01E 6 warnings generated. 2026-09-15T04:22:02.498573Z 01E [6/48] Processing file /builds/Rdatatable/data.table/src/coalesce.c. 2026-09-15T04:22:03.817532Z 01E 6 warnings generated. 2026-09-15T04:22:03.817611Z 01E [7/48] Processing file /builds/Rdatatable/data.table/src/deleterows.c. 2026-09-15T04:22:03.961460Z 01E 6 warnings generated. 2026-09-15T04:22:03.961566Z 01E [8/48] Processing file /builds/Rdatatable/data.table/src/dogroups.c. 2026-09-15T04:22:06.311962Z 01E 6 warnings generated. 2026-09-15T04:22:06.311977Z 01E [9/48] Processing file /builds/Rdatatable/data.table/src/fastmean.c. 2026-09-15T04:22:06.345825Z 01E 6 warnings generated. 2026-09-15T04:22:06.345887Z 01E [10/48] Processing file /builds/Rdatatable/data.table/src/fcast.c. 2026-09-15T04:22:08.012251Z 01E 9 warnings generated. 2026-09-15T04:22:08.012322Z 01E [11/48] Processing file /builds/Rdatatable/data.table/src/fifelse.c. 2026-09-15T04:22:10.943345Z 01E 10 warnings generated. 2026-09-15T04:22:10.943544Z 01E [12/48] Processing file /builds/Rdatatable/data.table/src/fmelt.c. 2026-09-15T04:22:13.122744Z 01E 11 warnings generated. 2026-09-15T04:22:13.122841Z 01E [13/48] Processing file /builds/Rdatatable/data.table/src/forder.c. 2026-09-15T04:22:17.738192Z 01E 12 warnings generated. 2026-09-15T04:22:17.738254Z 01E [14/48] Processing file /builds/Rdatatable/data.table/src/frank.c. 2026-09-15T04:22:19.537127Z 01E 12 warnings generated. 2026-09-15T04:22:19.537277Z 01E [15/48] Processing file /builds/Rdatatable/data.table/src/fread.c. 2026-09-15T04:22:22.668461Z 01E 24 warnings generated. 2026-09-15T04:22:22.668596Z 01E [16/48] Processing file /builds/Rdatatable/data.table/src/freadR.c. 2026-09-15T04:22:27.310956Z 01E 27 warnings generated. 2026-09-15T04:22:27.311544Z 01E [17/48] Processing file /builds/Rdatatable/data.table/src/froll.c. 2026-09-15T04:22:33.035106Z 01E 33 warnings generated. 2026-09-15T04:22:33.035118Z 01E [18/48] Processing file /builds/Rdatatable/data.table/src/frollR.c. 2026-09-15T04:22:34.872660Z 01E 34 warnings generated. 2026-09-15T04:22:34.872675Z 01E [19/48] Processing file /builds/Rdatatable/data.table/src/frolladaptive.c. 2026-09-15T04:22:36.282862Z 01E 37 warnings generated. 2026-09-15T04:22:36.282923Z 01E [20/48] Processing file /builds/Rdatatable/data.table/src/frollapply.c. 2026-09-15T04:22:36.311743Z 01E 37 warnings generated. 2026-09-15T04:22:36.311762Z 01E [21/48] Processing file /builds/Rdatatable/data.table/src/fsort.c. 2026-09-15T04:22:36.486569Z 01E 37 warnings generated. 2026-09-15T04:22:36.486693Z 01E [22/48] Processing file /builds/Rdatatable/data.table/src/fwrite.c. 2026-09-15T04:22:39.943429Z 01E 39 warnings generated. 2026-09-15T04:22:39.943453Z 01E [23/48] Processing file /builds/Rdatatable/data.table/src/fwriteR.c. 2026-09-15T04:22:41.711394Z 01E 39 warnings generated. 2026-09-15T04:22:41.711430Z 01E [24/48] Processing file /builds/Rdatatable/data.table/src/gsumm.c. 2026-09-15T04:22:49.436513Z 01E 44 warnings generated. 2026-09-15T04:22:49.436527Z 01E [25/48] Processing file /builds/Rdatatable/data.table/src/hash.c. 2026-09-15T04:22:49.500059Z 01E 45 warnings generated. 2026-09-15T04:22:49.500168Z 01E [26/48] Processing file /builds/Rdatatable/data.table/src/idatetime.c. 2026-09-15T04:22:49.641608Z 01E 45 warnings generated. 2026-09-15T04:22:49.641827Z 01E [27/48] Processing file /builds/Rdatatable/data.table/src/ijoin.c. 2026-09-15T04:22:52.139519Z 01E 48 warnings generated. 2026-09-15T04:22:52.139648Z 01E [28/48] Processing file /builds/Rdatatable/data.table/src/init.c. 2026-09-15T04:22:52.167167Z 01E 48 warnings generated. 2026-09-15T04:22:52.167391Z 01E [29/48] Processing file /builds/Rdatatable/data.table/src/inrange.c. 2026-09-15T04:22:52.186610Z 01E 48 warnings generated. 2026-09-15T04:22:52.186724Z 01E [30/48] Processing file /builds/Rdatatable/data.table/src/mergelist.c. 2026-09-15T04:22:52.609571Z 01E 48 warnings generated. 2026-09-15T04:22:52.609633Z 01E [31/48] Processing file /builds/Rdatatable/data.table/src/nafill.c. 2026-09-15T04:22:54.493615Z 01E 61 warnings generated. 2026-09-15T04:22:54.493736Z 01E [32/48] Processing file /builds/Rdatatable/data.table/src/negate.c. 2026-09-15T04:22:54.511512Z 01E 61 warnings generated. 2026-09-15T04:22:54.511520Z 01E [33/48] Processing file /builds/Rdatatable/data.table/src/nqrecreateindices.c. 2026-09-15T04:22:54.538410Z 01E 61 warnings generated. 2026-09-15T04:22:54.538681Z 01E [34/48] Processing file /builds/Rdatatable/data.table/src/openmp-utils.c. 2026-09-15T04:22:54.629108Z 01E 62 warnings generated. 2026-09-15T04:22:54.629451Z 01E [35/48] Processing file /builds/Rdatatable/data.table/src/programming.c. 2026-09-15T04:22:54.864042Z 01E 62 warnings generated. 2026-09-15T04:22:54.864212Z 01E [36/48] Processing file /builds/Rdatatable/data.table/src/quickselect.c. 2026-09-15T04:22:55.272630Z 01E 62 warnings generated. 2026-09-15T04:22:55.272644Z 01E [37/48] Processing file /builds/Rdatatable/data.table/src/rbindlist.c. 2026-09-15T04:22:57.177883Z 01E 68 warnings generated. 2026-09-15T04:22:57.177893Z 01E [38/48] Processing file /builds/Rdatatable/data.table/src/reorder.c. 2026-09-15T04:22:58.729775Z 01E 68 warnings generated. 2026-09-15T04:22:58.730372Z 01E [39/48] Processing file /builds/Rdatatable/data.table/src/shellsort.c. 2026-09-15T04:22:58.746815Z 01E 68 warnings generated. 2026-09-15T04:22:58.747031Z 01E [40/48] Processing file /builds/Rdatatable/data.table/src/shift.c. 2026-09-15T04:23:00.302622Z 01E 68 warnings generated. 2026-09-15T04:23:00.302795Z 01E [41/48] Processing file /builds/Rdatatable/data.table/src/snprintf.c. 2026-09-15T04:23:00.991914Z 01E 70 warnings generated. 2026-09-15T04:23:00.991928Z 01E [42/48] Processing file /builds/Rdatatable/data.table/src/subset.c. 2026-09-15T04:23:01.178157Z 01E 70 warnings generated. 2026-09-15T04:23:01.178216Z 01E [43/48] Processing file /builds/Rdatatable/data.table/src/transpose.c. 2026-09-15T04:23:02.665373Z 01E 70 warnings generated. 2026-09-15T04:23:02.665451Z 01E [44/48] Processing file /builds/Rdatatable/data.table/src/types.c. 2026-09-15T04:23:02.833353Z 01E 70 warnings generated. 2026-09-15T04:23:02.833433Z 01E [45/48] Processing file /builds/Rdatatable/data.table/src/uniqlist.c. 2026-09-15T04:23:06.683983Z 01E 70 warnings generated. 2026-09-15T04:23:06.684115Z 01E [46/48] Processing file /builds/Rdatatable/data.table/src/utils.c. 2026-09-15T04:23:07.202787Z 01E 70 warnings generated. 2026-09-15T04:23:07.202974Z 01E [47/48] Processing file /builds/Rdatatable/data.table/src/vecseq.c. 2026-09-15T04:23:07.224148Z 01E 70 warnings generated. 2026-09-15T04:23:07.224160Z 01E [48/48] Processing file /builds/Rdatatable/data.table/src/wrappers.c. 2026-09-15T04:23:08.757736Z 01E 70 warnings generated. 2026-09-15T04:23:08.758442Z 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-09-15T04:23:08.758450Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-15T04:23:08.758452Z 01O | ^ 2026-09-15T04:23:08.758454Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-09-15T04:23:08.758455Z 01O 934 | const STYPE val = sd[soff]; \ 2026-09-15T04:23:08.758457Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.758458Z 01O /builds/Rdatatable/data.table/src/assign.c:711:7: note: Assuming 'len' is >= 1 2026-09-15T04:23:08.758460Z 01O 711 | if (len<1) return NULL; 2026-09-15T04:23:08.758461Z 01O | ^~~~~ 2026-09-15T04:23:08.758462Z 01O /builds/Rdatatable/data.table/src/assign.c:711:3: note: Taking false branch 2026-09-15T04:23:08.758463Z 01O 711 | if (len<1) return NULL; 2026-09-15T04:23:08.758465Z 01O | ^ 2026-09-15T04:23:08.758465Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: Assuming 'sourceLen' is < 0 2026-09-15T04:23:08.758467Z 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-09-15T04:23:08.758469Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.758470Z 01O /builds/Rdatatable/data.table/src/assign.c:712:14: note: '?' condition is false 2026-09-15T04:23:08.758472Z 01O /builds/Rdatatable/data.table/src/assign.c:713:7: note: Assuming 'slen' is not equal to 0 2026-09-15T04:23:08.758473Z 01O 713 | if (slen==0) return NULL; 2026-09-15T04:23:08.758474Z 01O | ^~~~~~~ 2026-09-15T04:23:08.758475Z 01O /builds/Rdatatable/data.table/src/assign.c:713:3: note: Taking false branch 2026-09-15T04:23:08.758477Z 01O 713 | if (slen==0) return NULL; 2026-09-15T04:23:08.758478Z 01O | ^ 2026-09-15T04:23:08.758479Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Assuming 'sourceStart' is >= 0 2026-09-15T04:23:08.758480Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-09-15T04:23:08.758482Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.758482Z 01O /builds/Rdatatable/data.table/src/assign.c:714:7: note: Left side of '||' is false 2026-09-15T04:23:08.758484Z 01O /builds/Rdatatable/data.table/src/assign.c:714:24: note: Assuming the condition is false 2026-09-15T04:23:08.758486Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-09-15T04:23:08.758488Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.758489Z 01O /builds/Rdatatable/data.table/src/assign.c:714:3: note: Taking false branch 2026-09-15T04:23:08.758490Z 01O 714 | if (sourceStart<0 || sourceStart+slen>length(source)) 2026-09-15T04:23:08.758491Z 01O | ^ 2026-09-15T04:23:08.758491Z 01O /builds/Rdatatable/data.table/src/assign.c:716:7: note: Assuming the condition is false 2026-09-15T04:23:08.758492Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-09-15T04:23:08.758534Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.758535Z 01O /builds/Rdatatable/data.table/src/assign.c:716:22: note: Left side of '&&' is false 2026-09-15T04:23:08.758537Z 01O 716 | if (!length(where) && start+len>length(target)) 2026-09-15T04:23:08.758538Z 01O | ^ 2026-09-15T04:23:08.758539Z 01O /builds/Rdatatable/data.table/src/assign.c:719:7: note: Assuming 'slen' is <= 1 2026-09-15T04:23:08.758541Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-09-15T04:23:08.758542Z 01O | ^~~~~~ 2026-09-15T04:23:08.758543Z 01O /builds/Rdatatable/data.table/src/assign.c:719:14: note: Left side of '&&' is false 2026-09-15T04:23:08.758544Z 01O 719 | if (slen>1 && slen!=len && (!isNewList(target) || isNewList(source))) 2026-09-15T04:23:08.758546Z 01O | ^ 2026-09-15T04:23:08.758547Z 01O /builds/Rdatatable/data.table/src/assign.c:723:7: note: Assuming 'colname' is not equal to NULL 2026-09-15T04:23:08.758548Z 01O 723 | if (colname==NULL) 2026-09-15T04:23:08.758549Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.758550Z 01O /builds/Rdatatable/data.table/src/assign.c:723:3: note: Taking false branch 2026-09-15T04:23:08.758552Z 01O 723 | if (colname==NULL) 2026-09-15T04:23:08.758553Z 01O | ^ 2026-09-15T04:23:08.758554Z 01O /builds/Rdatatable/data.table/src/assign.c:728:26: note: Assuming the condition is false 2026-09-15T04:23:08.758555Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-09-15T04:23:08.758557Z 01O | ^ 2026-09-15T04:23:08.758581Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-09-15T04:23:08.758582Z 01O 963 | #define isReal Rf_isReal 2026-09-15T04:23:08.758584Z 01O | ^ 2026-09-15T04:23:08.758585Z 01O /builds/Rdatatable/data.table/src/assign.c:728:41: note: Left side of '&&' is false 2026-09-15T04:23:08.758586Z 01O 728 | const bool sourceIsI64=isReal(source) && INHERITS(source, char_integer64); 2026-09-15T04:23:08.758587Z 01O | ^ 2026-09-15T04:23:08.758588Z 01O /builds/Rdatatable/data.table/src/assign.c:729:26: note: Assuming the condition is false 2026-09-15T04:23:08.758589Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-09-15T04:23:08.758590Z 01O | ^ 2026-09-15T04:23:08.758591Z 01O /usr/local/lib/R/include/Rinternals.h:963:18: note: expanded from macro 'isReal' 2026-09-15T04:23:08.758592Z 01O 963 | #define isReal Rf_isReal 2026-09-15T04:23:08.758594Z 01O | ^ 2026-09-15T04:23:08.758619Z 01O /builds/Rdatatable/data.table/src/assign.c:729:41: note: Left side of '&&' is false 2026-09-15T04:23:08.758620Z 01O 729 | const bool targetIsI64=isReal(target) && INHERITS(target, char_integer64); 2026-09-15T04:23:08.758620Z 01O | ^ 2026-09-15T04:23:08.758621Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Assuming 'sourceIsFactor' is false 2026-09-15T04:23:08.758622Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-09-15T04:23:08.758622Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.758623Z 01O /builds/Rdatatable/data.table/src/assign.c:730:7: note: Left side of '||' is false 2026-09-15T04:23:08.758624Z 01O /builds/Rdatatable/data.table/src/assign.c:730:25: note: Assuming 'targetIsFactor' is false 2026-09-15T04:23:08.758625Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-09-15T04:23:08.758625Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.758626Z 01O /builds/Rdatatable/data.table/src/assign.c:730:3: note: Taking false branch 2026-09-15T04:23:08.758627Z 01O 730 | if (sourceIsFactor || targetIsFactor) { 2026-09-15T04:23:08.758627Z 01O | ^ 2026-09-15T04:23:08.758628Z 01O /builds/Rdatatable/data.table/src/assign.c:837:14: note: Assuming the condition is false 2026-09-15T04:23:08.758638Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-09-15T04:23:08.758640Z 01O | ^ 2026-09-15T04:23:08.758641Z 01O /usr/local/lib/R/include/Rinternals.h:966:19: note: expanded from macro 'isString' 2026-09-15T04:23:08.758642Z 01O 966 | #define isString Rf_isString 2026-09-15T04:23:08.758644Z 01O | ^ 2026-09-15T04:23:08.758645Z 01O /builds/Rdatatable/data.table/src/assign.c:837:31: note: Left side of '&&' is false 2026-09-15T04:23:08.758646Z 01O 837 | } else if (isString(source) && !isString(target) && !isNewList(target)) { 2026-09-15T04:23:08.758647Z 01O | ^ 2026-09-15T04:23:08.758648Z 01O /builds/Rdatatable/data.table/src/assign.c:846:14: note: Assuming the condition is false 2026-09-15T04:23:08.758650Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-09-15T04:23:08.758651Z 01O | ^ 2026-09-15T04:23:08.758651Z 01O /usr/local/lib/R/include/Rinternals.h:955:20: note: expanded from macro 'isNewList' 2026-09-15T04:23:08.758653Z 01O 955 | #define isNewList Rf_isNewList 2026-09-15T04:23:08.758654Z 01O | ^ 2026-09-15T04:23:08.758655Z 01O /builds/Rdatatable/data.table/src/assign.c:846:32: note: Left side of '&&' is false 2026-09-15T04:23:08.758656Z 01O 846 | } else if (isNewList(source) && !isNewList(target)) { 2026-09-15T04:23:08.758657Z 01O | ^ 2026-09-15T04:23:08.758671Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Assuming the condition is false 2026-09-15T04:23:08.758673Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-09-15T04:23:08.758674Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.758675Z 01O /builds/Rdatatable/data.table/src/assign.c:861:15: note: Left side of '||' is false 2026-09-15T04:23:08.758677Z 01O /builds/Rdatatable/data.table/src/assign.c:861:49: note: 'targetIsI64' is equal to 'sourceIsI64' 2026-09-15T04:23:08.758679Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-09-15T04:23:08.758680Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.758692Z 01O /builds/Rdatatable/data.table/src/assign.c:861:75: note: Left side of '&&' is false 2026-09-15T04:23:08.758693Z 01O 861 | } else if ((TYPEOF(target)!=TYPEOF(source) || targetIsI64!=sourceIsI64) && !isNewList(target)) { 2026-09-15T04:23:08.758695Z 01O | ^ 2026-09-15T04:23:08.758705Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: Assuming the condition is false 2026-09-15T04:23:08.758707Z 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-09-15T04:23:08.758709Z 01O | ^ 2026-09-15T04:23:08.758710Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758711Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758713Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.758732Z 01O /builds/Rdatatable/data.table/src/assign.c:971:19: note: '?' condition is false 2026-09-15T04:23:08.758734Z 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-09-15T04:23:08.758736Z 01O | ^ 2026-09-15T04:23:08.758737Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758738Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758740Z 01O | ^ 2026-09-15T04:23:08.758752Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Assuming the condition is true 2026-09-15T04:23:08.758753Z 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-09-15T04:23:08.758755Z 01O | ^ 2026-09-15T04:23:08.758756Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758757Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758759Z 01O | ^ 2026-09-15T04:23:08.758769Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-09-15T04:23:08.758770Z 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-09-15T04:23:08.758772Z 01O | ^ 2026-09-15T04:23:08.758773Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758774Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758775Z 01O | ^ 2026-09-15T04:23:08.758809Z 01O /builds/Rdatatable/data.table/src/assign.c:972:39: note: Assuming 'slen' is > 0 2026-09-15T04:23:08.758810Z 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-09-15T04:23:08.758813Z 01O | ^~~~~~ 2026-09-15T04:23:08.758814Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-09-15T04:23:08.758815Z 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-09-15T04:23:08.758818Z 01O | ^ 2026-09-15T04:23:08.758819Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758820Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758821Z 01O | ^ 2026-09-15T04:23:08.758823Z 01O /builds/Rdatatable/data.table/src/assign.c:972:49: note: Assuming 'slen' is equal to 'len' 2026-09-15T04:23:08.758824Z 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-09-15T04:23:08.758827Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.758828Z 01O /builds/Rdatatable/data.table/src/assign.c:972:19: note: Left side of '&&' is true 2026-09-15T04:23:08.758829Z 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-09-15T04:23:08.758832Z 01O | ^ 2026-09-15T04:23:08.758833Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758834Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758835Z 01O | ^ 2026-09-15T04:23:08.758837Z 01O /builds/Rdatatable/data.table/src/assign.c:972:62: note: Assuming 'soff' is not equal to 0 2026-09-15T04:23:08.758838Z 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-09-15T04:23:08.758840Z 01O | ^~~~~~~ 2026-09-15T04:23:08.758841Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: Assuming the condition is false 2026-09-15T04:23:08.758852Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-09-15T04:23:08.758853Z 01O | ^ 2026-09-15T04:23:08.758869Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758870Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758871Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.758871Z 01O /builds/Rdatatable/data.table/src/assign.c:973:19: note: '?' condition is false 2026-09-15T04:23:08.758872Z 01O 973 | const int *wd = length(where) ? INTEGER(where)+start : NULL; 2026-09-15T04:23:08.758873Z 01O | ^ 2026-09-15T04:23:08.758873Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758874Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758875Z 01O | ^ 2026-09-15T04:23:08.758875Z 01O /builds/Rdatatable/data.table/src/assign.c:974:3: note: Control jumps to 'case 20:' at line 1102 2026-09-15T04:23:08.758876Z 01O 974 | switch (TYPEOF(target)) { 2026-09-15T04:23:08.758877Z 01O | ^ 2026-09-15T04:23:08.758877Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: 'len' is equal to 1 2026-09-15T04:23:08.758878Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-15T04:23:08.758879Z 01O | ^~~ 2026-09-15T04:23:08.758880Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-09-15T04:23:08.758885Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:21: note: Assuming the condition is true 2026-09-15T04:23:08.758886Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-15T04:23:08.758887Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.758888Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:9: note: Left side of '&&' is true 2026-09-15T04:23:08.758889Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-15T04:23:08.758889Z 01O | ^ 2026-09-15T04:23:08.758894Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:47: note: Assuming the condition is true 2026-09-15T04:23:08.758895Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-15T04:23:08.758896Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.758897Z 01O /builds/Rdatatable/data.table/src/assign.c:1103:5: note: Taking true branch 2026-09-15T04:23:08.758898Z 01O 1103 | if (len == 1 && TYPEOF(source)!=VECSXP && TYPEOF(source)!=EXPRSXP) { 2026-09-15T04:23:08.758898Z 01O | ^ 2026-09-15T04:23:08.758913Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Assuming the condition is true 2026-09-15T04:23:08.758913Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-15T04:23:08.758914Z 01O | ^ 2026-09-15T04:23:08.758915Z 01O /builds/Rdatatable/data.table/src/assign.c:932:9: note: expanded from macro 'BODY' 2026-09-15T04:23:08.758916Z 01O 932 | if (length(where)) { \ 2026-09-15T04:23:08.758916Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.758917Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.758918Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.758918Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.758927Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-09-15T04:23:08.758928Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-15T04:23:08.758929Z 01O | ^ 2026-09-15T04:23:08.758929Z 01O /builds/Rdatatable/data.table/src/assign.c:932:5: note: expanded from macro 'BODY' 2026-09-15T04:23:08.758936Z 01O 932 | if (length(where)) { \ 2026-09-15T04:23:08.758937Z 01O | ^ 2026-09-15T04:23:08.758941Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: 'slen' is equal to 1 2026-09-15T04:23:08.758942Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-15T04:23:08.758943Z 01O | ^ 2026-09-15T04:23:08.758943Z 01O /builds/Rdatatable/data.table/src/assign.c:933:11: note: expanded from macro 'BODY' 2026-09-15T04:23:08.758944Z 01O 933 | if (slen==1) { \ 2026-09-15T04:23:08.758945Z 01O | ^~~~ 2026-09-15T04:23:08.758949Z 01O /builds/Rdatatable/data.table/src/assign.c:1104:9: note: Taking true branch 2026-09-15T04:23:08.758950Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-15T04:23:08.758950Z 01O | ^ 2026-09-15T04:23:08.758951Z 01O /builds/Rdatatable/data.table/src/assign.c:933:7: note: expanded from macro 'BODY' 2026-09-15T04:23:08.758952Z 01O 933 | if (slen==1) { \ 2026-09-15T04:23:08.758952Z 01O | ^ 2026-09-15T04:23:08.758957Z 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-09-15T04:23:08.758959Z 01O 1104 | BODY(SEXP, &, SEXP, val, SET_VECTOR_ELT(target, off+i, cval)) 2026-09-15T04:23:08.758959Z 01O | ^ 2026-09-15T04:23:08.758960Z 01O /builds/Rdatatable/data.table/src/assign.c:934:27: note: expanded from macro 'BODY' 2026-09-15T04:23:08.758961Z 01O 934 | const STYPE val = sd[soff]; \ 2026-09-15T04:23:08.758961Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.759027Z 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-09-15T04:23:08.759030Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-09-15T04:23:08.759031Z 01O | ^~~~~ 2026-09-15T04:23:08.759032Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-09-15T04:23:08.759034Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-15T04:23:08.759035Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759036Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-09-15T04:23:08.759038Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-15T04:23:08.759039Z 01O | ^ 2026-09-15T04:23:08.759040Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-09-15T04:23:08.759042Z 01O 6 | if (chin && chmatchdup) 2026-09-15T04:23:08.759043Z 01O | ^~~~ 2026-09-15T04:23:08.759044Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-09-15T04:23:08.759045Z 01O 6 | if (chin && chmatchdup) 2026-09-15T04:23:08.759046Z 01O | ^ 2026-09-15T04:23:08.759047Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-09-15T04:23:08.759049Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-15T04:23:08.759050Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759059Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-09-15T04:23:08.759060Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-15T04:23:08.759062Z 01O | ^ 2026-09-15T04:23:08.759062Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-09-15T04:23:08.759064Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-15T04:23:08.759065Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.759073Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-09-15T04:23:08.759090Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-15T04:23:08.759091Z 01O | ^ 2026-09-15T04:23:08.759095Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-09-15T04:23:08.759096Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-09-15T04:23:08.759097Z 01O | ^ 2026-09-15T04:23:08.759098Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-09-15T04:23:08.759102Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-09-15T04:23:08.759103Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-15T04:23:08.759104Z 01O | ^~~~~~~ 2026-09-15T04:23:08.759104Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-09-15T04:23:08.759105Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-15T04:23:08.759106Z 01O | ^ 2026-09-15T04:23:08.759144Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-09-15T04:23:08.759145Z 01O 31 | if (tablelen==0) { 2026-09-15T04:23:08.759145Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.759146Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-09-15T04:23:08.759147Z 01O 31 | if (tablelen==0) { 2026-09-15T04:23:08.759147Z 01O | ^ 2026-09-15T04:23:08.759148Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-09-15T04:23:08.759149Z 01O 40 | if (isSymbol(x)) { 2026-09-15T04:23:08.759149Z 01O | ^ 2026-09-15T04:23:08.759150Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-09-15T04:23:08.759150Z 01O 953 | #define isSymbol Rf_isSymbol 2026-09-15T04:23:08.759151Z 01O | ^ 2026-09-15T04:23:08.759152Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-09-15T04:23:08.759152Z 01O 40 | if (isSymbol(x)) { 2026-09-15T04:23:08.759153Z 01O | ^ 2026-09-15T04:23:08.759153Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-09-15T04:23:08.759154Z 01O 46 | if (xlen==1) { 2026-09-15T04:23:08.759155Z 01O | ^~~~~~~ 2026-09-15T04:23:08.759155Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-09-15T04:23:08.759156Z 01O 46 | if (xlen==1) { 2026-09-15T04:23:08.759157Z 01O | ^ 2026-09-15T04:23:08.759157Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is false 2026-09-15T04:23:08.759158Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759158Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.759159Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-09-15T04:23:08.759160Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is true 2026-09-15T04:23:08.759161Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759161Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759162Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking true branch 2026-09-15T04:23:08.759163Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759163Z 01O | ^ 2026-09-15T04:23:08.759164Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: Assuming 'i' is < 'xlen' 2026-09-15T04:23:08.759164Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-15T04:23:08.759165Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.759166Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.759167Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-15T04:23:08.759174Z 01O | ^ 2026-09-15T04:23:08.759174Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:11: note: Assuming 'tl' is not equal to 0 2026-09-15T04:23:08.759175Z 01O 66 | if (tl == 0) { 2026-09-15T04:23:08.759176Z 01O | ^~~~~~~ 2026-09-15T04:23:08.759176Z 01O /builds/Rdatatable/data.table/src/chmatch.c:66:7: note: Taking false branch 2026-09-15T04:23:08.759177Z 01O 66 | if (tl == 0) { 2026-09-15T04:23:08.759178Z 01O | ^ 2026-09-15T04:23:08.759178Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:21: note: 'i' is < 'xlen' 2026-09-15T04:23:08.759179Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-15T04:23:08.759180Z 01O | ^ 2026-09-15T04:23:08.759180Z 01O /builds/Rdatatable/data.table/src/chmatch.c:63:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.759181Z 01O 63 | for (int i = 0; i < xlen; ++i) { 2026-09-15T04:23:08.759182Z 01O | ^ 2026-09-15T04:23:08.759219Z 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-09-15T04:23:08.759221Z 01O 65 | int tl = hash_lookup(marks, xd[i], 0); 2026-09-15T04:23:08.759221Z 01O | ^~~~~ 2026-09-15T04:23:08.759222Z 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-09-15T04:23:08.759223Z 01O 128 | int u = hash_lookup(marks, xd[i], 0); 2026-09-15T04:23:08.759224Z 01O | ^~~~~ 2026-09-15T04:23:08.759224Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:7: note: Assuming the condition is false 2026-09-15T04:23:08.759225Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-15T04:23:08.759226Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759226Z 01O /builds/Rdatatable/data.table/src/chmatch.c:4:24: note: Left side of '&&' is false 2026-09-15T04:23:08.759227Z 01O 4 | if (!isString(table) && !isNull(table)) 2026-09-15T04:23:08.759228Z 01O | ^ 2026-09-15T04:23:08.759228Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:7: note: Assuming 'chin' is false 2026-09-15T04:23:08.759229Z 01O 6 | if (chin && chmatchdup) 2026-09-15T04:23:08.759230Z 01O | ^~~~ 2026-09-15T04:23:08.759230Z 01O /builds/Rdatatable/data.table/src/chmatch.c:6:12: note: Left side of '&&' is false 2026-09-15T04:23:08.759231Z 01O 6 | if (chin && chmatchdup) 2026-09-15T04:23:08.759232Z 01O | ^ 2026-09-15T04:23:08.759232Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:7: note: Assuming the condition is false 2026-09-15T04:23:08.759233Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-15T04:23:08.759233Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759234Z 01O /builds/Rdatatable/data.table/src/chmatch.c:10:3: note: Taking false branch 2026-09-15T04:23:08.759235Z 01O 10 | if (TYPEOF(x) == SYMSXP) { 2026-09-15T04:23:08.759235Z 01O | ^ 2026-09-15T04:23:08.759236Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:14: note: Assuming the condition is false 2026-09-15T04:23:08.759237Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-15T04:23:08.759237Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.759238Z 01O /builds/Rdatatable/data.table/src/chmatch.c:14:27: note: Left side of '&&' is false 2026-09-15T04:23:08.759239Z 01O 14 | } else if (!isString(x) && !isSymbol(x) && !isNull(x)) { 2026-09-15T04:23:08.759239Z 01O | ^ 2026-09-15T04:23:08.759240Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: 'chin' is false 2026-09-15T04:23:08.759241Z 01O 24 | SEXP ans = PROTECT(allocVector(chin?LGLSXP:INTSXP, xlen)); nprotect++; 2026-09-15T04:23:08.759241Z 01O | ^ 2026-09-15T04:23:08.759242Z 01O /builds/Rdatatable/data.table/src/chmatch.c:24:34: note: '?' condition is false 2026-09-15T04:23:08.759262Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:7: note: Assuming 'xlen' is not equal to 0 2026-09-15T04:23:08.759263Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-15T04:23:08.759264Z 01O | ^~~~~~~ 2026-09-15T04:23:08.759265Z 01O /builds/Rdatatable/data.table/src/chmatch.c:25:3: note: Taking false branch 2026-09-15T04:23:08.759265Z 01O 25 | if (xlen==0) { // no need to look at table when x is empty (including null) 2026-09-15T04:23:08.759266Z 01O | ^ 2026-09-15T04:23:08.759267Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:7: note: Assuming 'tablelen' is not equal to 0 2026-09-15T04:23:08.759267Z 01O 31 | if (tablelen==0) { 2026-09-15T04:23:08.759268Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.759269Z 01O /builds/Rdatatable/data.table/src/chmatch.c:31:3: note: Taking false branch 2026-09-15T04:23:08.759269Z 01O 31 | if (tablelen==0) { 2026-09-15T04:23:08.759270Z 01O | ^ 2026-09-15T04:23:08.759270Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:7: note: Assuming the condition is true 2026-09-15T04:23:08.759271Z 01O 40 | if (isSymbol(x)) { 2026-09-15T04:23:08.759272Z 01O | ^ 2026-09-15T04:23:08.759272Z 01O /usr/local/lib/R/include/Rinternals.h:953:19: note: expanded from macro 'isSymbol' 2026-09-15T04:23:08.759273Z 01O 953 | #define isSymbol Rf_isSymbol 2026-09-15T04:23:08.759274Z 01O | ^ 2026-09-15T04:23:08.759274Z 01O /builds/Rdatatable/data.table/src/chmatch.c:40:3: note: Taking true branch 2026-09-15T04:23:08.759275Z 01O 40 | if (isSymbol(x)) { 2026-09-15T04:23:08.759276Z 01O | ^ 2026-09-15T04:23:08.759276Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:7: note: Assuming 'xlen' is not equal to 1 2026-09-15T04:23:08.759277Z 01O 46 | if (xlen==1) { 2026-09-15T04:23:08.759277Z 01O | ^~~~~~~ 2026-09-15T04:23:08.759278Z 01O /builds/Rdatatable/data.table/src/chmatch.c:46:3: note: Taking false branch 2026-09-15T04:23:08.759279Z 01O 46 | if (xlen==1) { 2026-09-15T04:23:08.759279Z 01O | ^ 2026-09-15T04:23:08.759284Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Assuming 'chmatchdup' is true 2026-09-15T04:23:08.759285Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759286Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.759286Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:19: note: Left side of '&&' is false 2026-09-15T04:23:08.759287Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759288Z 01O | ^ 2026-09-15T04:23:08.759292Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-09-15T04:23:08.759293Z 01O 99 | for (int i=0; i= 'tablelen' 2026-09-15T04:23:08.759320Z 01O 123 | for (int i=0; i= 'tablelen' 2026-09-15T04:23:08.759332Z 01O 125 | for (int i=0; i= 0 2026-09-15T04:23:08.759383Z 01O 129 | if (u<0) { 2026-09-15T04:23:08.759384Z 01O | ^~~ 2026-09-15T04:23:08.759385Z 01O /builds/Rdatatable/data.table/src/chmatch.c:129:7: note: Taking false branch 2026-09-15T04:23:08.759385Z 01O 129 | if (u<0) { 2026-09-15T04:23:08.759386Z 01O | ^ 2026-09-15T04:23:08.759388Z 01O /builds/Rdatatable/data.table/src/chmatch.c:127:19: note: 'i' is < 'xlen' 2026-09-15T04:23:08.759389Z 01O 127 | for (int i=0; i 2 * xlen) { 2026-09-15T04:23:08.759489Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.759489Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-09-15T04:23:08.759490Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759491Z 01O | ^ 2026-09-15T04:23:08.759491Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-09-15T04:23:08.759492Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759493Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759493Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-09-15T04:23:08.759494Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759495Z 01O | ^ 2026-09-15T04:23:08.759504Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-09-15T04:23:08.759505Z 01O 99 | for (int i=0; i 2 * xlen) { 2026-09-15T04:23:08.759590Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.759590Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:7: note: Left side of '&&' is true 2026-09-15T04:23:08.759593Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:22: note: Assuming the condition is false 2026-09-15T04:23:08.759594Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759594Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.759595Z 01O /builds/Rdatatable/data.table/src/chmatch.c:59:3: note: Taking false branch 2026-09-15T04:23:08.759595Z 01O 59 | if (!chmatchdup && tablelen > 2 * xlen) { 2026-09-15T04:23:08.759596Z 01O | ^ 2026-09-15T04:23:08.759596Z 01O /builds/Rdatatable/data.table/src/chmatch.c:99:17: note: Assuming 'i' is >= 'tablelen' 2026-09-15T04:23:08.759597Z 01O 99 | for (int i=0; i= 0 2026-09-15T04:23:08.759638Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-09-15T04:23:08.759639Z 01O | ^~~ 2026-09-15T04:23:08.759639Z 01O /builds/Rdatatable/data.table/src/chmatch.c:146:17: note: '?' condition is false 2026-09-15T04:23:08.759640Z 01O 146 | ansd[i] = (m<0) ? -m : nomatch; 2026-09-15T04:23:08.759640Z 01O | ^ 2026-09-15T04:23:08.759640Z 01O /builds/Rdatatable/data.table/src/chmatch.c:144:19: note: 'i' is < 'xlen' 2026-09-15T04:23:08.759641Z 01O 144 | for (int i=0; i= 'nlhs' 2026-09-15T04:23:08.759652Z 01O 14 | for (int i=0; i= 'nlhs' 2026-09-15T04:23:08.759726Z 01O 14 | for (int i=0; i= 'nlhs' 2026-09-15T04:23:08.759783Z 01O 14 | for (int i=0; iRCHK, 0, vars = checkVars(DT, id, measure, verbose)); 2026-09-15T04:23:08.760323Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.760329Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Assuming the condition is true 2026-09-15T04:23:08.760330Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-15T04:23:08.760331Z 01O | ^ 2026-09-15T04:23:08.760331Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.760332Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.760332Z 01O | ^ 2026-09-15T04:23:08.760332Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:7: note: Left side of '&&' is true 2026-09-15T04:23:08.760333Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-15T04:23:08.760333Z 01O | ^ 2026-09-15T04:23:08.760334Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.760334Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.760335Z 01O | ^ 2026-09-15T04:23:08.760341Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:21: note: Assuming the condition is true 2026-09-15T04:23:08.760341Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-15T04:23:08.760342Z 01O | ^ 2026-09-15T04:23:08.760342Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.760343Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.760343Z 01O | ^ 2026-09-15T04:23:08.760344Z 01O /builds/Rdatatable/data.table/src/fmelt.c:227:3: note: Taking true branch 2026-09-15T04:23:08.760344Z 01O 227 | if (isNull(id) && isNull(measure)) { 2026-09-15T04:23:08.760345Z 01O | ^ 2026-09-15T04:23:08.760347Z 01O /builds/Rdatatable/data.table/src/fmelt.c:228:19: note: Assuming 'i' is >= 'ncol' 2026-09-15T04:23:08.760348Z 01O 228 | for (int i=0; i= 'ncol' 2026-09-15T04:23:08.760351Z 01O 234 | for (int i=0; i= 'nidx' 2026-09-15T04:23:08.760519Z 01O 74 | for (int i=0; i4) nidx=4; // first 4 following by ... if there are more than 4 2026-09-15T04:23:08.760527Z 01O | ^~~~ 2026-09-15T04:23:08.760528Z 01O /builds/Rdatatable/data.table/src/fmelt.c:78:3: note: Taking false branch 2026-09-15T04:23:08.760529Z 01O 78 | if (nidx>4) nidx=4; // first 4 following by ... if there are more than 4 2026-09-15T04:23:08.760530Z 01O | ^ 2026-09-15T04:23:08.760530Z 01O /builds/Rdatatable/data.table/src/fmelt.c:82:10: note: 'i' is >= 'nidx' 2026-09-15T04:23:08.760531Z 01O 82 | for (; i4 || i4 || i= 'nidx' 2026-09-15T04:23:08.760582Z 01O 92 | if (length(vec)>4 || i4 || i= 'nrow' 2026-09-15T04:23:08.760919Z 01O 555 | for (int i=0; i=0) { // another thread may have set it while I was waiting, so check it again 2026-09-15T04:23:08.761077Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761084Z 01O /builds/Rdatatable/data.table/src/forder.c:316:5: note: Taking true branch 2026-09-15T04:23:08.761085Z 01O 316 | if (hash_lookup(marks,s,0)>=0) { // another thread may have set it while I was waiting, so check it again 2026-09-15T04:23:08.761086Z 01O | ^ 2026-09-15T04:23:08.761086Z 01O /builds/Rdatatable/data.table/src/forder.c:318:11: note: Assuming 'ustr_alloc' is > 'ustr_n' 2026-09-15T04:23:08.761087Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-09-15T04:23:08.761088Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761088Z 01O /builds/Rdatatable/data.table/src/forder.c:318:7: note: Taking false branch 2026-09-15T04:23:08.761089Z 01O 318 | if (ustr_alloc<=ustr_n) { 2026-09-15T04:23:08.761090Z 01O | ^ 2026-09-15T04:23:08.761090Z 01O /builds/Rdatatable/data.table/src/forder.c:326:11: note: Assuming 'new_marks' is equal to 'marks' 2026-09-15T04:23:08.761091Z 01O 326 | if (new_marks != marks) { 2026-09-15T04:23:08.761092Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761092Z 01O /builds/Rdatatable/data.table/src/forder.c:326:7: note: Taking false branch 2026-09-15T04:23:08.761093Z 01O 326 | if (new_marks != marks) { 2026-09-15T04:23:08.761094Z 01O | ^ 2026-09-15T04:23:08.761094Z 01O /builds/Rdatatable/data.table/src/forder.c:335:11: note: Assuming the condition is false 2026-09-15T04:23:08.761095Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-09-15T04:23:08.761096Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761099Z 01O /builds/Rdatatable/data.table/src/forder.c:335:7: note: Taking false branch 2026-09-15T04:23:08.761099Z 01O 335 | if (LENGTH(s)>ustr_maxlen) ustr_maxlen=LENGTH(s); 2026-09-15T04:23:08.761100Z 01O | ^ 2026-09-15T04:23:08.761106Z 01O /builds/Rdatatable/data.table/src/forder.c:336:12: note: 'anynotutf8' is false 2026-09-15T04:23:08.761107Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-09-15T04:23:08.761108Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.761113Z 01O /builds/Rdatatable/data.table/src/forder.c:336:11: note: Left side of '&&' is true 2026-09-15T04:23:08.761114Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-09-15T04:23:08.761115Z 01O | ^ 2026-09-15T04:23:08.761118Z 01O /builds/Rdatatable/data.table/src/forder.c:337:13: note: Assuming the condition is true 2026-09-15T04:23:08.761119Z 01O 337 | !IS_ASCII(s)) { // anynotutf8 implies anynotascii and IS_ASCII will be cheaper than IS_UTF8, so start with this one 2026-09-15T04:23:08.761120Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.761131Z 01O /builds/Rdatatable/data.table/src/forder.c:336:7: note: Taking true branch 2026-09-15T04:23:08.761132Z 01O 336 | if (!anynotutf8 && // even if anynotascii we still want to know if anynotutf8, and anynotutf8 implies anynotascii already 2026-09-15T04:23:08.761133Z 01O | ^ 2026-09-15T04:23:08.761134Z 01O /builds/Rdatatable/data.table/src/forder.c:338:14: note: 'anynotascii' is false 2026-09-15T04:23:08.761140Z 01O 338 | if (!anynotascii) 2026-09-15T04:23:08.761141Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.761142Z 01O /builds/Rdatatable/data.table/src/forder.c:338:9: note: Taking true branch 2026-09-15T04:23:08.761142Z 01O 338 | if (!anynotascii) 2026-09-15T04:23:08.761143Z 01O | ^ 2026-09-15T04:23:08.761147Z 01O /builds/Rdatatable/data.table/src/forder.c:340:14: note: Assuming the condition is false 2026-09-15T04:23:08.761147Z 01O 340 | if (!IS_UTF8(s)) 2026-09-15T04:23:08.761148Z 01O | ^ 2026-09-15T04:23:08.761149Z 01O /builds/Rdatatable/data.table/src/data.table.h:41:22: note: expanded from macro 'IS_UTF8' 2026-09-15T04:23:08.761149Z 01O 41 | #define IS_UTF8(x) (getCharCE(x) == CE_UTF8) 2026-09-15T04:23:08.761150Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761169Z 01O /usr/local/lib/R/include/Rinternals.h:925:20: note: expanded from macro 'getCharCE' 2026-09-15T04:23:08.761170Z 01O 925 | #define getCharCE Rf_getCharCE 2026-09-15T04:23:08.761171Z 01O | ^ 2026-09-15T04:23:08.761171Z 01O /builds/Rdatatable/data.table/src/forder.c:340:9: note: Taking true branch 2026-09-15T04:23:08.761172Z 01O 340 | if (!IS_UTF8(s)) 2026-09-15T04:23:08.761173Z 01O | ^ 2026-09-15T04:23:08.761173Z 01O /builds/Rdatatable/data.table/src/forder.c:307:16: note: Assuming 'i' is >= 'n' 2026-09-15T04:23:08.761174Z 01O 307 | for(int i=0; i= 'ustr_n' 2026-09-15T04:23:08.761202Z 01O 359 | for (int i=0; i= 'ustr_n' 2026-09-15T04:23:08.761218Z 01O 364 | for (int i=0; i> 2026-09-15T04:23:08.761359Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761360Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-09-15T04:23:08.761361Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761361Z 01O 43 | 2026-09-15T04:23:08.761362Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-09-15T04:23:08.761363Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761363Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-09-15T04:23:08.761364Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761365Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-09-15T04:23:08.761365Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761366Z 01O 47 | 2026-09-15T04:23:08.761366Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-09-15T04:23:08.761367Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761368Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-09-15T04:23:08.761369Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761369Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-09-15T04:23:08.761370Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761371Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-09-15T04:23:08.761380Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761381Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-09-15T04:23:08.761382Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761383Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-09-15T04:23:08.761383Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761384Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Calling 'freadCleanup' 2026-09-15T04:23:08.761385Z 01O 1410 | if (freadCleanup()) { 2026-09-15T04:23:08.761385Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.761386Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Assuming 'type' is null 2026-09-15T04:23:08.761387Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-15T04:23:08.761388Z 01O | ^~~~ 2026-09-15T04:23:08.761388Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-09-15T04:23:08.761389Z 01O /builds/Rdatatable/data.table/src/fread.c:163:39: note: Assuming 'tmpType' is null 2026-09-15T04:23:08.761390Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-15T04:23:08.761391Z 01O | ^~~~~~~ 2026-09-15T04:23:08.761391Z 01O /builds/Rdatatable/data.table/src/fread.c:163:31: note: Left side of '||' is false 2026-09-15T04:23:08.761392Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-15T04:23:08.761393Z 01O | ^ 2026-09-15T04:23:08.761419Z 01O /builds/Rdatatable/data.table/src/fread.c:163:50: note: Assuming 'size' is non-null 2026-09-15T04:23:08.761420Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-15T04:23:08.761420Z 01O | ^~~~ 2026-09-15T04:23:08.761421Z 01O /builds/Rdatatable/data.table/src/fread.c:163:55: note: Left side of '||' is true 2026-09-15T04:23:08.761422Z 01O 163 | const bool neededCleanup = (type || tmpType || size || colNames || mmp || mmp_copy); 2026-09-15T04:23:08.761423Z 01O | ^ 2026-09-15T04:23:08.761424Z 01O /builds/Rdatatable/data.table/src/fread.c:169:7: note: Assuming 'mmp' is equal to NULL 2026-09-15T04:23:08.761424Z 01O 169 | if (mmp != NULL) { 2026-09-15T04:23:08.761425Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.761425Z 01O /builds/Rdatatable/data.table/src/fread.c:169:3: note: Taking false branch 2026-09-15T04:23:08.761426Z 01O 169 | if (mmp != NULL) { 2026-09-15T04:23:08.761427Z 01O | ^ 2026-09-15T04:23:08.761427Z 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-09-15T04:23:08.761428Z 01O 193 | quoteRule = -1; 2026-09-15T04:23:08.761429Z 01O | ^~ 2026-09-15T04:23:08.761429Z 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-09-15T04:23:08.761431Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-09-15T04:23:08.761431Z 01O | ^ ~~ 2026-09-15T04:23:08.761432Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-09-15T04:23:08.761433Z 01O 1410 | if (freadCleanup()) { 2026-09-15T04:23:08.761433Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.761434Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-09-15T04:23:08.761434Z 01O 1410 | if (freadCleanup()) { 2026-09-15T04:23:08.761441Z 01O | ^ 2026-09-15T04:23:08.761446Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.761447Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-15T04:23:08.761448Z 01O | ^~~~~~~ 2026-09-15T04:23:08.761449Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-09-15T04:23:08.761449Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-15T04:23:08.761450Z 01O | ^ 2026-09-15T04:23:08.761451Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-09-15T04:23:08.761451Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-15T04:23:08.761452Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.761453Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-09-15T04:23:08.761453Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-15T04:23:08.761454Z 01O | ^ 2026-09-15T04:23:08.761454Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-09-15T04:23:08.761455Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-15T04:23:08.761456Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.761474Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-09-15T04:23:08.761475Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-15T04:23:08.761475Z 01O | ^ 2026-09-15T04:23:08.761476Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-09-15T04:23:08.761477Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-15T04:23:08.761477Z 01O | ^~~ 2026-09-15T04:23:08.761478Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-09-15T04:23:08.761478Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-15T04:23:08.761479Z 01O | ^ 2026-09-15T04:23:08.761484Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-09-15T04:23:08.761485Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-15T04:23:08.761486Z 01O | ^~~~~~~ 2026-09-15T04:23:08.761487Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-09-15T04:23:08.761487Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-15T04:23:08.761488Z 01O | ^ 2026-09-15T04:23:08.761494Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-09-15T04:23:08.761495Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-15T04:23:08.761496Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761496Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-09-15T04:23:08.761497Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-15T04:23:08.761498Z 01O | ^ 2026-09-15T04:23:08.761499Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-09-15T04:23:08.761499Z 01O 1436 | while (*nastr) { 2026-09-15T04:23:08.761500Z 01O | ^ 2026-09-15T04:23:08.761504Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-09-15T04:23:08.761505Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-09-15T04:23:08.761505Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761526Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-09-15T04:23:08.761527Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-09-15T04:23:08.761528Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761528Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-09-15T04:23:08.761536Z 01O 1464 | if (verbose) { 2026-09-15T04:23:08.761536Z 01O | ^~~~~~~ 2026-09-15T04:23:08.761537Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-09-15T04:23:08.761538Z 01O 1464 | if (verbose) { 2026-09-15T04:23:08.761538Z 01O | ^ 2026-09-15T04:23:08.761539Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-09-15T04:23:08.761540Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-09-15T04:23:08.761540Z 01O | ^ 2026-09-15T04:23:08.761541Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-09-15T04:23:08.761541Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-15T04:23:08.761542Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761547Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-09-15T04:23:08.761548Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-15T04:23:08.761549Z 01O | ^ 2026-09-15T04:23:08.761550Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-09-15T04:23:08.761551Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.761552Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761585Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-09-15T04:23:08.761586Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.761587Z 01O | ^ 2026-09-15T04:23:08.761588Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-09-15T04:23:08.761589Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.761590Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.761591Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-09-15T04:23:08.761592Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.761593Z 01O | ^ 2026-09-15T04:23:08.761602Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-09-15T04:23:08.761603Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-15T04:23:08.761604Z 01O | ^~~~~~~ 2026-09-15T04:23:08.761605Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-09-15T04:23:08.761606Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-15T04:23:08.761607Z 01O | ^ 2026-09-15T04:23:08.761608Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-09-15T04:23:08.761609Z 01O 1515 | if (args.input) { 2026-09-15T04:23:08.761610Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.761610Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-09-15T04:23:08.761612Z 01O 1515 | if (args.input) { 2026-09-15T04:23:08.761612Z 01O | ^ 2026-09-15T04:23:08.761613Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is non-null 2026-09-15T04:23:08.761614Z 01O 1522 | else if (args.filename) { 2026-09-15T04:23:08.761615Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.761616Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking true branch 2026-09-15T04:23:08.761617Z 01O 1522 | else if (args.filename) { 2026-09-15T04:23:08.761618Z 01O | ^ 2026-09-15T04:23:08.761649Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:9: note: 'verbose' is false 2026-09-15T04:23:08.761673Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-09-15T04:23:08.761674Z 01O | ^~~~~~~ 2026-09-15T04:23:08.761675Z 01O /builds/Rdatatable/data.table/src/fread.c:1523:5: note: Taking false branch 2026-09-15T04:23:08.761676Z 01O 1523 | if (verbose) DTPRINT(_(" Opening file %s\n"), args.filename); 2026-09-15T04:23:08.761677Z 01O | ^ 2026-09-15T04:23:08.761678Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:16: note: Assuming that 'open' fails 2026-09-15T04:23:08.761679Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-09-15T04:23:08.761679Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761680Z 01O /builds/Rdatatable/data.table/src/fread.c:1526:7: note: 'fd' initialized here 2026-09-15T04:23:08.761681Z 01O 1526 | int fd = open(fnam, O_RDONLY); 2026-09-15T04:23:08.761682Z 01O | ^~~~~~ 2026-09-15T04:23:08.761692Z 01O /builds/Rdatatable/data.table/src/fread.c:1527:7: note: Taking true branch 2026-09-15T04:23:08.761694Z 01O 1527 | if (fd == -1) STOP(_("Couldn't open file %s: %s"), fnam, strerror(errno)); 2026-09-15T04:23:08.761695Z 01O | ^ 2026-09-15T04:23:08.761695Z 01O /builds/Rdatatable/data.table/src/fread.c:1529:11: note: The 1st argument to 'fstat' is -1 but should be >= 0 2026-09-15T04:23:08.761697Z 01O 1529 | if (fstat(fd, &stat_buf) == -1) { 2026-09-15T04:23:08.761697Z 01O | ^ ~~ 2026-09-15T04:23:08.761698Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: warning: Value stored to 'pos' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.761699Z 01O 1780 | pos = ch; 2026-09-15T04:23:08.761700Z 01O | ^ ~~ 2026-09-15T04:23:08.761701Z 01O /builds/Rdatatable/data.table/src/fread.c:1780:5: note: Value stored to 'pos' is never read 2026-09-15T04:23:08.761702Z 01O 1780 | pos = ch; 2026-09-15T04:23:08.761702Z 01O | ^ ~~ 2026-09-15T04:23:08.761703Z 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-09-15T04:23:08.761704Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-09-15T04:23:08.761705Z 01O | ^~ 2026-09-15T04:23:08.761977Z 01O /builds/Rdatatable/data.table/src/fread.c:38:6: note: enum declared here 2026-09-15T04:23:08.761980Z 01O 38 | enum quote_rule_t 2026-09-15T04:23:08.761980Z 01O | ~~~~~^~~~~~~~~~~~ 2026-09-15T04:23:08.761981Z 01O 39 | { 2026-09-15T04:23:08.761982Z 01O | ~ 2026-09-15T04:23:08.761983Z 01O 40 | // Fields may be quoted, any quote inside the field is doubled.This is 2026-09-15T04:23:08.761984Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761985Z 01O 41 | // the CSV standard. For example: <<...,"hello ""world""",...>> 2026-09-15T04:23:08.761986Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761988Z 01O 42 | QUOTE_RULE_EMBEDDED_QUOTES_DOUBLED, 2026-09-15T04:23:08.761989Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761990Z 01O 43 | 2026-09-15T04:23:08.761990Z 01O 44 | // Fields may be quoted, any quotes inside are escaped with a backslash. 2026-09-15T04:23:08.761991Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761992Z 01O 45 | // For example: <<...,"hello \"world\"",...>> 2026-09-15T04:23:08.761993Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.761994Z 01O 46 | QUOTE_RULE_EMBEDDED_QUOTES_ESCAPED, 2026-09-15T04:23:08.761995Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762022Z 01O 47 | 2026-09-15T04:23:08.762023Z 01O 48 | // Fields may be quoted, but any quotes inside will appear verbatim and 2026-09-15T04:23:08.762040Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762042Z 01O 49 | // not escaped in any way. It is not always possible to parse the file 2026-09-15T04:23:08.762043Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762044Z 01O 50 | // unambiguously, but we give it a try anyways. A quote will be presumed 2026-09-15T04:23:08.762046Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762047Z 01O 51 | // to mark the end of the field iff it is followed by the field separator. 2026-09-15T04:23:08.762048Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762049Z 01O 52 | // Under this rule eol characters cannot appear inside the field. 2026-09-15T04:23:08.762050Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762051Z 01O 53 | // For example: <<...,"hello "world"",...>> 2026-09-15T04:23:08.762052Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762053Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:7: note: Assuming the condition is false 2026-09-15T04:23:08.762055Z 01O 1410 | if (freadCleanup()) { 2026-09-15T04:23:08.762055Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.762056Z 01O /builds/Rdatatable/data.table/src/fread.c:1410:3: note: Taking false branch 2026-09-15T04:23:08.762057Z 01O 1410 | if (freadCleanup()) { 2026-09-15T04:23:08.762058Z 01O | ^ 2026-09-15T04:23:08.762059Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.762060Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-15T04:23:08.762061Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762062Z 01O /builds/Rdatatable/data.table/src/fread.c:1414:3: note: Taking false branch 2026-09-15T04:23:08.762063Z 01O 1414 | if (verbose) DTPRINT(_("[01] Check arguments\n")); 2026-09-15T04:23:08.762064Z 01O | ^ 2026-09-15T04:23:08.762065Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:9: note: Assuming 'nth' is <= 'maxth' 2026-09-15T04:23:08.762066Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-15T04:23:08.762067Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.762068Z 01O /builds/Rdatatable/data.table/src/fread.c:1418:5: note: Taking false branch 2026-09-15T04:23:08.762069Z 01O 1418 | if (nth > maxth) nth = maxth; 2026-09-15T04:23:08.762070Z 01O | ^ 2026-09-15T04:23:08.762070Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:9: note: Assuming 'nth' is > 0 2026-09-15T04:23:08.762071Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-15T04:23:08.762072Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.762073Z 01O /builds/Rdatatable/data.table/src/fread.c:1419:5: note: Taking false branch 2026-09-15T04:23:08.762074Z 01O 1419 | if (nth <= 0) nth += maxth; 2026-09-15T04:23:08.762075Z 01O | ^ 2026-09-15T04:23:08.762075Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:9: note: 'nth' is > 0 2026-09-15T04:23:08.762076Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-15T04:23:08.762077Z 01O | ^~~ 2026-09-15T04:23:08.762077Z 01O /builds/Rdatatable/data.table/src/fread.c:1420:5: note: Taking false branch 2026-09-15T04:23:08.762078Z 01O 1420 | if (nth <= 0) nth = 1; 2026-09-15T04:23:08.762079Z 01O | ^ 2026-09-15T04:23:08.762079Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:9: note: 'verbose' is false 2026-09-15T04:23:08.762080Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-15T04:23:08.762082Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762082Z 01O /builds/Rdatatable/data.table/src/fread.c:1421:5: note: Taking false branch 2026-09-15T04:23:08.762083Z 01O 1421 | if (verbose) DTPRINT(_(" Using %d threads (omp_get_max_threads()=%d, nth=%d)\n"), nth, maxth, args.nth); 2026-09-15T04:23:08.762089Z 01O | ^ 2026-09-15T04:23:08.762089Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:7: note: Assuming 'NAstrings' is not equal to NULL 2026-09-15T04:23:08.762090Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-15T04:23:08.762091Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762091Z 01O /builds/Rdatatable/data.table/src/fread.c:1429:3: note: Taking false branch 2026-09-15T04:23:08.762092Z 01O 1429 | if (NAstrings == NULL) INTERNAL_STOP("NAstrings is itself NULL. When empty it should be pointer to NULL"); // # nocov 2026-09-15T04:23:08.762093Z 01O | ^ 2026-09-15T04:23:08.762093Z 01O /builds/Rdatatable/data.table/src/fread.c:1436:3: note: Loop condition is false. Execution continues on line 1459 2026-09-15T04:23:08.762094Z 01O 1436 | while (*nastr) { 2026-09-15T04:23:08.762094Z 01O | ^ 2026-09-15T04:23:08.762095Z 01O /builds/Rdatatable/data.table/src/fread.c:1459:34: note: Assuming field 'logical01' is true 2026-09-15T04:23:08.762095Z 01O 1459 | disabled_parsers[CT_BOOL8_N] = !args.logical01; 2026-09-15T04:23:08.762096Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762096Z 01O /builds/Rdatatable/data.table/src/fread.c:1460:34: note: Assuming field 'logicalYN' is true 2026-09-15T04:23:08.762097Z 01O 1460 | disabled_parsers[CT_BOOL8_Y] = !args.logicalYN; 2026-09-15T04:23:08.762097Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762098Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:7: note: 'verbose' is false 2026-09-15T04:23:08.762099Z 01O 1464 | if (verbose) { 2026-09-15T04:23:08.762099Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762099Z 01O /builds/Rdatatable/data.table/src/fread.c:1464:3: note: Taking false branch 2026-09-15T04:23:08.762100Z 01O 1464 | if (verbose) { 2026-09-15T04:23:08.762100Z 01O | ^ 2026-09-15T04:23:08.762101Z 01O /builds/Rdatatable/data.table/src/fread.c:1483:26: note: Left side of '||' is true 2026-09-15T04:23:08.762101Z 01O 1483 | if (*NAstrings == NULL || // user sets na.strings=NULL 2026-09-15T04:23:08.762102Z 01O | ^ 2026-09-15T04:23:08.762102Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:7: note: Assuming 'quote' is not equal to field 'sep' 2026-09-15T04:23:08.762103Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-15T04:23:08.762104Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762104Z 01O /builds/Rdatatable/data.table/src/fread.c:1494:25: note: Left side of '&&' is false 2026-09-15T04:23:08.762105Z 01O 1494 | if (args.sep == quote && quote!='\0') STOP(_("sep == quote ('%c') is not allowed"), quote); 2026-09-15T04:23:08.762105Z 01O | ^ 2026-09-15T04:23:08.762135Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:7: note: Assuming 'dec' is not equal to field 'sep' 2026-09-15T04:23:08.762136Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.762137Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762137Z 01O /builds/Rdatatable/data.table/src/fread.c:1495:23: note: Left side of '&&' is false 2026-09-15T04:23:08.762138Z 01O 1495 | if (args.sep == dec && dec != '\0') STOP(_("sep == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.762138Z 01O | ^ 2026-09-15T04:23:08.762139Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:7: note: Assuming 'quote' is not equal to 'dec' 2026-09-15T04:23:08.762139Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.762140Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.762140Z 01O /builds/Rdatatable/data.table/src/fread.c:1496:20: note: Left side of '&&' is false 2026-09-15T04:23:08.762147Z 01O 1496 | if (quote == dec && dec != '\0') STOP(_("quote == dec ('%c') is not allowed"), dec); 2026-09-15T04:23:08.762148Z 01O | ^ 2026-09-15T04:23:08.762152Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:7: note: 'verbose' is false 2026-09-15T04:23:08.762152Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-15T04:23:08.762153Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762154Z 01O /builds/Rdatatable/data.table/src/fread.c:1513:3: note: Taking false branch 2026-09-15T04:23:08.762154Z 01O 1513 | if (verbose) DTPRINT(_("[02] Opening the file\n")); 2026-09-15T04:23:08.762155Z 01O | ^ 2026-09-15T04:23:08.762155Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:7: note: Assuming field 'input' is null 2026-09-15T04:23:08.762156Z 01O 1515 | if (args.input) { 2026-09-15T04:23:08.762156Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.762160Z 01O /builds/Rdatatable/data.table/src/fread.c:1515:3: note: Taking false branch 2026-09-15T04:23:08.762160Z 01O 1515 | if (args.input) { 2026-09-15T04:23:08.762161Z 01O | ^ 2026-09-15T04:23:08.762161Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:12: note: Assuming field 'filename' is null 2026-09-15T04:23:08.762162Z 01O 1522 | else if (args.filename) { 2026-09-15T04:23:08.762162Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.762163Z 01O /builds/Rdatatable/data.table/src/fread.c:1522:8: note: Taking false branch 2026-09-15T04:23:08.762163Z 01O 1522 | else if (args.filename) { 2026-09-15T04:23:08.762164Z 01O | ^ 2026-09-15T04:23:08.762167Z 01O /builds/Rdatatable/data.table/src/fread.c:1597:5: note: Loop condition is false. Exiting loop 2026-09-15T04:23:08.762167Z 01O 1597 | INTERNAL_STOP("neither `input` nor `filename` are given, nothing to read"); // # nocov 2026-09-15T04:23:08.762168Z 01O | ^ 2026-09-15T04:23:08.762171Z 01O /builds/Rdatatable/data.table/src/freadR.h:18:28: note: expanded from macro 'INTERNAL_STOP' 2026-09-15T04:23:08.762172Z 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-09-15T04:23:08.762173Z 01O | ^ 2026-09-15T04:23:08.762173Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:7: note: 'verbose' is false 2026-09-15T04:23:08.762174Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-09-15T04:23:08.762175Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762178Z 01O /builds/Rdatatable/data.table/src/fread.c:1614:3: note: Taking false branch 2026-09-15T04:23:08.762178Z 01O 1614 | if (verbose) DTPRINT(_("[03] Detect and skip BOM\n")); 2026-09-15T04:23:08.762179Z 01O | ^ 2026-09-15T04:23:08.762179Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:7: note: Assuming 'fileSize' is < 3 2026-09-15T04:23:08.762180Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-09-15T04:23:08.762180Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.762183Z 01O /builds/Rdatatable/data.table/src/fread.c:1615:21: note: Left side of '&&' is false 2026-09-15T04:23:08.762184Z 01O 1615 | if (fileSize >= 3 && memcmp(sof, "\xEF\xBB\xBF", 3) == 0) { 2026-09-15T04:23:08.762184Z 01O | ^ 2026-09-15T04:23:08.762185Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:12: note: 'fileSize' is < 4 2026-09-15T04:23:08.762185Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-09-15T04:23:08.762186Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.762189Z 01O /builds/Rdatatable/data.table/src/fread.c:1620:26: note: Left side of '&&' is false 2026-09-15T04:23:08.762190Z 01O 1620 | else if (fileSize >= 4 && memcmp(sof, "\x84\x31\x95\x33", 4) == 0) { 2026-09-15T04:23:08.762190Z 01O | ^ 2026-09-15T04:23:08.762191Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:12: note: Assuming 'fileSize' is < 2 2026-09-15T04:23:08.762196Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-09-15T04:23:08.762197Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.762200Z 01O /builds/Rdatatable/data.table/src/fread.c:1625:26: note: Left side of '&&' is false 2026-09-15T04:23:08.762200Z 01O 1625 | else if (fileSize >= 2 && sof[0] + sof[1] == '\xFE' + '\xFF') { // either 0xFE 0xFF or 0xFF 0xFE 2026-09-15T04:23:08.762201Z 01O | ^ 2026-09-15T04:23:08.762204Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:7: note: Assuming 'eof' is <= 'sof' 2026-09-15T04:23:08.762205Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-09-15T04:23:08.762205Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.762206Z 01O /builds/Rdatatable/data.table/src/fread.c:1628:17: note: Left side of '&&' is false 2026-09-15T04:23:08.762206Z 01O 1628 | if (eof > sof && (eof[-1] == '\x1A' || eof[-1] == '\0')) { 2026-09-15T04:23:08.762207Z 01O | ^ 2026-09-15T04:23:08.762211Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:7: note: Assuming 'eof' is > 'sof' 2026-09-15T04:23:08.762212Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-09-15T04:23:08.762212Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.762213Z 01O /builds/Rdatatable/data.table/src/fread.c:1634:3: note: Taking false branch 2026-09-15T04:23:08.762213Z 01O 1634 | if (eof <= sof) STOP(_("Input is empty or only contains BOM or terminal control characters")); 2026-09-15T04:23:08.762214Z 01O | ^ 2026-09-15T04:23:08.762214Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:7: note: 'verbose' is false 2026-09-15T04:23:08.762215Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-09-15T04:23:08.762216Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762216Z 01O /builds/Rdatatable/data.table/src/fread.c:1640:3: note: Taking false branch 2026-09-15T04:23:08.762217Z 01O 1640 | if (verbose) DTPRINT(_("[04] Arrange mmap to be \\0 terminated\n")); 2026-09-15T04:23:08.762217Z 01O | ^ 2026-09-15T04:23:08.762261Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:7: note: Assuming the condition is false 2026-09-15T04:23:08.762261Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-09-15T04:23:08.762262Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762265Z 01O /builds/Rdatatable/data.table/src/fread.c:1648:3: note: Taking false branch 2026-09-15T04:23:08.762266Z 01O 1648 | if ((size_t)(eof - sof) > 100000) sample_end = sof + 100000; // Sample first 100KB or whole file if smaller 2026-09-15T04:23:08.762266Z 01O | ^ 2026-09-15T04:23:08.762267Z 01O /builds/Rdatatable/data.table/src/fread.c:1649:3: note: Loop condition is false. Execution continues on line 1667 2026-09-15T04:23:08.762267Z 01O 1649 | while (ch < sample_end) { 2026-09-15T04:23:08.762268Z 01O | ^ 2026-09-15T04:23:08.762271Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:7: note: 'verbose' is false 2026-09-15T04:23:08.762272Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-09-15T04:23:08.762272Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762273Z 01O /builds/Rdatatable/data.table/src/fread.c:1668:3: note: Taking false branch 2026-09-15T04:23:08.762273Z 01O 1668 | if (verbose) DTPRINT(eol_one_r ? 2026-09-15T04:23:08.762274Z 01O | ^ 2026-09-15T04:23:08.762278Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:7: note: Assuming field 'filename' is null 2026-09-15T04:23:08.762279Z 01O 1674 | if (args.filename) { 2026-09-15T04:23:08.762279Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.762280Z 01O /builds/Rdatatable/data.table/src/fread.c:1674:3: note: Taking false branch 2026-09-15T04:23:08.762280Z 01O 1674 | if (args.filename) { 2026-09-15T04:23:08.762281Z 01O | ^ 2026-09-15T04:23:08.762290Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:7: note: 'verbose' is false 2026-09-15T04:23:08.762291Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-09-15T04:23:08.762291Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762296Z 01O /builds/Rdatatable/data.table/src/fread.c:1748:3: note: Taking false branch 2026-09-15T04:23:08.762297Z 01O 1748 | if (verbose) DTPRINT(_("[05] Skipping initial rows if needed\n")); 2026-09-15T04:23:08.762298Z 01O | ^ 2026-09-15T04:23:08.762298Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:7: note: Assuming field 'skipString' is null 2026-09-15T04:23:08.762299Z 01O 1752 | if (args.skipString) { 2026-09-15T04:23:08.762299Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762300Z 01O /builds/Rdatatable/data.table/src/fread.c:1752:3: note: Taking false branch 2026-09-15T04:23:08.762300Z 01O 1752 | if (args.skipString) { 2026-09-15T04:23:08.762301Z 01O | ^ 2026-09-15T04:23:08.762301Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:12: note: Assuming field 'skipNrow' is < 0 2026-09-15T04:23:08.762302Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-09-15T04:23:08.762302Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762305Z 01O /builds/Rdatatable/data.table/src/fread.c:1764:8: note: Taking false branch 2026-09-15T04:23:08.762305Z 01O 1764 | else if (args.skipNrow >= 0) { 2026-09-15T04:23:08.762306Z 01O | ^ 2026-09-15T04:23:08.762308Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:10: note: Assuming 'ch' is >= 'eof' 2026-09-15T04:23:08.762309Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-09-15T04:23:08.762310Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.762313Z 01O /builds/Rdatatable/data.table/src/fread.c:1785:19: note: Left side of '&&' is false 2026-09-15T04:23:08.762314Z 01O 1785 | while (ch < eof && (isspace(*ch) || *ch == '\0')) { // isspace matches ' ', \t, \n and \r; \0 before eof should be skipped too 2026-09-15T04:23:08.762314Z 01O | ^ 2026-09-15T04:23:08.762315Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:7: note: Assuming 'ch' is < 'eof' 2026-09-15T04:23:08.762315Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-09-15T04:23:08.762316Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.762319Z 01O /builds/Rdatatable/data.table/src/fread.c:1788:3: note: Taking false branch 2026-09-15T04:23:08.762320Z 01O 1788 | if (ch >= eof) STOP(_("Input is either empty, fully whitespace, or skip has been set after the last non-whitespace.")); 2026-09-15T04:23:08.762320Z 01O | ^ 2026-09-15T04:23:08.762321Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:7: note: 'verbose' is false 2026-09-15T04:23:08.762321Z 01O 1789 | if (verbose) { 2026-09-15T04:23:08.762322Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762322Z 01O /builds/Rdatatable/data.table/src/fread.c:1789:3: note: Taking false branch 2026-09-15T04:23:08.762323Z 01O 1789 | if (verbose) { 2026-09-15T04:23:08.762323Z 01O | ^ 2026-09-15T04:23:08.762327Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: Assuming 'nrowLimit' is not equal to 0 2026-09-15T04:23:08.762328Z 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-09-15T04:23:08.762329Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.762329Z 01O /builds/Rdatatable/data.table/src/fread.c:1807:19: note: '?' condition is false 2026-09-15T04:23:08.762354Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:7: note: Assuming 'fill' is not equal to INT_MAX 2026-09-15T04:23:08.762354Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-09-15T04:23:08.762355Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762367Z 01O /builds/Rdatatable/data.table/src/fread.c:1808:3: note: Taking false branch 2026-09-15T04:23:08.762368Z 01O 1808 | if (fill == INT_MAX) { // if user provides fill=INT_MAX then full file should be sampled #2727 2026-09-15T04:23:08.762368Z 01O | ^ 2026-09-15T04:23:08.762371Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:9: note: 'verbose' is false 2026-09-15T04:23:08.762371Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-09-15T04:23:08.762372Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762375Z 01O /builds/Rdatatable/data.table/src/fread.c:1814:5: note: Taking false branch 2026-09-15T04:23:08.762375Z 01O 1814 | if (verbose) DTPRINT(_("[06] Detect separator, quoting rule, and ncolumns\n")); 2026-09-15T04:23:08.762376Z 01O | ^ 2026-09-15T04:23:08.762379Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:9: note: Assuming the condition is false 2026-09-15T04:23:08.762380Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-09-15T04:23:08.762380Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762381Z 01O /builds/Rdatatable/data.table/src/fread.c:1816:5: note: Taking false branch 2026-09-15T04:23:08.762382Z 01O 1816 | if (args.sep == '\n') { // '\n' because '\0' is taken already to mean 'auto' 2026-09-15T04:23:08.762382Z 01O | ^ 2026-09-15T04:23:08.762386Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: Assuming the condition is false 2026-09-15T04:23:08.762387Z 01O 1834 | char *seps = dec != ',' ? seps__ : seps__ + 1; // prevent guessing sep=',' when dec=',' #4483 2026-09-15T04:23:08.762388Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.762388Z 01O /builds/Rdatatable/data.table/src/fread.c:1834:20: note: '?' condition is false 2026-09-15T04:23:08.762389Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:11: note: Assuming the condition is true 2026-09-15T04:23:08.762389Z 01O 1836 | if (args.sep == '\0') { 2026-09-15T04:23:08.762390Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762393Z 01O /builds/Rdatatable/data.table/src/fread.c:1836:7: note: Taking true branch 2026-09-15T04:23:08.762393Z 01O 1836 | if (args.sep == '\0') { 2026-09-15T04:23:08.762394Z 01O | ^ 2026-09-15T04:23:08.762394Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:13: note: 'verbose' is false 2026-09-15T04:23:08.762395Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-09-15T04:23:08.762395Z 01O | ^~~~~~~ 2026-09-15T04:23:08.762398Z 01O /builds/Rdatatable/data.table/src/fread.c:1837:9: note: Taking false branch 2026-09-15T04:23:08.762398Z 01O 1837 | if (verbose) DTPRINT(_(" Detecting sep automatically ...\n")); 2026-09-15T04:23:08.762399Z 01O | ^ 2026-09-15T04:23:08.762403Z 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-09-15T04:23:08.762404Z 01O 1848 | enum quote_rule_t topQuoteRule = -1; // which quote rule that was 2026-09-15T04:23:08.762404Z 01O | ^~ 2026-09-15T04:23:08.762405Z 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-09-15T04:23:08.762406Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-09-15T04:23:08.762406Z 01O | ^~~~~~~~~~~~~ ~~ 2026-09-15T04:23:08.762424Z 01O /builds/Rdatatable/data.table/src/fread.c:1886:25: note: Value stored to 'prevLineStart' during its initialization is never read 2026-09-15T04:23:08.762425Z 01O 1886 | const char *prevLineStart = ch, *lineStart = ch; 2026-09-15T04:23:08.762426Z 01O | ^~~~~~~~~~~~~ ~~ 2026-09-15T04:23:08.762426Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.762433Z 01O 2278 | estnrow = 1; 2026-09-15T04:23:08.762433Z 01O | ^ ~ 2026-09-15T04:23:08.762434Z 01O /builds/Rdatatable/data.table/src/fread.c:2278:3: note: Value stored to 'estnrow' is never read 2026-09-15T04:23:08.762434Z 01O 2278 | estnrow = 1; 2026-09-15T04:23:08.762435Z 01O | ^ ~ 2026-09-15T04:23:08.762490Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: warning: Value stored to 'allocnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.762491Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-09-15T04:23:08.762492Z 01O | ^ ~ 2026-09-15T04:23:08.762492Z 01O /builds/Rdatatable/data.table/src/fread.c:2279:3: note: Value stored to 'allocnrow' is never read 2026-09-15T04:23:08.762493Z 01O 2279 | allocnrow = 0; // Number of rows in the allocated DataTable 2026-09-15T04:23:08.762494Z 01O | ^ ~ 2026-09-15T04:23:08.762494Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.762495Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-09-15T04:23:08.762495Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762496Z 01O /builds/Rdatatable/data.table/src/fread.c:2285:5: note: Value stored to 'estnrow' is never read 2026-09-15T04:23:08.762497Z 01O 2285 | estnrow = allocnrow = sampleLines; 2026-09-15T04:23:08.762497Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762498Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: warning: Value stored to 'estnrow' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.762498Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-09-15T04:23:08.762499Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762499Z 01O /builds/Rdatatable/data.table/src/fread.c:2309:5: note: Value stored to 'estnrow' is never read 2026-09-15T04:23:08.762500Z 01O 2309 | estnrow = allocnrow = nrowLimit; 2026-09-15T04:23:08.762500Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762501Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: warning: Value stored to 'nth' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.762502Z 01O 2487 | nth = imin(nJumps, nth); 2026-09-15T04:23:08.762502Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762503Z 01O /builds/Rdatatable/data.table/src/fread.c:2487:3: note: Value stored to 'nth' is never read 2026-09-15T04:23:08.762503Z 01O 2487 | nth = imin(nJumps, nth); 2026-09-15T04:23:08.762504Z 01O | ^ ~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762524Z 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-09-15T04:23:08.762525Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-09-15T04:23:08.762526Z 01O | ^~~~~~ 2026-09-15T04:23:08.762526Z 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-09-15T04:23:08.762527Z 01O 2747 | strcpy(typeBumpMsg + typeBumpMsgSize, buffer); 2026-09-15T04:23:08.762528Z 01O | ^~~~~~ 2026-09-15T04:23:08.762530Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: warning: Value stored to 'tLast' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.762531Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-09-15T04:23:08.762539Z 01O | ^ ~~~ 2026-09-15T04:23:08.762540Z 01O /builds/Rdatatable/data.table/src/fread.c:2781:73: note: Value stored to 'tLast' is never read 2026-09-15T04:23:08.762540Z 01O 2781 | if (verbose) { double now = wallclock(); thRead += now - tLast; tLast = now; } 2026-09-15T04:23:08.762541Z 01O | ^ ~~~ 2026-09-15T04:23:08.762545Z 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-09-15T04:23:08.762546Z 01O 789 | if (state->buffer[i] == '\n') { 2026-09-15T04:23:08.762546Z 01O | ^ ~~~~~~ 2026-09-15T04:23:08.762547Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-09-15T04:23:08.762547Z 01O 768 | if (state->outfile == NULL) { 2026-09-15T04:23:08.762548Z 01O | ^ 2026-09-15T04:23:08.762548Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-09-15T04:23:08.762548Z 01O 768 | if (state->outfile == NULL) { 2026-09-15T04:23:08.762549Z 01O | ^ 2026-09-15T04:23:08.762549Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-09-15T04:23:08.762550Z 01O 772 | state->buffer = malloc(chunk_size); 2026-09-15T04:23:08.762550Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.762550Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-09-15T04:23:08.762551Z 01O 773 | if (!state->buffer) { 2026-09-15T04:23:08.762551Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.762552Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-09-15T04:23:08.762552Z 01O 773 | if (!state->buffer) { 2026-09-15T04:23:08.762552Z 01O | ^ 2026-09-15T04:23:08.764574Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is > 0 2026-09-15T04:23:08.764578Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-09-15T04:23:08.764578Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764579Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.764580Z 01O 780 | while (true) { 2026-09-15T04:23:08.764580Z 01O | ^ 2026-09-15T04:23:08.764580Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-09-15T04:23:08.764581Z 01O 782 | if (nread == 0) { 2026-09-15T04:23:08.764581Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764582Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-09-15T04:23:08.764582Z 01O 782 | if (nread == 0) { 2026-09-15T04:23:08.764583Z 01O | ^ 2026-09-15T04:23:08.764583Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is true 2026-09-15T04:23:08.764584Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764584Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764584Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: Left side of '&&' is true 2026-09-15T04:23:08.764585Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:23: note: 'nrows_seen' is < field 'row_limit' 2026-09-15T04:23:08.764586Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764586Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764587Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:5: note: Taking true branch 2026-09-15T04:23:08.764587Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764588Z 01O | ^ 2026-09-15T04:23:08.764588Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:26: note: 'i' is < 'nread' 2026-09-15T04:23:08.764603Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-09-15T04:23:08.764604Z 01O | ^ 2026-09-15T04:23:08.764604Z 01O /builds/Rdatatable/data.table/src/freadR.c:788:7: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.764605Z 01O 788 | for (size_t i = 0; i < nread; i++) { 2026-09-15T04:23:08.764606Z 01O | ^ 2026-09-15T04:23:08.764606Z 01O /builds/Rdatatable/data.table/src/freadR.c:789:13: note: Array access (via field 'buffer') results in a null pointer dereference 2026-09-15T04:23:08.764607Z 01O 789 | if (state->buffer[i] == '\n') { 2026-09-15T04:23:08.764607Z 01O | ^ ~~~~~~ 2026-09-15T04:23:08.764608Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: warning: Null pointer passed to 4th parameter expecting 'nonnull' [clang-analyzer-core.NonNullParamChecker] 2026-09-15T04:23:08.764608Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-15T04:23:08.764609Z 01O | ^ ~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764610Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming pointer value is null 2026-09-15T04:23:08.764610Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-09-15T04:23:08.764611Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764611Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:20: note: Assuming that 'fopen' fails 2026-09-15T04:23:08.764612Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-09-15T04:23:08.764612Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764613Z 01O /builds/Rdatatable/data.table/src/freadR.c:767:3: note: Value assigned to field 'outfile' 2026-09-15T04:23:08.764613Z 01O 767 | state->outfile = fopen(state->filepath, "wb"); 2026-09-15T04:23:08.764614Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764614Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is equal to NULL 2026-09-15T04:23:08.764615Z 01O 768 | if (state->outfile == NULL) { 2026-09-15T04:23:08.764615Z 01O | ^ 2026-09-15T04:23:08.764615Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking true branch 2026-09-15T04:23:08.764616Z 01O 768 | if (state->outfile == NULL) { 2026-09-15T04:23:08.764616Z 01O | ^ 2026-09-15T04:23:08.764617Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is non-null 2026-09-15T04:23:08.764617Z 01O 773 | if (!state->buffer) { 2026-09-15T04:23:08.764618Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.764618Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking false branch 2026-09-15T04:23:08.764619Z 01O 773 | if (!state->buffer) { 2026-09-15T04:23:08.764619Z 01O | ^ 2026-09-15T04:23:08.764619Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-09-15T04:23:08.764620Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-09-15T04:23:08.764620Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764621Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.764621Z 01O 780 | while (true) { 2026-09-15T04:23:08.764622Z 01O | ^ 2026-09-15T04:23:08.764622Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-09-15T04:23:08.764623Z 01O 782 | if (nread == 0) { 2026-09-15T04:23:08.764623Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764623Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-09-15T04:23:08.764624Z 01O 782 | if (nread == 0) { 2026-09-15T04:23:08.764624Z 01O | ^ 2026-09-15T04:23:08.764625Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-09-15T04:23:08.764632Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764632Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764633Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-09-15T04:23:08.764633Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764634Z 01O | ^ 2026-09-15T04:23:08.764634Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: Null pointer passed to 4th parameter expecting 'nonnull' 2026-09-15T04:23:08.764635Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-15T04:23:08.764636Z 01O | ^ ~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764636Z 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-09-15T04:23:08.764637Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-15T04:23:08.764637Z 01O | ^ ~~~~~~~~~~~~~ 2026-09-15T04:23:08.764638Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:14: note: Field 'outfile' is not equal to NULL 2026-09-15T04:23:08.764639Z 01O 768 | if (state->outfile == NULL) { 2026-09-15T04:23:08.764639Z 01O | ^ 2026-09-15T04:23:08.764639Z 01O /builds/Rdatatable/data.table/src/freadR.c:768:3: note: Taking false branch 2026-09-15T04:23:08.764640Z 01O 768 | if (state->outfile == NULL) { 2026-09-15T04:23:08.764640Z 01O | ^ 2026-09-15T04:23:08.764641Z 01O /builds/Rdatatable/data.table/src/freadR.c:772:3: note: Value assigned to field 'buffer' 2026-09-15T04:23:08.764641Z 01O 772 | state->buffer = malloc(chunk_size); 2026-09-15T04:23:08.764642Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764642Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:7: note: Assuming field 'buffer' is null 2026-09-15T04:23:08.764643Z 01O 773 | if (!state->buffer) { 2026-09-15T04:23:08.764643Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.764643Z 01O /builds/Rdatatable/data.table/src/freadR.c:773:3: note: Taking true branch 2026-09-15T04:23:08.764644Z 01O 773 | if (!state->buffer) { 2026-09-15T04:23:08.764644Z 01O | ^ 2026-09-15T04:23:08.764645Z 01O /builds/Rdatatable/data.table/src/freadR.c:776:27: note: Assuming field 'row_limit' is <= 0 2026-09-15T04:23:08.764645Z 01O 776 | const bool limit_rows = state->row_limit > 0; 2026-09-15T04:23:08.764646Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764646Z 01O /builds/Rdatatable/data.table/src/freadR.c:780:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.764647Z 01O 780 | while (true) { 2026-09-15T04:23:08.764647Z 01O | ^ 2026-09-15T04:23:08.764647Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:9: note: Assuming 'nread' is not equal to 0 2026-09-15T04:23:08.764648Z 01O 782 | if (nread == 0) { 2026-09-15T04:23:08.764648Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764649Z 01O /builds/Rdatatable/data.table/src/freadR.c:782:5: note: Taking false branch 2026-09-15T04:23:08.764649Z 01O 782 | if (nread == 0) { 2026-09-15T04:23:08.764650Z 01O | ^ 2026-09-15T04:23:08.764650Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:9: note: 'limit_rows' is false 2026-09-15T04:23:08.764650Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764651Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764651Z 01O /builds/Rdatatable/data.table/src/freadR.c:787:20: note: Left side of '&&' is false 2026-09-15T04:23:08.764652Z 01O 787 | if (limit_rows && nrows_seen < state->row_limit) { 2026-09-15T04:23:08.764652Z 01O | ^ 2026-09-15T04:23:08.764653Z 01O /builds/Rdatatable/data.table/src/freadR.c:799:23: note: The 1st argument to 'fwrite' is NULL but should not be NULL 2026-09-15T04:23:08.764658Z 01O 799 | size_t nwritten = fwrite(state->buffer, 1, bytes_to_write, state->outfile); 2026-09-15T04:23:08.764659Z 01O | ^ ~~~~~~~~~~~~~ 2026-09-15T04:23:08.764659Z 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-09-15T04:23:08.764660Z 01O 1364 | next[p] = tail; 2026-09-15T04:23:08.764661Z 01O | ^ 2026-09-15T04:23:08.764661Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.764661Z 01O 1506 | if (verbose) 2026-09-15T04:23:08.764662Z 01O | ^~~~~~~ 2026-09-15T04:23:08.764662Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-09-15T04:23:08.764663Z 01O 1506 | if (verbose) 2026-09-15T04:23:08.764663Z 01O | ^ 2026-09-15T04:23:08.764663Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-09-15T04:23:08.764664Z 01O 1508 | if (k == 0) { 2026-09-15T04:23:08.764664Z 01O | ^~~~~~ 2026-09-15T04:23:08.764665Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-09-15T04:23:08.764665Z 01O 1508 | if (k == 0) { 2026-09-15T04:23:08.764666Z 01O | ^ 2026-09-15T04:23:08.764666Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-09-15T04:23:08.764667Z 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-09-15T04:23:08.764667Z 01O | ^~~~~~ 2026-09-15T04:23:08.764668Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-09-15T04:23:08.764668Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-09-15T04:23:08.764669Z 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-09-15T04:23:08.764669Z 01O | ^~~~~~ 2026-09-15T04:23:08.764670Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-09-15T04:23:08.764670Z 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-09-15T04:23:08.764671Z 01O | ^ 2026-09-15T04:23:08.764671Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-09-15T04:23:08.764672Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.764672Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764673Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-09-15T04:23:08.764673Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.764673Z 01O | ^ 2026-09-15T04:23:08.764674Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-09-15T04:23:08.764674Z 01O 1567 | if (nx_mod_k) { 2026-09-15T04:23:08.764675Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764675Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-09-15T04:23:08.764676Z 01O 1567 | if (nx_mod_k) { 2026-09-15T04:23:08.764676Z 01O | ^ 2026-09-15T04:23:08.764676Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-09-15T04:23:08.764677Z 01O 1574 | bool even = !(k % 2); 2026-09-15T04:23:08.764677Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764678Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-09-15T04:23:08.764678Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-09-15T04:23:08.764678Z 01O | ^~~~ 2026-09-15T04:23:08.764679Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-09-15T04:23:08.764679Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-09-15T04:23:08.764680Z 01O 1579 | if (!o) { // # nocov start 2026-09-15T04:23:08.764685Z 01O | ^~ 2026-09-15T04:23:08.764685Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-09-15T04:23:08.764686Z 01O 1579 | if (!o) { // # nocov start 2026-09-15T04:23:08.764686Z 01O | ^ 2026-09-15T04:23:08.764687Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-09-15T04:23:08.764687Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-15T04:23:08.764688Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764688Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-09-15T04:23:08.764689Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-15T04:23:08.764689Z 01O | ^ 2026-09-15T04:23:08.764690Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-09-15T04:23:08.764690Z 01O 1588 | if (!m) { // # nocov start 2026-09-15T04:23:08.764691Z 01O | ^~ 2026-09-15T04:23:08.764691Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-09-15T04:23:08.764692Z 01O 1588 | if (!m) { // # nocov start 2026-09-15T04:23:08.764692Z 01O | ^ 2026-09-15T04:23:08.764692Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-09-15T04:23:08.764693Z 01O 1594 | if (!n) { // # nocov start 2026-09-15T04:23:08.764693Z 01O | ^~ 2026-09-15T04:23:08.764693Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-09-15T04:23:08.764694Z 01O 1594 | if (!n) { // # nocov start 2026-09-15T04:23:08.764694Z 01O | ^ 2026-09-15T04:23:08.764695Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-09-15T04:23:08.764695Z 01O 1600 | if (!s) { // # nocov start 2026-09-15T04:23:08.764696Z 01O | ^~ 2026-09-15T04:23:08.764696Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-09-15T04:23:08.764697Z 01O 1600 | if (!s) { // # nocov start 2026-09-15T04:23:08.764697Z 01O | ^ 2026-09-15T04:23:08.764697Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-09-15T04:23:08.764698Z 01O 1606 | if (!prev) { // # nocov start 2026-09-15T04:23:08.764698Z 01O | ^~~~~ 2026-09-15T04:23:08.764699Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-09-15T04:23:08.764699Z 01O 1606 | if (!prev) { // # nocov start 2026-09-15T04:23:08.764700Z 01O | ^ 2026-09-15T04:23:08.764700Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-09-15T04:23:08.764700Z 01O 1612 | if (!next) { // # nocov start 2026-09-15T04:23:08.764701Z 01O | ^~~~~ 2026-09-15T04:23:08.764701Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-09-15T04:23:08.764702Z 01O 1612 | if (!next) { // # nocov start 2026-09-15T04:23:08.764702Z 01O | ^ 2026-09-15T04:23:08.764702Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-09-15T04:23:08.764703Z 01O 1618 | if (verbose) 2026-09-15T04:23:08.764703Z 01O | ^~~~~~~ 2026-09-15T04:23:08.764704Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-09-15T04:23:08.764704Z 01O 1618 | if (verbose) 2026-09-15T04:23:08.764704Z 01O | ^ 2026-09-15T04:23:08.764705Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-09-15T04:23:08.764705Z 01O 1621 | for (int j=0; j= 'k' 2026-09-15T04:23:08.764722Z 01O 1358 | for (int i=0; i=0) { 2026-09-15T04:23:08.764748Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764748Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-09-15T04:23:08.764749Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.764749Z 01O | ^ 2026-09-15T04:23:08.764749Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-09-15T04:23:08.764750Z 01O 1567 | if (nx_mod_k) { 2026-09-15T04:23:08.764750Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764750Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-09-15T04:23:08.764751Z 01O 1567 | if (nx_mod_k) { 2026-09-15T04:23:08.764751Z 01O | ^ 2026-09-15T04:23:08.764752Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is false 2026-09-15T04:23:08.764752Z 01O 1574 | bool even = !(k % 2); 2026-09-15T04:23:08.764753Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764753Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is false 2026-09-15T04:23:08.764754Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-09-15T04:23:08.764754Z 01O | ^~~~ 2026-09-15T04:23:08.764754Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is false 2026-09-15T04:23:08.764755Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-09-15T04:23:08.764755Z 01O 1579 | if (!o) { // # nocov start 2026-09-15T04:23:08.764756Z 01O | ^~ 2026-09-15T04:23:08.764756Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-09-15T04:23:08.764757Z 01O 1579 | if (!o) { // # nocov start 2026-09-15T04:23:08.764757Z 01O | ^ 2026-09-15T04:23:08.764757Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-09-15T04:23:08.764758Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-15T04:23:08.764758Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764759Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-09-15T04:23:08.764759Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-15T04:23:08.764760Z 01O | ^ 2026-09-15T04:23:08.764760Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-09-15T04:23:08.764761Z 01O 1588 | if (!m) { // # nocov start 2026-09-15T04:23:08.764761Z 01O | ^~ 2026-09-15T04:23:08.764761Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-09-15T04:23:08.764762Z 01O 1588 | if (!m) { // # nocov start 2026-09-15T04:23:08.764762Z 01O | ^ 2026-09-15T04:23:08.764763Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-09-15T04:23:08.764763Z 01O 1594 | if (!n) { // # nocov start 2026-09-15T04:23:08.764764Z 01O | ^~ 2026-09-15T04:23:08.764764Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-09-15T04:23:08.764765Z 01O 1594 | if (!n) { // # nocov start 2026-09-15T04:23:08.764765Z 01O | ^ 2026-09-15T04:23:08.764765Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-09-15T04:23:08.764770Z 01O 1600 | if (!s) { // # nocov start 2026-09-15T04:23:08.764771Z 01O | ^~ 2026-09-15T04:23:08.764771Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-09-15T04:23:08.764772Z 01O 1600 | if (!s) { // # nocov start 2026-09-15T04:23:08.764772Z 01O | ^ 2026-09-15T04:23:08.764772Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-09-15T04:23:08.764773Z 01O 1606 | if (!prev) { // # nocov start 2026-09-15T04:23:08.764773Z 01O | ^~~~~ 2026-09-15T04:23:08.764774Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-09-15T04:23:08.764774Z 01O 1606 | if (!prev) { // # nocov start 2026-09-15T04:23:08.764775Z 01O | ^ 2026-09-15T04:23:08.764775Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-09-15T04:23:08.764776Z 01O 1612 | if (!next) { // # nocov start 2026-09-15T04:23:08.764776Z 01O | ^~~~~ 2026-09-15T04:23:08.764776Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-09-15T04:23:08.764777Z 01O 1612 | if (!next) { // # nocov start 2026-09-15T04:23:08.764777Z 01O | ^ 2026-09-15T04:23:08.764778Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is true 2026-09-15T04:23:08.764778Z 01O 1618 | if (verbose) 2026-09-15T04:23:08.764779Z 01O | ^~~~~~~ 2026-09-15T04:23:08.764779Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking true branch 2026-09-15T04:23:08.764779Z 01O 1618 | if (verbose) 2026-09-15T04:23:08.764780Z 01O | ^ 2026-09-15T04:23:08.764780Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-09-15T04:23:08.764781Z 01O 1621 | for (int j=0; j= 'b' 2026-09-15T04:23:08.764803Z 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-09-15T04:23:08.764810Z 01O | ^~~ 2026-09-15T04:23:08.764810Z 01O /builds/Rdatatable/data.table/src/froll.c:1630:41: note: '?' condition is false 2026-09-15T04:23:08.764811Z 01O /builds/Rdatatable/data.table/src/froll.c:1633:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.764811Z 01O 1633 | for (int i=0; i= 'm' 2026-09-15T04:23:08.764864Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-09-15T04:23:08.764864Z 01O | ^~~~~ 2026-09-15T04:23:08.764865Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:7: note: Returning from 'small' 2026-09-15T04:23:08.764865Z 01O 1393 | if (SMALL(i)) { 2026-09-15T04:23:08.764866Z 01O | ^ 2026-09-15T04:23:08.764866Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-09-15T04:23:08.764866Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-09-15T04:23:08.764867Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.764867Z 01O /builds/Rdatatable/data.table/src/froll.c:1393:3: note: Taking false branch 2026-09-15T04:23:08.764868Z 01O 1393 | if (SMALL(i)) { 2026-09-15T04:23:08.764868Z 01O | ^ 2026-09-15T04:23:08.764869Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:9: note: Assuming the condition is false 2026-09-15T04:23:08.764869Z 01O 1396 | if (m[0] == i) { 2026-09-15T04:23:08.764870Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.764870Z 01O /builds/Rdatatable/data.table/src/froll.c:1396:5: note: Taking false branch 2026-09-15T04:23:08.764870Z 01O 1396 | if (m[0] == i) { 2026-09-15T04:23:08.764871Z 01O | ^ 2026-09-15T04:23:08.764871Z 01O /builds/Rdatatable/data.table/src/froll.c:1399:5: note: Taking true branch 2026-09-15T04:23:08.764876Z 01O 1399 | if (s[0] > 0) { 2026-09-15T04:23:08.764877Z 01O | ^ 2026-09-15T04:23:08.764877Z 01O /builds/Rdatatable/data.table/src/froll.c:1400:14: note: Access of the heap area at negative byte offset 2026-09-15T04:23:08.764878Z 01O 1400 | m[0] = prev[m[0]]; 2026-09-15T04:23:08.764878Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.764879Z 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-09-15T04:23:08.764880Z 01O 1471 | m[0] = prev[m[0]]; 2026-09-15T04:23:08.764880Z 01O | ^ 2026-09-15T04:23:08.764880Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.764881Z 01O 1506 | if (verbose) 2026-09-15T04:23:08.764881Z 01O | ^~~~~~~ 2026-09-15T04:23:08.764882Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-09-15T04:23:08.764882Z 01O 1506 | if (verbose) 2026-09-15T04:23:08.764883Z 01O | ^ 2026-09-15T04:23:08.764883Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-09-15T04:23:08.764883Z 01O 1508 | if (k == 0) { 2026-09-15T04:23:08.764884Z 01O | ^~~~~~ 2026-09-15T04:23:08.764884Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-09-15T04:23:08.764885Z 01O 1508 | if (k == 0) { 2026-09-15T04:23:08.764885Z 01O | ^ 2026-09-15T04:23:08.764885Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-09-15T04:23:08.764886Z 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-09-15T04:23:08.764887Z 01O | ^~~~~~ 2026-09-15T04:23:08.764887Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-09-15T04:23:08.764887Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-09-15T04:23:08.764888Z 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-09-15T04:23:08.764889Z 01O | ^~~~~~ 2026-09-15T04:23:08.764889Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-09-15T04:23:08.764890Z 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-09-15T04:23:08.764890Z 01O | ^ 2026-09-15T04:23:08.764891Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is < 0 2026-09-15T04:23:08.764891Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.764892Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764892Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking false branch 2026-09-15T04:23:08.764892Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.764893Z 01O | ^ 2026-09-15T04:23:08.764893Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:7: note: Assuming 'nx_mod_k' is 0 2026-09-15T04:23:08.764894Z 01O 1567 | if (nx_mod_k) { 2026-09-15T04:23:08.764894Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764894Z 01O /builds/Rdatatable/data.table/src/froll.c:1567:3: note: Taking false branch 2026-09-15T04:23:08.764895Z 01O 1567 | if (nx_mod_k) { 2026-09-15T04:23:08.764895Z 01O | ^ 2026-09-15T04:23:08.764896Z 01O /builds/Rdatatable/data.table/src/froll.c:1574:15: note: Assuming the condition is true 2026-09-15T04:23:08.764896Z 01O 1574 | bool even = !(k % 2); 2026-09-15T04:23:08.764897Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764897Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: 'even' is true 2026-09-15T04:23:08.764897Z 01O 1575 | int h = even ? k/2-1 : (k-1)/2; 2026-09-15T04:23:08.764898Z 01O | ^~~~ 2026-09-15T04:23:08.764898Z 01O /builds/Rdatatable/data.table/src/froll.c:1575:11: note: '?' condition is true 2026-09-15T04:23:08.764904Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:7: note: Assuming 'o' is non-null 2026-09-15T04:23:08.764904Z 01O 1579 | if (!o) { // # nocov start 2026-09-15T04:23:08.764905Z 01O | ^~ 2026-09-15T04:23:08.764905Z 01O /builds/Rdatatable/data.table/src/froll.c:1579:3: note: Taking false branch 2026-09-15T04:23:08.764905Z 01O 1579 | if (!o) { // # nocov start 2026-09-15T04:23:08.764906Z 01O | ^ 2026-09-15T04:23:08.764906Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:7: note: 'nx_mod_k' is 0 2026-09-15T04:23:08.764907Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-15T04:23:08.764907Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.764908Z 01O /builds/Rdatatable/data.table/src/froll.c:1583:3: note: Taking false branch 2026-09-15T04:23:08.764908Z 01O 1583 | if (nx_mod_k) { // initialize padded elements, otherwise setlinks could crash 2026-09-15T04:23:08.764909Z 01O | ^ 2026-09-15T04:23:08.764909Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:7: note: Assuming 'm' is non-null 2026-09-15T04:23:08.764910Z 01O 1588 | if (!m) { // # nocov start 2026-09-15T04:23:08.764910Z 01O | ^~ 2026-09-15T04:23:08.764910Z 01O /builds/Rdatatable/data.table/src/froll.c:1588:3: note: Taking false branch 2026-09-15T04:23:08.764911Z 01O 1588 | if (!m) { // # nocov start 2026-09-15T04:23:08.764911Z 01O | ^ 2026-09-15T04:23:08.764912Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:7: note: Assuming 'n' is non-null 2026-09-15T04:23:08.764912Z 01O 1594 | if (!n) { // # nocov start 2026-09-15T04:23:08.764913Z 01O | ^~ 2026-09-15T04:23:08.764913Z 01O /builds/Rdatatable/data.table/src/froll.c:1594:3: note: Taking false branch 2026-09-15T04:23:08.764913Z 01O 1594 | if (!n) { // # nocov start 2026-09-15T04:23:08.764914Z 01O | ^ 2026-09-15T04:23:08.764914Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:7: note: Assuming 's' is non-null 2026-09-15T04:23:08.764915Z 01O 1600 | if (!s) { // # nocov start 2026-09-15T04:23:08.764915Z 01O | ^~ 2026-09-15T04:23:08.764915Z 01O /builds/Rdatatable/data.table/src/froll.c:1600:3: note: Taking false branch 2026-09-15T04:23:08.764916Z 01O 1600 | if (!s) { // # nocov start 2026-09-15T04:23:08.764916Z 01O | ^ 2026-09-15T04:23:08.764917Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:7: note: Assuming 'prev' is non-null 2026-09-15T04:23:08.764917Z 01O 1606 | if (!prev) { // # nocov start 2026-09-15T04:23:08.764918Z 01O | ^~~~~ 2026-09-15T04:23:08.764918Z 01O /builds/Rdatatable/data.table/src/froll.c:1606:3: note: Taking false branch 2026-09-15T04:23:08.764918Z 01O 1606 | if (!prev) { // # nocov start 2026-09-15T04:23:08.764919Z 01O | ^ 2026-09-15T04:23:08.764919Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:7: note: Assuming 'next' is non-null 2026-09-15T04:23:08.764920Z 01O 1612 | if (!next) { // # nocov start 2026-09-15T04:23:08.764920Z 01O | ^~~~~ 2026-09-15T04:23:08.764921Z 01O /builds/Rdatatable/data.table/src/froll.c:1612:3: note: Taking false branch 2026-09-15T04:23:08.764921Z 01O 1612 | if (!next) { // # nocov start 2026-09-15T04:23:08.764921Z 01O | ^ 2026-09-15T04:23:08.764922Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:7: note: 'verbose' is false 2026-09-15T04:23:08.764922Z 01O 1618 | if (verbose) 2026-09-15T04:23:08.764923Z 01O | ^~~~~~~ 2026-09-15T04:23:08.764923Z 01O /builds/Rdatatable/data.table/src/froll.c:1618:3: note: Taking false branch 2026-09-15T04:23:08.764924Z 01O 1618 | if (verbose) 2026-09-15T04:23:08.764924Z 01O | ^ 2026-09-15T04:23:08.764924Z 01O /builds/Rdatatable/data.table/src/froll.c:1621:17: note: Assuming 'j' is < 'b' 2026-09-15T04:23:08.764925Z 01O 1621 | for (int j=0; j= 'b' 2026-09-15T04:23:08.765058Z 01O 1621 | for (int j=0; j= 'm' 2026-09-15T04:23:08.765176Z 01O 1386 | return (m == tail) || (x[i] < x[m]) || ((x[i] == x[m]) && (i < m)); 2026-09-15T04:23:08.765177Z 01O | ^~~~~ 2026-09-15T04:23:08.765178Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:7: note: Returning from 'small' 2026-09-15T04:23:08.765190Z 01O 1460 | if (SMALL(i)) { 2026-09-15T04:23:08.765190Z 01O | ^ 2026-09-15T04:23:08.765191Z 01O /builds/Rdatatable/data.table/src/froll.c:1388:18: note: expanded from macro 'SMALL' 2026-09-15T04:23:08.765193Z 01O 1388 | #define SMALL(i) small((i), x, m[0], tail) 2026-09-15T04:23:08.765194Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.765194Z 01O /builds/Rdatatable/data.table/src/froll.c:1460:3: note: Taking false branch 2026-09-15T04:23:08.765196Z 01O 1460 | if (SMALL(i)) { 2026-09-15T04:23:08.765196Z 01O | ^ 2026-09-15T04:23:08.765197Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:9: note: Assuming the condition is false 2026-09-15T04:23:08.765199Z 01O 1463 | if (m[0] == i) { 2026-09-15T04:23:08.765199Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.765200Z 01O /builds/Rdatatable/data.table/src/froll.c:1463:5: note: Taking false branch 2026-09-15T04:23:08.765202Z 01O 1463 | if (m[0] == i) { 2026-09-15T04:23:08.765202Z 01O | ^ 2026-09-15T04:23:08.765203Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: 'even' is true 2026-09-15T04:23:08.765204Z 01O 1467 | } else if (even && n[0] == i) { 2026-09-15T04:23:08.765205Z 01O | ^~~~ 2026-09-15T04:23:08.765206Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:16: note: Left side of '&&' is true 2026-09-15T04:23:08.765207Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:24: note: Assuming the condition is false 2026-09-15T04:23:08.765209Z 01O 1467 | } else if (even && n[0] == i) { 2026-09-15T04:23:08.765209Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.765210Z 01O /builds/Rdatatable/data.table/src/froll.c:1467:12: note: Taking false branch 2026-09-15T04:23:08.765211Z 01O 1467 | } else if (even && n[0] == i) { 2026-09-15T04:23:08.765211Z 01O | ^ 2026-09-15T04:23:08.765212Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:9: note: Assuming the condition is true 2026-09-15T04:23:08.765213Z 01O 1470 | if (s[0] > 0) { 2026-09-15T04:23:08.765214Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.765215Z 01O /builds/Rdatatable/data.table/src/froll.c:1470:5: note: Taking true branch 2026-09-15T04:23:08.765216Z 01O 1470 | if (s[0] > 0) { 2026-09-15T04:23:08.765216Z 01O | ^ 2026-09-15T04:23:08.765217Z 01O /builds/Rdatatable/data.table/src/froll.c:1471:14: note: Access of the heap area at negative byte offset 2026-09-15T04:23:08.765218Z 01O 1471 | m[0] = prev[m[0]]; 2026-09-15T04:23:08.765219Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.765220Z 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-09-15T04:23:08.765222Z 01O 1578 | int *o = malloc(sizeof(*o) * nx); // permutation that sorts input vector x 2026-09-15T04:23:08.765223Z 01O | ^ ~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.765224Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.765226Z 01O 1506 | if (verbose) 2026-09-15T04:23:08.765226Z 01O | ^~~~~~~ 2026-09-15T04:23:08.765227Z 01O /builds/Rdatatable/data.table/src/froll.c:1506:3: note: Taking false branch 2026-09-15T04:23:08.765249Z 01O 1506 | if (verbose) 2026-09-15T04:23:08.765250Z 01O | ^ 2026-09-15T04:23:08.765251Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:7: note: Assuming 'k' is not equal to 0 2026-09-15T04:23:08.765252Z 01O 1508 | if (k == 0) { 2026-09-15T04:23:08.765253Z 01O | ^~~~~~ 2026-09-15T04:23:08.765253Z 01O /builds/Rdatatable/data.table/src/froll.c:1508:3: note: Taking false branch 2026-09-15T04:23:08.765255Z 01O 1508 | if (k == 0) { 2026-09-15T04:23:08.765256Z 01O | ^ 2026-09-15T04:23:08.765256Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Assuming 'k' is not equal to 1 2026-09-15T04:23:08.765258Z 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-09-15T04:23:08.765274Z 01O | ^~~~~~ 2026-09-15T04:23:08.765275Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:7: note: Left side of '||' is false 2026-09-15T04:23:08.765276Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:17: note: Assuming 'k' is not equal to 2 2026-09-15T04:23:08.765277Z 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-09-15T04:23:08.765279Z 01O | ^~~~~~ 2026-09-15T04:23:08.765280Z 01O /builds/Rdatatable/data.table/src/froll.c:1516:3: note: Taking false branch 2026-09-15T04:23:08.765281Z 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-09-15T04:23:08.765282Z 01O | ^ 2026-09-15T04:23:08.765283Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:7: note: Assuming 'hasnf' is >= 0 2026-09-15T04:23:08.765284Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.765285Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.765285Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-09-15T04:23:08.765287Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.765288Z 01O | ^ 2026-09-15T04:23:08.765288Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is >= 'nx' 2026-09-15T04:23:08.765289Z 01O 1549 | for (uint64_t i=0; i= 0 2026-09-15T04:23:08.765352Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.765353Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.765353Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-09-15T04:23:08.765355Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.765355Z 01O | ^ 2026-09-15T04:23:08.765356Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-09-15T04:23:08.765357Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-09-15T04:23:08.765375Z 01O 1549 | for (uint64_t i=0; i= 0 2026-09-15T04:23:08.765581Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.765582Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.765584Z 01O /builds/Rdatatable/data.table/src/froll.c:1548:3: note: Taking true branch 2026-09-15T04:23:08.765585Z 01O 1548 | if (hasnf>=0) { 2026-09-15T04:23:08.765585Z 01O | ^ 2026-09-15T04:23:08.765585Z 01O /builds/Rdatatable/data.table/src/froll.c:1549:24: note: Assuming 'i' is < 'nx' 2026-09-15T04:23:08.765586Z 01O 1549 | for (uint64_t i=0; i= 'nx' 2026-09-15T04:23:08.765651Z 01O 1549 | for (uint64_t i=0; i 0 2026-09-15T04:23:08.765792Z 01O 541 | bool truehasnf = hasnf>0; 2026-09-15T04:23:08.765793Z 01O | ^~~~~~~ 2026-09-15T04:23:08.765793Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:542:24: note: 'i' is < 'nx' 2026-09-15T04:23:08.765794Z 01O 542 | for (uint64_t i=0; i= 'nx' 2026-09-15T04:23:08.765808Z 01O 542 | for (uint64_t i=0; i 0 2026-09-15T04:23:08.765890Z 01O 616 | bool truehasnf = hasnf>0; 2026-09-15T04:23:08.765890Z 01O | ^~~~~~~ 2026-09-15T04:23:08.765893Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:617:24: note: 'i' is < 'nx' 2026-09-15T04:23:08.765894Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-09-15T04:23:08.765910Z 01O 617 | for (uint64_t i=0; i= 'nx' 2026-09-15T04:23:08.765974Z 01O 939 | for (uint64_t i=1; i=0; i--) { 2026-09-15T04:23:08.766094Z 01O | ^ 2026-09-15T04:23:08.766094Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:11: note: Assuming the condition is false 2026-09-15T04:23:08.766095Z 01O 888 | if (i+1 == ik) { 2026-09-15T04:23:08.766095Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.766096Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:888:7: note: Taking false branch 2026-09-15T04:23:08.766096Z 01O 888 | if (i+1 == ik) { 2026-09-15T04:23:08.766097Z 01O | ^ 2026-09-15T04:23:08.766097Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:18: note: Assuming the condition is false 2026-09-15T04:23:08.766097Z 01O 890 | } else if (i+1 < ik) { 2026-09-15T04:23:08.766098Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.766100Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:890:14: note: Taking false branch 2026-09-15T04:23:08.766101Z 01O 890 | } else if (i+1 < ik) { 2026-09-15T04:23:08.766101Z 01O | ^ 2026-09-15T04:23:08.766104Z 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-09-15T04:23:08.766104Z 01O 893 | nc[i] = nc[i] - nc[i-ik]; // k[i]==0 results in nc[i]=0 2026-09-15T04:23:08.766105Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.766105Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:886:5: note: Loop condition is false. Execution continues on line 897 2026-09-15T04:23:08.766106Z 01O 886 | for (int64_t i=nx-1; i>=0; i--) { 2026-09-15T04:23:08.766107Z 01O | ^ 2026-09-15T04:23:08.766109Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:997:14: note: Returning from 'frolladaptiveNAFast' 2026-09-15T04:23:08.766109Z 01O 997 | int nc = frolladaptiveNAFast(x, nx, k, rollnc, isna); 2026-09-15T04:23:08.766110Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766110Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:10: note: 'nc' is 1 2026-09-15T04:23:08.766111Z 01O 998 | if (!nc) { // total NA for x 2026-09-15T04:23:08.766111Z 01O | ^~ 2026-09-15T04:23:08.766114Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:998:5: note: Taking false branch 2026-09-15T04:23:08.766114Z 01O 998 | if (!nc) { // total NA for x 2026-09-15T04:23:08.766115Z 01O | ^ 2026-09-15T04:23:08.766115Z 01O /builds/Rdatatable/data.table/src/frolladaptive.c:1006:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.766121Z 01O 1006 | for (uint64_t i=0; i= 'ngrp' 2026-09-15T04:23:08.766244Z 01O 68 | for (int i=0; i(b))?(a):(b)) 2026-09-15T04:23:08.766286Z 01O | ^~~~~~~ 2026-09-15T04:23:08.766289Z 01O /builds/Rdatatable/data.table/src/gsumm.c:89:15: note: '?' condition is true 2026-09-15T04:23:08.766290Z 01O 89 | batchSize = MAX(1, (nrow-1)/nBatch); 2026-09-15T04:23:08.766291Z 01O | ^ 2026-09-15T04:23:08.766291Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-09-15T04:23:08.766291Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-09-15T04:23:08.766292Z 01O | ^ 2026-09-15T04:23:08.766292Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Assuming 'nBatch' is >= 1 2026-09-15T04:23:08.766293Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-15T04:23:08.766293Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.766294Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-09-15T04:23:08.766301Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:19: note: 'batchSize' is >= 1 2026-09-15T04:23:08.766302Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-15T04:23:08.766303Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.766305Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:7: note: Left side of '||' is false 2026-09-15T04:23:08.766305Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-15T04:23:08.766306Z 01O | ^ 2026-09-15T04:23:08.766311Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:34: note: Assuming 'lastBatchSize' is >= 1 2026-09-15T04:23:08.766312Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-15T04:23:08.766313Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766313Z 01O /builds/Rdatatable/data.table/src/gsumm.c:94:3: note: Taking false branch 2026-09-15T04:23:08.766314Z 01O 94 | if (nBatch<1 || batchSize<1 || lastBatchSize<1) { 2026-09-15T04:23:08.766314Z 01O | ^ 2026-09-15T04:23:08.766314Z 01O /builds/Rdatatable/data.table/src/gsumm.c:100:17: note: Assuming 'g' is >= 'ngrp' 2026-09-15T04:23:08.766315Z 01O 100 | for (int g=0; g(b))?(a):(b)) 2026-09-15T04:23:08.766335Z 01O | ^~~~~~~ 2026-09-15T04:23:08.766338Z 01O /builds/Rdatatable/data.table/src/gsumm.c:117:20: note: '?' condition is false 2026-09-15T04:23:08.766338Z 01O 117 | int bitshift = MAX(nb-8, 0); // TODO: experiment nb/2. Here it doesn't have to be /2 currently. 2026-09-15T04:23:08.766339Z 01O | ^ 2026-09-15T04:23:08.766339Z 01O /builds/Rdatatable/data.table/src/data.table.h:63:19: note: expanded from macro 'MAX' 2026-09-15T04:23:08.766340Z 01O 63 | #define MAX(a,b) (((a)>(b))?(a):(b)) 2026-09-15T04:23:08.766340Z 01O | ^ 2026-09-15T04:23:08.766343Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Assuming 'counts' is non-null 2026-09-15T04:23:08.766344Z 01O 122 | if (!counts || !TMP ) { 2026-09-15T04:23:08.766349Z 01O | ^~~~~~~ 2026-09-15T04:23:08.766350Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:9: note: Left side of '||' is false 2026-09-15T04:23:08.766350Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:20: note: Assuming 'TMP' is non-null 2026-09-15T04:23:08.766351Z 01O 122 | if (!counts || !TMP ) { 2026-09-15T04:23:08.766351Z 01O | ^~~~ 2026-09-15T04:23:08.766357Z 01O /builds/Rdatatable/data.table/src/gsumm.c:122:5: note: Taking false branch 2026-09-15T04:23:08.766357Z 01O 122 | if (!counts || !TMP ) { 2026-09-15T04:23:08.766358Z 01O | ^ 2026-09-15T04:23:08.766358Z 01O /builds/Rdatatable/data.table/src/gsumm.c:127:19: note: Assuming 'b' is < 'nBatch' 2026-09-15T04:23:08.766359Z 01O 127 | for (int b=0; b= 'howMany' 2026-09-15T04:23:08.766371Z 01O 131 | for (int i=0; i= 'highSize' 2026-09-15T04:23:08.766383Z 01O 135 | for (int i=0, cum=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-09-15T04:23:08.766471Z 01O | ^ 2026-09-15T04:23:08.766472Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-09-15T04:23:08.766472Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-09-15T04:23:08.766473Z 01O | ^ ~ 2026-09-15T04:23:08.766477Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-09-15T04:23:08.766477Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-09-15T04:23:08.766478Z 01O | ^ ~ 2026-09-15T04:23:08.766478Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-15T04:23:08.766479Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766479Z 01O | ^ 2026-09-15T04:23:08.766484Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766484Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766485Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766485Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-15T04:23:08.766486Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766486Z 01O | ^ 2026-09-15T04:23:08.766490Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766490Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766491Z 01O | ^ 2026-09-15T04:23:08.766491Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-15T04:23:08.766492Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766492Z 01O | ^ 2026-09-15T04:23:08.766497Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766497Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766498Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.766498Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-15T04:23:08.766499Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766499Z 01O | ^ 2026-09-15T04:23:08.766510Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766511Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766512Z 01O | ^ 2026-09-15T04:23:08.766512Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-15T04:23:08.766513Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766518Z 01O | ^ 2026-09-15T04:23:08.766522Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766523Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766523Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766524Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-09-15T04:23:08.766524Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766525Z 01O | ^ 2026-09-15T04:23:08.766527Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-09-15T04:23:08.766528Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-15T04:23:08.766528Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766529Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-09-15T04:23:08.766529Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-15T04:23:08.766530Z 01O | ^ 2026-09-15T04:23:08.766531Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-09-15T04:23:08.766532Z 01O 1122 | if (inherits(x, "factor")) 2026-09-15T04:23:08.766532Z 01O | ^ 2026-09-15T04:23:08.766537Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-09-15T04:23:08.766537Z 01O 933 | #define inherits Rf_inherits 2026-09-15T04:23:08.766538Z 01O | ^ 2026-09-15T04:23:08.766538Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-09-15T04:23:08.766538Z 01O 1122 | if (inherits(x, "factor")) 2026-09-15T04:23:08.766539Z 01O | ^ 2026-09-15T04:23:08.766539Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-09-15T04:23:08.766540Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-09-15T04:23:08.766540Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.766540Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-09-15T04:23:08.766541Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-09-15T04:23:08.766541Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.766542Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-09-15T04:23:08.766563Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-09-15T04:23:08.766564Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-15T04:23:08.766565Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.766565Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-09-15T04:23:08.766565Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-15T04:23:08.766566Z 01O | ^ 2026-09-15T04:23:08.766569Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-09-15T04:23:08.766569Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-09-15T04:23:08.766569Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766572Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-09-15T04:23:08.766572Z 01O 1129 | if (!s) 2026-09-15T04:23:08.766573Z 01O | ^~ 2026-09-15T04:23:08.766573Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-09-15T04:23:08.766574Z 01O 1129 | if (!s) 2026-09-15T04:23:08.766574Z 01O | ^ 2026-09-15T04:23:08.766577Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-09-15T04:23:08.766577Z 01O 1131 | for (int i=0; i= 'n' 2026-09-15T04:23:08.766591Z 01O 1135 | for (int i=0; iINT64_MAX || s[i]<=INT64_MIN) ? NA_INTEGER64 : (int64_t)s[i]; 2026-09-15T04:23:08.766611Z 01O | ^ 2026-09-15T04:23:08.766612Z 01O /usr/local/lib/R/include/R_ext/Arith.h:76:25: note: expanded from macro 'ISNAN' 2026-09-15T04:23:08.766612Z 01O 76 | # define ISNAN(x) (isnan(x)!=0) 2026-09-15T04:23:08.766613Z 01O | ^ ~ 2026-09-15T04:23:08.766614Z 01O /usr/include/math.h:1148:20: note: expanded from macro 'isnan' 2026-09-15T04:23:08.766615Z 01O 1148 | # define isnan(x) __builtin_isnan (x) 2026-09-15T04:23:08.766615Z 01O | ^ ~ 2026-09-15T04:23:08.766621Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1183:16: warning: The left operand of '>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] 2026-09-15T04:23:08.766622Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-09-15T04:23:08.766623Z 01O | ~~~~ ^ 2026-09-15T04:23:08.766623Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-15T04:23:08.766624Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766624Z 01O | ^ 2026-09-15T04:23:08.766631Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766632Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766642Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766643Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-15T04:23:08.766644Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766644Z 01O | ^ 2026-09-15T04:23:08.766668Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766668Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766669Z 01O | ^ 2026-09-15T04:23:08.766669Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-15T04:23:08.766670Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766670Z 01O | ^ 2026-09-15T04:23:08.766674Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766675Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766675Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.766676Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Left side of '&&' is true 2026-09-15T04:23:08.766676Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766677Z 01O | ^ 2026-09-15T04:23:08.766679Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766680Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766680Z 01O | ^ 2026-09-15T04:23:08.766681Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:8: note: Assuming the condition is true 2026-09-15T04:23:08.766681Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766681Z 01O | ^ 2026-09-15T04:23:08.766684Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.766685Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.766685Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766686Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1117:3: note: Taking false branch 2026-09-15T04:23:08.766686Z 01O 1117 | if (!IS_TRUE_OR_FALSE(narmArg)) 2026-09-15T04:23:08.766687Z 01O | ^ 2026-09-15T04:23:08.766689Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:7: note: Assuming the condition is false 2026-09-15T04:23:08.766689Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-15T04:23:08.766690Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766690Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1120:3: note: Taking false branch 2026-09-15T04:23:08.766691Z 01O 1120 | if (!isVectorAtomic(x)) 2026-09-15T04:23:08.766691Z 01O | ^ 2026-09-15T04:23:08.766693Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:7: note: Assuming the condition is false 2026-09-15T04:23:08.766694Z 01O 1122 | if (inherits(x, "factor")) 2026-09-15T04:23:08.766694Z 01O | ^ 2026-09-15T04:23:08.766694Z 01O /usr/local/lib/R/include/Rinternals.h:933:19: note: expanded from macro 'inherits' 2026-09-15T04:23:08.766695Z 01O 933 | #define inherits Rf_inherits 2026-09-15T04:23:08.766695Z 01O | ^ 2026-09-15T04:23:08.766698Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1122:3: note: Taking false branch 2026-09-15T04:23:08.766698Z 01O 1122 | if (inherits(x, "factor")) 2026-09-15T04:23:08.766699Z 01O | ^ 2026-09-15T04:23:08.766699Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1124:25: note: Assuming the condition is false 2026-09-15T04:23:08.766699Z 01O 1124 | const bool nosubset = irowslen==-1; 2026-09-15T04:23:08.766706Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.766710Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: 'nosubset' is false 2026-09-15T04:23:08.766711Z 01O 1125 | const int n = nosubset ? length(x) : irowslen; 2026-09-15T04:23:08.766711Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.766711Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1125:17: note: '?' condition is false 2026-09-15T04:23:08.766712Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:7: note: Assuming 'nrow' is equal to 'n' 2026-09-15T04:23:08.766712Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-15T04:23:08.766713Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.766715Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1127:3: note: Taking false branch 2026-09-15T04:23:08.766716Z 01O 1127 | if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); 2026-09-15T04:23:08.766716Z 01O | ^ 2026-09-15T04:23:08.766719Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1128:20: note: Storing uninitialized value 2026-09-15T04:23:08.766720Z 01O 1128 | long double *s = malloc(sizeof(*s) * ngrp); 2026-09-15T04:23:08.766720Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766721Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:7: note: Assuming 's' is non-null 2026-09-15T04:23:08.766721Z 01O 1129 | if (!s) 2026-09-15T04:23:08.766722Z 01O | ^~ 2026-09-15T04:23:08.766722Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1129:3: note: Taking false branch 2026-09-15T04:23:08.766722Z 01O 1129 | if (!s) 2026-09-15T04:23:08.766723Z 01O | ^ 2026-09-15T04:23:08.766728Z 01O /builds/Rdatatable/data.table/src/gsumm.c:1131:17: note: Assuming 'i' is >= 'ngrp' 2026-09-15T04:23:08.766728Z 01O 1131 | for (int i=0; i= 'n' 2026-09-15T04:23:08.766737Z 01O 1135 | for (int i=0; i' is a garbage value 2026-09-15T04:23:08.766769Z 01O 1183 | if (s[i] > DBL_MAX) ansd[i] = R_PosInf; 2026-09-15T04:23:08.766769Z 01O | ~~~~ ^ 2026-09-15T04:23:08.766850Z 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-09-15T04:23:08.766851Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-09-15T04:23:08.766851Z 01O | ^ 2026-09-15T04:23:08.766852Z 01O /builds/Rdatatable/data.table/src/hash.c:162:3: note: Taking true branch 2026-09-15T04:23:08.766852Z 01O 162 | if (!hash_set_(h, key, value)) { 2026-09-15T04:23:08.766853Z 01O | ^ 2026-09-15T04:23:08.766855Z 01O /builds/Rdatatable/data.table/src/hash.c:163:31: note: Calling 'hash_rehash' 2026-09-15T04:23:08.766855Z 01O 163 | struct hash_tab * new_h = hash_rehash(h); 2026-09-15T04:23:08.766856Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.766858Z 01O /builds/Rdatatable/data.table/src/hash.c:129:7: note: Assuming the condition is false 2026-09-15T04:23:08.766858Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-09-15T04:23:08.766859Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766859Z 01O /builds/Rdatatable/data.table/src/hash.c:129:3: note: Taking false branch 2026-09-15T04:23:08.766860Z 01O 129 | if (h->size > SIZE_MAX / 2) return NULL; // #nocov 2026-09-15T04:23:08.766860Z 01O | ^ 2026-09-15T04:23:08.766863Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Calling 'hash_create_' 2026-09-15T04:23:08.766863Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-09-15T04:23:08.766864Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766864Z 01O /builds/Rdatatable/data.table/src/hash.c:54:7: note: Assuming 'ret' is non-null 2026-09-15T04:23:08.766865Z 01O 54 | if (!ret) 2026-09-15T04:23:08.766865Z 01O | ^~~~ 2026-09-15T04:23:08.766865Z 01O /builds/Rdatatable/data.table/src/hash.c:54:3: note: Taking false branch 2026-09-15T04:23:08.766866Z 01O 54 | if (!ret) 2026-09-15T04:23:08.766866Z 01O | ^ 2026-09-15T04:23:08.766869Z 01O /builds/Rdatatable/data.table/src/hash.c:59:7: note: Assuming 'table' is non-null 2026-09-15T04:23:08.766869Z 01O 59 | if (!table) { 2026-09-15T04:23:08.766869Z 01O | ^~~~~~ 2026-09-15T04:23:08.766870Z 01O /builds/Rdatatable/data.table/src/hash.c:59:3: note: Taking false branch 2026-09-15T04:23:08.766870Z 01O 59 | if (!table) { 2026-09-15T04:23:08.766871Z 01O | ^ 2026-09-15T04:23:08.766871Z 01O /builds/Rdatatable/data.table/src/hash.c:70:10: note: Assuming the condition is false 2026-09-15T04:23:08.766871Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-09-15T04:23:08.766872Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766874Z 01O /builds/Rdatatable/data.table/src/hash.c:70:3: note: Loop condition is false. Execution continues on line 71 2026-09-15T04:23:08.766874Z 01O 70 | while ((1ULL << k) < n_full) k++; 2026-09-15T04:23:08.766875Z 01O | ^ 2026-09-15T04:23:08.766875Z 01O /builds/Rdatatable/data.table/src/hash.c:71:3: note: The value 64 is assigned to field 'shift' 2026-09-15T04:23:08.766876Z 01O 71 | ret->shift = HASH_BITS - k; 2026-09-15T04:23:08.766876Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766879Z 01O /builds/Rdatatable/data.table/src/hash.c:132:28: note: Returning from 'hash_create_' 2026-09-15T04:23:08.766887Z 01O 132 | struct hash_tab *new_h = hash_create_(new_size, default_load_factor); 2026-09-15T04:23:08.766887Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766888Z 01O /builds/Rdatatable/data.table/src/hash.c:133:8: note: 'new_h' is non-null 2026-09-15T04:23:08.766888Z 01O 133 | if (!new_h) return NULL; 2026-09-15T04:23:08.766889Z 01O | ^~~~~ 2026-09-15T04:23:08.766889Z 01O /builds/Rdatatable/data.table/src/hash.c:133:3: note: Taking false branch 2026-09-15T04:23:08.766890Z 01O 133 | if (!new_h) return NULL; 2026-09-15T04:23:08.766890Z 01O | ^ 2026-09-15T04:23:08.766892Z 01O /builds/Rdatatable/data.table/src/hash.c:137:22: note: Assuming 'i' is < field 'size' 2026-09-15T04:23:08.766893Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-09-15T04:23:08.766893Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.766894Z 01O /builds/Rdatatable/data.table/src/hash.c:137:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.766894Z 01O 137 | for (size_t i = 0; i < h->size; ++i) { 2026-09-15T04:23:08.766895Z 01O | ^ 2026-09-15T04:23:08.766897Z 01O /builds/Rdatatable/data.table/src/hash.c:138:9: note: Assuming field 'key' is non-null 2026-09-15T04:23:08.766898Z 01O 138 | if (h->table[i].key) 2026-09-15T04:23:08.766898Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766899Z 01O /builds/Rdatatable/data.table/src/hash.c:138:5: note: Taking true branch 2026-09-15T04:23:08.766899Z 01O 138 | if (h->table[i].key) 2026-09-15T04:23:08.766899Z 01O | ^ 2026-09-15T04:23:08.766900Z 01O /builds/Rdatatable/data.table/src/hash.c:139:13: note: Calling 'hash_set_' 2026-09-15T04:23:08.766900Z 01O 139 | (void)hash_set_(new_h, h->table[i].key, h->table[i].value); 2026-09-15T04:23:08.766901Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766918Z 01O /builds/Rdatatable/data.table/src/hash.c:110:32: note: Passing the value 64 via 2nd parameter 'shift' 2026-09-15T04:23:08.766918Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-09-15T04:23:08.766919Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.766919Z 01O /builds/Rdatatable/data.table/src/hash.c:110:16: note: Calling 'hash_index' 2026-09-15T04:23:08.766920Z 01O 110 | size_t idx = hash_index(key, h->shift); 2026-09-15T04:23:08.766920Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766924Z 01O /builds/Rdatatable/data.table/src/hash.c:105:36: note: '?' condition is true 2026-09-15T04:23:08.766924Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-09-15T04:23:08.766925Z 01O | ^ 2026-09-15T04:23:08.766928Z 01O /builds/Rdatatable/data.table/src/hash.c:4:26: note: expanded from macro 'HASH_MULTIPLIER' 2026-09-15T04:23:08.766929Z 01O 4 | #define HASH_MULTIPLIER ((sizeof(void*) == 8) ? 11400714819323198485ULL : 2654435769U) 2026-09-15T04:23:08.766929Z 01O | ^ 2026-09-15T04:23:08.766931Z 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-09-15T04:23:08.766932Z 01O 105 | return (size_t)((uintptr_t)key * HASH_MULTIPLIER) >> shift; 2026-09-15T04:23:08.766933Z 01O | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 2026-09-15T04:23:08.766952Z 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-09-15T04:23:08.766953Z 01O 134 | SET_VECTOR_ELT(lookup, i, vv=allocVector(INTSXP, count[i])); 2026-09-15T04:23:08.766953Z 01O | ^ 2026-09-15T04:23:08.766954Z 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-09-15T04:23:08.766961Z 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-09-15T04:23:08.766961Z 01O 136 | SET_VECTOR_ELT(type_lookup, i, vv=allocVector(INTSXP, type_count[i])); 2026-09-15T04:23:08.766962Z 01O | ^ 2026-09-15T04:23:08.766962Z 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-09-15T04:23:08.766986Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: warning: Value stored to 'tmp2' is never read [clang-analyzer-deadcode.DeadStores] 2026-09-15T04:23:08.766988Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-09-15T04:23:08.766989Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.766990Z 01O /builds/Rdatatable/data.table/src/ijoin.c:371:13: note: Value stored to 'tmp2' is never read 2026-09-15T04:23:08.766991Z 01O 371 | tmp2 = VECTOR_ELT(type_lookup, to[i]-1); 2026-09-15T04:23:08.766992Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767019Z 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-09-15T04:23:08.767020Z 01O 11 | if (ISNAN(x[i])) { 2026-09-15T04:23:08.767021Z 01O | ^ 2026-09-15T04:23:08.767022Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.767023Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.767024Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.767029Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.767030Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.767031Z 01O | ^ 2026-09-15T04:23:08.767031Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.767032Z 01O 187 | if (verbose) 2026-09-15T04:23:08.767033Z 01O | ^~~~~~~ 2026-09-15T04:23:08.767034Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.767035Z 01O 187 | if (verbose) 2026-09-15T04:23:08.767035Z 01O | ^ 2026-09-15T04:23:08.767070Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.767070Z 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-09-15T04:23:08.767071Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767072Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.767077Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.767079Z 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-09-15T04:23:08.767080Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767115Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.767117Z 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-09-15T04:23:08.767118Z 01O | ^ 2026-09-15T04:23:08.767119Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.767120Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.767136Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767142Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.767143Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767144Z 01O | ^ 2026-09-15T04:23:08.767151Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767153Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767154Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767155Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.767156Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767157Z 01O | ^ 2026-09-15T04:23:08.767193Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767195Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767196Z 01O | ^ 2026-09-15T04:23:08.767197Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.767198Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767199Z 01O | ^ 2026-09-15T04:23:08.767203Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767204Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767204Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.767205Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.767205Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767206Z 01O | ^ 2026-09-15T04:23:08.767208Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767209Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767209Z 01O | ^ 2026-09-15T04:23:08.767210Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.767210Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767211Z 01O | ^ 2026-09-15T04:23:08.767213Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767214Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767215Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767215Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.767216Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767216Z 01O | ^ 2026-09-15T04:23:08.767218Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.767219Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.767219Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.767219Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.767220Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.767220Z 01O | ^ 2026-09-15T04:23:08.767223Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.767223Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.767291Z 01O 229 | for (R_len_t i=0; i= (double)UINT_FAST64_MAX ? UINT_FAST64_MAX : (uint_fast64_t)limit_d; 2026-09-15T04:23:08.767567Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767568Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.767572Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.767572Z 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-09-15T04:23:08.767573Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767576Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.767576Z 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-09-15T04:23:08.767577Z 01O | ^ 2026-09-15T04:23:08.767577Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.767578Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.767578Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767599Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.767600Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767600Z 01O | ^ 2026-09-15T04:23:08.767601Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767601Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767602Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767605Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.767606Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767606Z 01O | ^ 2026-09-15T04:23:08.767608Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767609Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767610Z 01O | ^ 2026-09-15T04:23:08.767612Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.767612Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767613Z 01O | ^ 2026-09-15T04:23:08.767616Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767617Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767618Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.767624Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.767625Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767625Z 01O | ^ 2026-09-15T04:23:08.767628Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767628Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767629Z 01O | ^ 2026-09-15T04:23:08.767631Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.767631Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767632Z 01O | ^ 2026-09-15T04:23:08.767635Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.767636Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.767636Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767637Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.767637Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.767638Z 01O | ^ 2026-09-15T04:23:08.767638Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.767639Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.767639Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.767639Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.767640Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.767640Z 01O | ^ 2026-09-15T04:23:08.767657Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.767658Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.767704Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-15T04:23:08.767913Z 01O | ^ 2026-09-15T04:23:08.767913Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.767914Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.767914Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.767914Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.767915Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.767915Z 01O | ^ 2026-09-15T04:23:08.767929Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.767930Z 01O 187 | if (verbose) 2026-09-15T04:23:08.767930Z 01O | ^~~~~~~ 2026-09-15T04:23:08.767931Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.767931Z 01O 187 | if (verbose) 2026-09-15T04:23:08.767931Z 01O | ^ 2026-09-15T04:23:08.767936Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.767937Z 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-09-15T04:23:08.767938Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767938Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.767954Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.767955Z 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-09-15T04:23:08.767955Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.767958Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.767959Z 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-09-15T04:23:08.767966Z 01O | ^ 2026-09-15T04:23:08.767967Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.767967Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.767967Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768060Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768061Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768062Z 01O | ^ 2026-09-15T04:23:08.768085Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768086Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768086Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768087Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.768087Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768088Z 01O | ^ 2026-09-15T04:23:08.768091Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768091Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768092Z 01O | ^ 2026-09-15T04:23:08.768092Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768093Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768093Z 01O | ^ 2026-09-15T04:23:08.768097Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768098Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768098Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.768099Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.768099Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768100Z 01O | ^ 2026-09-15T04:23:08.768100Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768100Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768101Z 01O | ^ 2026-09-15T04:23:08.768101Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768102Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768102Z 01O | ^ 2026-09-15T04:23:08.768105Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768105Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768106Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768107Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.768107Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768107Z 01O | ^ 2026-09-15T04:23:08.768110Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.768110Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.768110Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.768111Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.768111Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.768112Z 01O | ^ 2026-09-15T04:23:08.768126Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.768127Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.768167Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-15T04:23:08.768400Z 01O | ^ 2026-09-15T04:23:08.768422Z 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-09-15T04:23:08.768423Z 01O 35 | if (ISNA(x[0]) && limit>0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-15T04:23:08.768424Z 01O | ^ 2026-09-15T04:23:08.768424Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.768425Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.768425Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.768425Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.768426Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.768426Z 01O | ^ 2026-09-15T04:23:08.768427Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.768427Z 01O 187 | if (verbose) 2026-09-15T04:23:08.768427Z 01O | ^~~~~~~ 2026-09-15T04:23:08.768428Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.768428Z 01O 187 | if (verbose) 2026-09-15T04:23:08.768428Z 01O | ^ 2026-09-15T04:23:08.768429Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.768429Z 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-09-15T04:23:08.768430Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768430Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.768435Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.768435Z 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-09-15T04:23:08.768436Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768439Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.768439Z 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-09-15T04:23:08.768440Z 01O | ^ 2026-09-15T04:23:08.768440Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.768441Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.768441Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768456Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768457Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768457Z 01O | ^ 2026-09-15T04:23:08.768462Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768463Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768463Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768464Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.768464Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768465Z 01O | ^ 2026-09-15T04:23:08.768468Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768474Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768475Z 01O | ^ 2026-09-15T04:23:08.768475Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768476Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768476Z 01O | ^ 2026-09-15T04:23:08.768480Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768481Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768481Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.768482Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.768482Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768483Z 01O | ^ 2026-09-15T04:23:08.768499Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768500Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768500Z 01O | ^ 2026-09-15T04:23:08.768501Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768501Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768502Z 01O | ^ 2026-09-15T04:23:08.768505Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768505Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768506Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768506Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.768507Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768507Z 01O | ^ 2026-09-15T04:23:08.768509Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.768510Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.768510Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.768510Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.768511Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.768511Z 01O | ^ 2026-09-15T04:23:08.768513Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.768514Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.768583Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[0] = fill; fills = 1; } 2026-09-15T04:23:08.768830Z 01O | ^ 2026-09-15T04:23:08.768848Z 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-09-15T04:23:08.768849Z 01O 46 | if (ISNAN(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-15T04:23:08.768849Z 01O | ^ 2026-09-15T04:23:08.768849Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.768850Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.768850Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.768851Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.768851Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.768851Z 01O | ^ 2026-09-15T04:23:08.768853Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.768854Z 01O 187 | if (verbose) 2026-09-15T04:23:08.768862Z 01O | ^~~~~~~ 2026-09-15T04:23:08.768863Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.768863Z 01O 187 | if (verbose) 2026-09-15T04:23:08.768863Z 01O | ^ 2026-09-15T04:23:08.768869Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.768869Z 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-09-15T04:23:08.768870Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768870Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.768889Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.768890Z 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-09-15T04:23:08.768891Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768891Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.768892Z 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-09-15T04:23:08.768892Z 01O | ^ 2026-09-15T04:23:08.768893Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.768893Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.768894Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768896Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768897Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768897Z 01O | ^ 2026-09-15T04:23:08.768901Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768902Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768903Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768903Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.768903Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768904Z 01O | ^ 2026-09-15T04:23:08.768906Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768907Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768907Z 01O | ^ 2026-09-15T04:23:08.768925Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768926Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768927Z 01O | ^ 2026-09-15T04:23:08.768927Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768927Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768928Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.768928Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.768929Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768929Z 01O | ^ 2026-09-15T04:23:08.768932Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768932Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768940Z 01O | ^ 2026-09-15T04:23:08.768940Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.768941Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768941Z 01O | ^ 2026-09-15T04:23:08.768945Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.768946Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.768946Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.768947Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.768947Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.768948Z 01O | ^ 2026-09-15T04:23:08.768948Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.768948Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.768949Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.768949Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.768949Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.768950Z 01O | ^ 2026-09-15T04:23:08.768966Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.768967Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.769027Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-15T04:23:08.769286Z 01O | ^ 2026-09-15T04:23:08.769289Z 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-09-15T04:23:08.769290Z 01O 55 | if (ISNA(x[nx-1]) && limit>0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-15T04:23:08.769291Z 01O | ^ 2026-09-15T04:23:08.769291Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.769292Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.769292Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.769292Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.769293Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.769293Z 01O | ^ 2026-09-15T04:23:08.769307Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.769308Z 01O 187 | if (verbose) 2026-09-15T04:23:08.769308Z 01O | ^~~~~~~ 2026-09-15T04:23:08.769309Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.769309Z 01O 187 | if (verbose) 2026-09-15T04:23:08.769309Z 01O | ^ 2026-09-15T04:23:08.769314Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.769322Z 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-09-15T04:23:08.769323Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769323Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.769328Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.769328Z 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-09-15T04:23:08.769329Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769347Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.769347Z 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-09-15T04:23:08.769348Z 01O | ^ 2026-09-15T04:23:08.769348Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.769349Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.769349Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769351Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.769352Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769352Z 01O | ^ 2026-09-15T04:23:08.769357Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769357Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769358Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769358Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.769359Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769359Z 01O | ^ 2026-09-15T04:23:08.769362Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769363Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769363Z 01O | ^ 2026-09-15T04:23:08.769363Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.769364Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769364Z 01O | ^ 2026-09-15T04:23:08.769382Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769382Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769383Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.769383Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.769384Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769384Z 01O | ^ 2026-09-15T04:23:08.769385Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769385Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769386Z 01O | ^ 2026-09-15T04:23:08.769386Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.769387Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769387Z 01O | ^ 2026-09-15T04:23:08.769397Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769398Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769398Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769399Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.769399Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769400Z 01O | ^ 2026-09-15T04:23:08.769400Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.769400Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.769401Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.769403Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.769403Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.769403Z 01O | ^ 2026-09-15T04:23:08.769458Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.769459Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.769498Z 01O 229 | for (R_len_t i=0; i0) { ans->dbl_v[nx-1] = fill; fills = 1; } 2026-09-15T04:23:08.769727Z 01O | ^ 2026-09-15T04:23:08.769728Z 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-09-15T04:23:08.769728Z 01O 109 | if (x[i]==NA_INTEGER64) { 2026-09-15T04:23:08.769729Z 01O | ^ 2026-09-15T04:23:08.769730Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.769731Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.769732Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.769732Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.769733Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.769734Z 01O | ^ 2026-09-15T04:23:08.769734Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.769735Z 01O 187 | if (verbose) 2026-09-15T04:23:08.769735Z 01O | ^~~~~~~ 2026-09-15T04:23:08.769735Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.769736Z 01O 187 | if (verbose) 2026-09-15T04:23:08.769736Z 01O | ^ 2026-09-15T04:23:08.769753Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.769754Z 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-09-15T04:23:08.769755Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769755Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.769767Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.769768Z 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-09-15T04:23:08.769768Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769771Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.769772Z 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-09-15T04:23:08.769772Z 01O | ^ 2026-09-15T04:23:08.769773Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.769773Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.769774Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769790Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.769790Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769791Z 01O | ^ 2026-09-15T04:23:08.769795Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769796Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769796Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769797Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.769797Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769798Z 01O | ^ 2026-09-15T04:23:08.769815Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769815Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769816Z 01O | ^ 2026-09-15T04:23:08.769816Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.769817Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769817Z 01O | ^ 2026-09-15T04:23:08.769817Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769818Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769818Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.769819Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.769819Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769820Z 01O | ^ 2026-09-15T04:23:08.769864Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769865Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769866Z 01O | ^ 2026-09-15T04:23:08.769866Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.769867Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769867Z 01O | ^ 2026-09-15T04:23:08.769871Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.769872Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.769872Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.769881Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.769881Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.769882Z 01O | ^ 2026-09-15T04:23:08.769882Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.769883Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.769883Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.769883Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.769884Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.769884Z 01O | ^ 2026-09-15T04:23:08.769904Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.769904Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.769954Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-09-15T04:23:08.770208Z 01O | ^ 2026-09-15T04:23:08.770208Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.770209Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.770209Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.770209Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.770210Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.770210Z 01O | ^ 2026-09-15T04:23:08.770210Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.770211Z 01O 187 | if (verbose) 2026-09-15T04:23:08.770211Z 01O | ^~~~~~~ 2026-09-15T04:23:08.770212Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.770212Z 01O 187 | if (verbose) 2026-09-15T04:23:08.770212Z 01O | ^ 2026-09-15T04:23:08.770213Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.770213Z 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-09-15T04:23:08.770214Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770214Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.770215Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.770215Z 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-09-15T04:23:08.770216Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770219Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.770219Z 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-09-15T04:23:08.770220Z 01O | ^ 2026-09-15T04:23:08.770220Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.770221Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.770221Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770243Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.770244Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770244Z 01O | ^ 2026-09-15T04:23:08.770249Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770249Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770250Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770250Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.770251Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770251Z 01O | ^ 2026-09-15T04:23:08.770253Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770254Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770254Z 01O | ^ 2026-09-15T04:23:08.770267Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.770268Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770268Z 01O | ^ 2026-09-15T04:23:08.770325Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770326Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770326Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.770327Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.770327Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770328Z 01O | ^ 2026-09-15T04:23:08.770330Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770331Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770332Z 01O | ^ 2026-09-15T04:23:08.770334Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.770334Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770335Z 01O | ^ 2026-09-15T04:23:08.770337Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770338Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770338Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770339Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.770339Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770340Z 01O | ^ 2026-09-15T04:23:08.770342Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.770342Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.770343Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.770343Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.770343Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.770344Z 01O | ^ 2026-09-15T04:23:08.770361Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.770361Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.770405Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[0] = fill; fills = 1; } 2026-09-15T04:23:08.770585Z 01O | ^ 2026-09-15T04:23:08.770588Z 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-09-15T04:23:08.770589Z 01O 124 | if (x[nx-1]==NA_INTEGER64 && limit>0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-09-15T04:23:08.770590Z 01O | ^ 2026-09-15T04:23:08.770590Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.770590Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.770591Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.770593Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.770594Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.770594Z 01O | ^ 2026-09-15T04:23:08.770595Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.770595Z 01O 187 | if (verbose) 2026-09-15T04:23:08.770595Z 01O | ^~~~~~~ 2026-09-15T04:23:08.770596Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.770596Z 01O 187 | if (verbose) 2026-09-15T04:23:08.770596Z 01O | ^ 2026-09-15T04:23:08.770614Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.770615Z 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-09-15T04:23:08.770615Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770622Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.770627Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.770627Z 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-09-15T04:23:08.770628Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770631Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.770631Z 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-09-15T04:23:08.770632Z 01O | ^ 2026-09-15T04:23:08.770632Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.770633Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.770633Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770649Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.770650Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770650Z 01O | ^ 2026-09-15T04:23:08.770654Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770655Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770655Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770656Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.770656Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770657Z 01O | ^ 2026-09-15T04:23:08.770662Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770662Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770663Z 01O | ^ 2026-09-15T04:23:08.770663Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.770664Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770664Z 01O | ^ 2026-09-15T04:23:08.770664Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770665Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770665Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.770666Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.770666Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770667Z 01O | ^ 2026-09-15T04:23:08.770689Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770690Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770691Z 01O | ^ 2026-09-15T04:23:08.770691Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.770691Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770692Z 01O | ^ 2026-09-15T04:23:08.770706Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.770707Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.770716Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.770719Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.770719Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.770720Z 01O | ^ 2026-09-15T04:23:08.770720Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.770721Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.770721Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.770763Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.770764Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.770764Z 01O | ^ 2026-09-15T04:23:08.770765Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.770765Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.770806Z 01O 229 | for (R_len_t i=0; i0) { ans->int64_v[nx-1] = fill; fills = 1; } 2026-09-15T04:23:08.771032Z 01O | ^ 2026-09-15T04:23:08.771049Z 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-09-15T04:23:08.771050Z 01O 144 | if (x[i]==NA_STRING) { 2026-09-15T04:23:08.771050Z 01O | ^ 2026-09-15T04:23:08.771051Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.771051Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.771051Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.771054Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.771055Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.771055Z 01O | ^ 2026-09-15T04:23:08.771055Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.771056Z 01O 187 | if (verbose) 2026-09-15T04:23:08.771056Z 01O | ^~~~~~~ 2026-09-15T04:23:08.771056Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.771057Z 01O 187 | if (verbose) 2026-09-15T04:23:08.771057Z 01O | ^ 2026-09-15T04:23:08.771075Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.771075Z 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-09-15T04:23:08.771076Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771077Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.771081Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.771081Z 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-09-15T04:23:08.771082Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771097Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.771098Z 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-09-15T04:23:08.771108Z 01O | ^ 2026-09-15T04:23:08.771109Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.771109Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.771110Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771112Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771113Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771113Z 01O | ^ 2026-09-15T04:23:08.771132Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771133Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771134Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771134Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.771135Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771135Z 01O | ^ 2026-09-15T04:23:08.771138Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771139Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771139Z 01O | ^ 2026-09-15T04:23:08.771140Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771140Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771141Z 01O | ^ 2026-09-15T04:23:08.771144Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771145Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771145Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.771146Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.771146Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771147Z 01O | ^ 2026-09-15T04:23:08.771169Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771170Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771171Z 01O | ^ 2026-09-15T04:23:08.771174Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771174Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771175Z 01O | ^ 2026-09-15T04:23:08.771175Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771176Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771176Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771179Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.771179Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771180Z 01O | ^ 2026-09-15T04:23:08.771180Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.771180Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.771181Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.771197Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.771198Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.771205Z 01O | ^ 2026-09-15T04:23:08.771205Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.771206Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.771266Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-09-15T04:23:08.771446Z 01O | ^ 2026-09-15T04:23:08.771446Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.771447Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.771447Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.771447Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.771448Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.771448Z 01O | ^ 2026-09-15T04:23:08.771463Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.771463Z 01O 187 | if (verbose) 2026-09-15T04:23:08.771464Z 01O | ^~~~~~~ 2026-09-15T04:23:08.771464Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.771471Z 01O 187 | if (verbose) 2026-09-15T04:23:08.771471Z 01O | ^ 2026-09-15T04:23:08.771476Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.771477Z 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-09-15T04:23:08.771478Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771478Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.771518Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.771519Z 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-09-15T04:23:08.771520Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771524Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.771524Z 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-09-15T04:23:08.771525Z 01O | ^ 2026-09-15T04:23:08.771525Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.771526Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.771526Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771526Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771527Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771527Z 01O | ^ 2026-09-15T04:23:08.771546Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771546Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771547Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771547Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.771548Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771548Z 01O | ^ 2026-09-15T04:23:08.771551Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771552Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771552Z 01O | ^ 2026-09-15T04:23:08.771553Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771553Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771553Z 01O | ^ 2026-09-15T04:23:08.771556Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771556Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771557Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.771573Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.771574Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771574Z 01O | ^ 2026-09-15T04:23:08.771578Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771578Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771579Z 01O | ^ 2026-09-15T04:23:08.771587Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771587Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771588Z 01O | ^ 2026-09-15T04:23:08.771588Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771589Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771589Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771606Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.771606Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771607Z 01O | ^ 2026-09-15T04:23:08.771607Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.771608Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.771608Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.771608Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.771609Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.771609Z 01O | ^ 2026-09-15T04:23:08.771648Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.771649Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.771781Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, 0, fill); fills = 1; } 2026-09-15T04:23:08.771897Z 01O | ^ 2026-09-15T04:23:08.771900Z 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-09-15T04:23:08.771901Z 01O 160 | if (x[nx-1]==NA_STRING && limit>0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-09-15T04:23:08.771901Z 01O | ^ 2026-09-15T04:23:08.771902Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:7: note: Assuming the condition is false 2026-09-15T04:23:08.771902Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.771902Z 01O | ^~~~~~~~~~~~~ 2026-09-15T04:23:08.771903Z 01O /builds/Rdatatable/data.table/src/nafill.c:183:3: note: Taking false branch 2026-09-15T04:23:08.771903Z 01O 183 | if (!xlength(obj)) 2026-09-15T04:23:08.771904Z 01O | ^ 2026-09-15T04:23:08.771906Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:7: note: Assuming 'verbose' is false 2026-09-15T04:23:08.771906Z 01O 187 | if (verbose) 2026-09-15T04:23:08.771906Z 01O | ^~~~~~~ 2026-09-15T04:23:08.771907Z 01O /builds/Rdatatable/data.table/src/nafill.c:187:3: note: Taking false branch 2026-09-15T04:23:08.771907Z 01O 187 | if (verbose) 2026-09-15T04:23:08.771908Z 01O | ^ 2026-09-15T04:23:08.771927Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Assuming the condition is false 2026-09-15T04:23:08.771927Z 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-09-15T04:23:08.771928Z 01O | ^~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771928Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: Left side of '||' is false 2026-09-15T04:23:08.771933Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:55: note: Assuming 'limit_d' is >= -1 2026-09-15T04:23:08.771933Z 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-09-15T04:23:08.771934Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771937Z 01O /builds/Rdatatable/data.table/src/nafill.c:191:33: note: '?' condition is true 2026-09-15T04:23:08.771938Z 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-09-15T04:23:08.771939Z 01O | ^ 2026-09-15T04:23:08.771941Z 01O /builds/Rdatatable/data.table/src/nafill.c:193:15: note: Assuming the condition is false 2026-09-15T04:23:08.771942Z 01O 193 | bool copy = !LOGICAL(inplace)[0]; 2026-09-15T04:23:08.771942Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771942Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.771943Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771943Z 01O | ^ 2026-09-15T04:23:08.771961Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771962Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771962Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.771969Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.771969Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.771970Z 01O | ^ 2026-09-15T04:23:08.771991Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.771993Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.771994Z 01O | ^ 2026-09-15T04:23:08.772018Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.772019Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.772020Z 01O | ^ 2026-09-15T04:23:08.772027Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772029Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772030Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772031Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Left side of '&&' is true 2026-09-15T04:23:08.772032Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.772032Z 01O | ^ 2026-09-15T04:23:08.772033Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772034Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772035Z 01O | ^ 2026-09-15T04:23:08.772067Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:8: note: Assuming the condition is true 2026-09-15T04:23:08.772068Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.772069Z 01O | ^ 2026-09-15T04:23:08.772074Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772075Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772076Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772078Z 01O /builds/Rdatatable/data.table/src/nafill.c:194:3: note: Taking false branch 2026-09-15T04:23:08.772079Z 01O 194 | if (!IS_TRUE_OR_FALSE(nan_is_na_arg)) 2026-09-15T04:23:08.772079Z 01O | ^ 2026-09-15T04:23:08.772084Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:7: note: Assuming 'obj_scalar' is false 2026-09-15T04:23:08.772085Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.772086Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.772086Z 01O /builds/Rdatatable/data.table/src/nafill.c:200:3: note: Taking false branch 2026-09-15T04:23:08.772087Z 01O 200 | if (obj_scalar) { 2026-09-15T04:23:08.772088Z 01O | ^ 2026-09-15T04:23:08.772089Z 01O /builds/Rdatatable/data.table/src/nafill.c:213:17: note: Assuming the condition is false 2026-09-15T04:23:08.772090Z 01O 213 | for (int i=0; i= 'nx' 2026-09-15T04:23:08.772175Z 01O 229 | for (R_len_t i=0; i0) { SET_STRING_ELT(ans->char_v, nx-1, fill); fills = 1; } 2026-09-15T04:23:08.772412Z 01O | ^ 2026-09-15T04:23:08.772413Z 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-09-15T04:23:08.772414Z 01O 198 | SEXP x = R_NilValue; 2026-09-15T04:23:08.772415Z 01O | ^ ~~~~~~~~~~ 2026-09-15T04:23:08.772416Z 01O /builds/Rdatatable/data.table/src/nafill.c:198:8: note: Value stored to 'x' during its initialization is never read 2026-09-15T04:23:08.772417Z 01O 198 | SEXP x = R_NilValue; 2026-09-15T04:23:08.772428Z 01O | ^ ~~~~~~~~~~ 2026-09-15T04:23:08.772459Z 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-09-15T04:23:08.772460Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-09-15T04:23:08.772460Z 01O | ^ 2026-09-15T04:23:08.772461Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-09-15T04:23:08.772461Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-09-15T04:23:08.772462Z 01O | ^ 2026-09-15T04:23:08.772462Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-09-15T04:23:08.772462Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-09-15T04:23:08.772463Z 01O | ^ 2026-09-15T04:23:08.772463Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:7: note: Assuming the condition is false 2026-09-15T04:23:08.772464Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-09-15T04:23:08.772464Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772465Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:125:3: note: Taking false branch 2026-09-15T04:23:08.772465Z 01O 125 | if (!isNull(restore_after_fork)) { 2026-09-15T04:23:08.772465Z 01O | ^ 2026-09-15T04:23:08.772468Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:7: note: Assuming the condition is false 2026-09-15T04:23:08.772469Z 01O 131 | if (length(throttle)) { 2026-09-15T04:23:08.772469Z 01O | ^ 2026-09-15T04:23:08.772470Z 01O /usr/local/lib/R/include/Rinternals.h:987:20: note: expanded from macro 'length' 2026-09-15T04:23:08.772470Z 01O 987 | #define length(x) Rf_length(x) 2026-09-15T04:23:08.772471Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772474Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:131:3: note: Taking false branch 2026-09-15T04:23:08.772474Z 01O 131 | if (length(throttle)) { 2026-09-15T04:23:08.772475Z 01O | ^ 2026-09-15T04:23:08.772475Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Assuming the condition is true 2026-09-15T04:23:08.772476Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-09-15T04:23:08.772476Z 01O | ^~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772476Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:7: note: Left side of '&&' is true 2026-09-15T04:23:08.772480Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:27: note: Assuming the condition is true 2026-09-15T04:23:08.772481Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-09-15T04:23:08.772481Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772482Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:137:3: note: Taking true branch 2026-09-15T04:23:08.772482Z 01O 137 | if (!length(threads) && !length(throttle)) { 2026-09-15T04:23:08.772483Z 01O | ^ 2026-09-15T04:23:08.772484Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:138:5: note: Calling 'initDTthreads' 2026-09-15T04:23:08.772485Z 01O 138 | initDTthreads(); 2026-09-15T04:23:08.772485Z 01O | ^~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772488Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:48:13: note: Calling 'getIntEnv' 2026-09-15T04:23:08.772489Z 01O 48 | int ans = getIntEnv("R_DATATABLE_NUM_THREADS", INT_MIN); 2026-09-15T04:23:08.772489Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772490Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint originated here 2026-09-15T04:23:08.772490Z 01O 14 | const char *val = getenv(name); 2026-09-15T04:23:08.772491Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772494Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Taint propagated to the return value 2026-09-15T04:23:08.772494Z 01O 14 | const char *val = getenv(name); 2026-09-15T04:23:08.772502Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772502Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:14:21: note: Assuming the environment variable exists 2026-09-15T04:23:08.772503Z 01O 14 | const char *val = getenv(name); 2026-09-15T04:23:08.772503Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772504Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:7: note: 'val' is not equal to NULL 2026-09-15T04:23:08.772504Z 01O 15 | if (val == NULL) return def; 2026-09-15T04:23:08.772504Z 01O | ^~~ 2026-09-15T04:23:08.772505Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:15:3: note: Taking false branch 2026-09-15T04:23:08.772505Z 01O 15 | if (val == NULL) return def; 2026-09-15T04:23:08.772506Z 01O | ^ 2026-09-15T04:23:08.772522Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:7: note: Assuming 'nchar' is not equal to 0 2026-09-15T04:23:08.772523Z 01O 17 | if (nchar == 0) return def; 2026-09-15T04:23:08.772524Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.772524Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:17:3: note: Taking false branch 2026-09-15T04:23:08.772524Z 01O 17 | if (nchar == 0) return def; 2026-09-15T04:23:08.772525Z 01O | ^ 2026-09-15T04:23:08.772528Z 01O /builds/Rdatatable/data.table/src/openmp-utils.c:20:18: note: Taint propagated to the 2nd argument 2026-09-15T04:23:08.772528Z 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-09-15T04:23:08.772529Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772532Z 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-09-15T04:23:08.772532Z 01O 21 | while (isspace(*end)) end++; // ignore trailing whitespace 2026-09-15T04:23:08.772533Z 01O | ^ 2026-09-15T04:23:08.772536Z 01O /usr/include/ctype.h:197:21: note: expanded from macro 'isspace' 2026-09-15T04:23:08.772537Z 01O 197 | # define isspace(c) __isctype((c), _ISspace) 2026-09-15T04:23:08.772537Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772537Z 01O /usr/include/ctype.h:89:4: note: expanded from macro '__isctype' 2026-09-15T04:23:08.772538Z 01O 89 | ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) 2026-09-15T04:23:08.772538Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772557Z 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-09-15T04:23:08.772558Z 01O 101 | int *counts = calloc(nuniq, sizeof(*counts)); // counts of names for each colnames 2026-09-15T04:23:08.772558Z 01O | ^ ~~~~~ 2026-09-15T04:23:08.772558Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-09-15T04:23:08.772559Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-15T04:23:08.772559Z 01O | ^ 2026-09-15T04:23:08.772560Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772560Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772561Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772561Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-09-15T04:23:08.772562Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-15T04:23:08.772562Z 01O | ^ 2026-09-15T04:23:08.772590Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772591Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772599Z 01O | ^ 2026-09-15T04:23:08.772599Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-09-15T04:23:08.772600Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-15T04:23:08.772600Z 01O | ^ 2026-09-15T04:23:08.772619Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772620Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772621Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772621Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Left side of '&&' is true 2026-09-15T04:23:08.772622Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-15T04:23:08.772622Z 01O | ^ 2026-09-15T04:23:08.772639Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772639Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772640Z 01O | ^ 2026-09-15T04:23:08.772640Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:8: note: Assuming the condition is true 2026-09-15T04:23:08.772641Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-15T04:23:08.772641Z 01O | ^ 2026-09-15T04:23:08.772644Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772644Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772645Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772646Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:7:3: note: Taking false branch 2026-09-15T04:23:08.772646Z 01O 7 | if (!IS_TRUE_OR_FALSE(fillArg)) 2026-09-15T04:23:08.772646Z 01O | ^ 2026-09-15T04:23:08.772651Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Assuming the condition is false 2026-09-15T04:23:08.772651Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-09-15T04:23:08.772652Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772652Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:7: note: Left side of '||' is false 2026-09-15T04:23:08.772652Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:34: note: Assuming the condition is false 2026-09-15T04:23:08.772653Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-09-15T04:23:08.772653Z 01O | ^~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772654Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:9:3: note: Taking false branch 2026-09-15T04:23:08.772654Z 01O 9 | if (!isLogical(usenamesArg) || LENGTH(usenamesArg)!=1) 2026-09-15T04:23:08.772655Z 01O | ^ 2026-09-15T04:23:08.772669Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-09-15T04:23:08.772670Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-15T04:23:08.772670Z 01O | ^ 2026-09-15T04:23:08.772753Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772754Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772755Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772756Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-09-15T04:23:08.772756Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-15T04:23:08.772756Z 01O | ^ 2026-09-15T04:23:08.772760Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772760Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772769Z 01O | ^ 2026-09-15T04:23:08.772770Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-09-15T04:23:08.772771Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-15T04:23:08.772771Z 01O | ^ 2026-09-15T04:23:08.772775Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:51: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772776Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772776Z 01O | ^~~~~~~~~~~~ 2026-09-15T04:23:08.772777Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Left side of '&&' is true 2026-09-15T04:23:08.772777Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-15T04:23:08.772778Z 01O | ^ 2026-09-15T04:23:08.772796Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:30: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772797Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772797Z 01O | ^ 2026-09-15T04:23:08.772802Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:8: note: Assuming the condition is true 2026-09-15T04:23:08.772802Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-15T04:23:08.772803Z 01O | ^ 2026-09-15T04:23:08.772803Z 01O /builds/Rdatatable/data.table/src/data.table.h:50:67: note: expanded from macro 'IS_TRUE_OR_FALSE' 2026-09-15T04:23:08.772804Z 01O 50 | #define IS_TRUE_OR_FALSE(x) (TYPEOF(x)==LGLSXP && LENGTH(x)==1 && LOGICAL(x)[0]!=NA_LOGICAL) 2026-09-15T04:23:08.772804Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772805Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:11:3: note: Taking false branch 2026-09-15T04:23:08.772805Z 01O 11 | if (!IS_TRUE_OR_FALSE(ignoreattrArg)) 2026-09-15T04:23:08.772806Z 01O | ^ 2026-09-15T04:23:08.772806Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:7: note: Assuming the condition is false 2026-09-15T04:23:08.772807Z 01O 13 | if (!length(l)) return(l); 2026-09-15T04:23:08.772807Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.772809Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:13:3: note: Taking false branch 2026-09-15T04:23:08.772809Z 01O 13 | if (!length(l)) return(l); 2026-09-15T04:23:08.772810Z 01O | ^ 2026-09-15T04:23:08.772812Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:7: note: Assuming the condition is false 2026-09-15T04:23:08.772813Z 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-09-15T04:23:08.772813Z 01O | ^~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772814Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:14:3: note: Taking false branch 2026-09-15T04:23:08.772814Z 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-09-15T04:23:08.772815Z 01O | ^ 2026-09-15T04:23:08.772818Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:7: note: Assuming 'fill' is false 2026-09-15T04:23:08.772818Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-09-15T04:23:08.772819Z 01O | ^~~~ 2026-09-15T04:23:08.772819Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:18:12: note: Left side of '&&' is false 2026-09-15T04:23:08.772819Z 01O 18 | if (fill && usenames==NA_LOGICAL) { 2026-09-15T04:23:08.772820Z 01O | ^ 2026-09-15T04:23:08.772834Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:21:22: note: Assuming the condition is false 2026-09-15T04:23:08.772835Z 01O 21 | const bool idcol = !isNull(idcolArg); 2026-09-15T04:23:08.772842Z 01O | ^~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772845Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:7: note: 'idcol' is false 2026-09-15T04:23:08.772846Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-09-15T04:23:08.772847Z 01O | ^~~~~ 2026-09-15T04:23:08.772865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:22:13: note: Left side of '&&' is false 2026-09-15T04:23:08.772866Z 01O 22 | if (idcol && (!isString(idcolArg) || LENGTH(idcolArg)!=1)) internal_error(__func__, "idcol is not a single string"); // # nocov 2026-09-15T04:23:08.772867Z 01O | ^ 2026-09-15T04:23:08.772867Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:17: note: Assuming the condition is true 2026-09-15T04:23:08.772868Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.772868Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.772868Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.772869Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.772869Z 01O | ^ 2026-09-15T04:23:08.772870Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-15T04:23:08.772870Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.772871Z 01O | ^ 2026-09-15T04:23:08.772885Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.772886Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.772886Z 01O | ^ 2026-09-15T04:23:08.772887Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-15T04:23:08.772887Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.772888Z 01O | ^ 2026-09-15T04:23:08.772890Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-15T04:23:08.772891Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.772892Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.772892Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-15T04:23:08.772892Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.772893Z 01O | ^ 2026-09-15T04:23:08.772893Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-15T04:23:08.772894Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.772894Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.772909Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-15T04:23:08.772910Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.772910Z 01O | ^ 2026-09-15T04:23:08.772911Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-15T04:23:08.772911Z 01O 37 | if (fill) { 2026-09-15T04:23:08.772912Z 01O | ^~~~ 2026-09-15T04:23:08.772912Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-15T04:23:08.772912Z 01O 37 | if (fill) { 2026-09-15T04:23:08.772913Z 01O | ^ 2026-09-15T04:23:08.772915Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-15T04:23:08.772915Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.772916Z 01O | ^~~~ 2026-09-15T04:23:08.772916Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-15T04:23:08.772916Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.772917Z 01O | ^ 2026-09-15T04:23:08.772941Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-15T04:23:08.772941Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.772942Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.772944Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-15T04:23:08.772945Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.772946Z 01O | ^ 2026-09-15T04:23:08.772946Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-15T04:23:08.772946Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.772947Z 01O | ^~~~~~ 2026-09-15T04:23:08.772949Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-15T04:23:08.772949Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.772950Z 01O | ^ 2026-09-15T04:23:08.772952Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-15T04:23:08.772952Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.772953Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.772968Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-15T04:23:08.772968Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.772969Z 01O | ^ 2026-09-15T04:23:08.772969Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-15T04:23:08.772970Z 01O 49 | for (int j=0; j0 checked above 2026-09-15T04:23:08.772992Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.772994Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-15T04:23:08.772994Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.773019Z 01O | ^ 2026-09-15T04:23:08.773020Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-15T04:23:08.773021Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.773022Z 01O | ^~~~~~~ 2026-09-15T04:23:08.773029Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-15T04:23:08.773030Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.773031Z 01O | ^ 2026-09-15T04:23:08.773032Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-15T04:23:08.773032Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.773033Z 01O | ^~~~ 2026-09-15T04:23:08.773034Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-15T04:23:08.773035Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-15T04:23:08.773036Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.773037Z 01O | ^~~~ 2026-09-15T04:23:08.773058Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-15T04:23:08.773070Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.773070Z 01O | ^ 2026-09-15T04:23:08.773073Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-15T04:23:08.773074Z 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-09-15T04:23:08.773074Z 01O | ^~~~ 2026-09-15T04:23:08.773076Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-15T04:23:08.773077Z 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-09-15T04:23:08.773078Z 01O | ^ 2026-09-15T04:23:08.773080Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-15T04:23:08.773080Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.773081Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.773133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-15T04:23:08.773134Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.773134Z 01O | ^ 2026-09-15T04:23:08.773135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.773135Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.773136Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.773136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-15T04:23:08.773139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-15T04:23:08.773140Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.773140Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.773140Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-15T04:23:08.773141Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.773141Z 01O | ^ 2026-09-15T04:23:08.773143Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-15T04:23:08.773144Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.773144Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.773146Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-15T04:23:08.773147Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.773147Z 01O | ^ 2026-09-15T04:23:08.773147Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:83:5: note: 'nuniq' initialized to 0 2026-09-15T04:23:08.773148Z 01O 83 | int nuniq=0; 2026-09-15T04:23:08.773148Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.773163Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is false 2026-09-15T04:23:08.773164Z 01O 85 | for (int i=0; i0 checked above 2026-09-15T04:23:08.773452Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.773454Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.773455Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.773456Z 01O | ^ 2026-09-15T04:23:08.773456Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-15T04:23:08.773456Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.773457Z 01O | ^ 2026-09-15T04:23:08.773459Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.773459Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.773460Z 01O | ^ 2026-09-15T04:23:08.773460Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-15T04:23:08.773460Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.773461Z 01O | ^ 2026-09-15T04:23:08.773475Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-15T04:23:08.773475Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.773476Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.773478Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-15T04:23:08.773485Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.773486Z 01O | ^ 2026-09-15T04:23:08.773486Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-15T04:23:08.773487Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.773487Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.773490Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-15T04:23:08.773490Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.773491Z 01O | ^ 2026-09-15T04:23:08.773491Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-15T04:23:08.773491Z 01O 37 | if (fill) { 2026-09-15T04:23:08.773492Z 01O | ^~~~ 2026-09-15T04:23:08.773492Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-15T04:23:08.773493Z 01O 37 | if (fill) { 2026-09-15T04:23:08.773493Z 01O | ^ 2026-09-15T04:23:08.773495Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-15T04:23:08.773495Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.773496Z 01O | ^~~~ 2026-09-15T04:23:08.773496Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-15T04:23:08.773497Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.773497Z 01O | ^ 2026-09-15T04:23:08.773514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-15T04:23:08.773514Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.773515Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.773517Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-15T04:23:08.773518Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.773518Z 01O | ^ 2026-09-15T04:23:08.773519Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-15T04:23:08.773519Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.773520Z 01O | ^~~~~~ 2026-09-15T04:23:08.773533Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-15T04:23:08.773534Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.773535Z 01O | ^ 2026-09-15T04:23:08.773537Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-15T04:23:08.773537Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.773538Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.773540Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-15T04:23:08.773541Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.773541Z 01O | ^ 2026-09-15T04:23:08.773542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-15T04:23:08.773542Z 01O 49 | for (int j=0; j0 checked above 2026-09-15T04:23:08.773566Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.773566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-15T04:23:08.773567Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.773567Z 01O | ^ 2026-09-15T04:23:08.773571Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-15T04:23:08.773571Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.773571Z 01O | ^~~~~~~ 2026-09-15T04:23:08.773572Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-15T04:23:08.773572Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.773573Z 01O | ^ 2026-09-15T04:23:08.773573Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-15T04:23:08.773573Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.773574Z 01O | ^~~~ 2026-09-15T04:23:08.773574Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-15T04:23:08.773589Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-15T04:23:08.773590Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.773590Z 01O | ^~~~ 2026-09-15T04:23:08.773592Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-15T04:23:08.773593Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.773593Z 01O | ^ 2026-09-15T04:23:08.773644Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-15T04:23:08.773645Z 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-09-15T04:23:08.773646Z 01O | ^~~~ 2026-09-15T04:23:08.773648Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-15T04:23:08.773649Z 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-09-15T04:23:08.773650Z 01O | ^ 2026-09-15T04:23:08.773666Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-15T04:23:08.773667Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.773668Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.773668Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-15T04:23:08.773669Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.773669Z 01O | ^ 2026-09-15T04:23:08.773669Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.773670Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.773670Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.773671Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-15T04:23:08.773686Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-15T04:23:08.773686Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.773687Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.773687Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-15T04:23:08.773688Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.773697Z 01O | ^ 2026-09-15T04:23:08.773713Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-15T04:23:08.773714Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.773715Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.773715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-15T04:23:08.773716Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.773716Z 01O | ^ 2026-09-15T04:23:08.773718Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-09-15T04:23:08.773719Z 01O 85 | for (int i=0; i= 'thisncol' 2026-09-15T04:23:08.773787Z 01O 92 | for (int j=0; j 'ncol' 2026-09-15T04:23:08.773849Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-15T04:23:08.773849Z 01O | ^~~~~~ 2026-09-15T04:23:08.773865Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking true branch 2026-09-15T04:23:08.773865Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-15T04:23:08.773866Z 01O | ^ 2026-09-15T04:23:08.773866Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:22: note: The value 0 is assigned to 'ncol' 2026-09-15T04:23:08.773867Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-15T04:23:08.773867Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.773869Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:133:22: note: Call to 'malloc' has an allocation size of 0 bytes 2026-09-15T04:23:08.773870Z 01O 133 | int *colMapRaw = malloc(sizeof(*colMapRaw) * LENGTH(l)*ncol); // the result of this scope used later 2026-09-15T04:23:08.773870Z 01O | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.773873Z 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-09-15T04:23:08.773874Z 01O 153 | for (int j=0; j0 checked above 2026-09-15T04:23:08.774171Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.774174Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.774174Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.774175Z 01O | ^ 2026-09-15T04:23:08.774185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-15T04:23:08.774186Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.774186Z 01O | ^ 2026-09-15T04:23:08.774205Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.774205Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.774206Z 01O | ^ 2026-09-15T04:23:08.774206Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-15T04:23:08.774207Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.774207Z 01O | ^ 2026-09-15T04:23:08.774209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-15T04:23:08.774210Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.774210Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.774240Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-15T04:23:08.774241Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.774243Z 01O | ^ 2026-09-15T04:23:08.774243Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-15T04:23:08.774244Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.774245Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.774246Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-15T04:23:08.774247Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.774247Z 01O | ^ 2026-09-15T04:23:08.774251Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-15T04:23:08.774252Z 01O 37 | if (fill) { 2026-09-15T04:23:08.774253Z 01O | ^~~~ 2026-09-15T04:23:08.774254Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-15T04:23:08.774255Z 01O 37 | if (fill) { 2026-09-15T04:23:08.774255Z 01O | ^ 2026-09-15T04:23:08.774287Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-15T04:23:08.774288Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.774289Z 01O | ^~~~ 2026-09-15T04:23:08.774289Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-15T04:23:08.774290Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.774290Z 01O | ^ 2026-09-15T04:23:08.774290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-15T04:23:08.774291Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.774291Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.774309Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-15T04:23:08.774310Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.774311Z 01O | ^ 2026-09-15T04:23:08.774311Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-15T04:23:08.774312Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.774312Z 01O | ^~~~~~ 2026-09-15T04:23:08.774312Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-15T04:23:08.774313Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.774313Z 01O | ^ 2026-09-15T04:23:08.774315Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-15T04:23:08.774316Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.774326Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.774328Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-15T04:23:08.774329Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.774330Z 01O | ^ 2026-09-15T04:23:08.774330Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-15T04:23:08.774331Z 01O 49 | for (int j=0; j0 checked above 2026-09-15T04:23:08.774354Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.774355Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-15T04:23:08.774355Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.774356Z 01O | ^ 2026-09-15T04:23:08.774356Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-15T04:23:08.774356Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.774357Z 01O | ^~~~~~~ 2026-09-15T04:23:08.774357Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-15T04:23:08.774358Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.774358Z 01O | ^ 2026-09-15T04:23:08.774358Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-15T04:23:08.774359Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.774359Z 01O | ^~~~ 2026-09-15T04:23:08.774359Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-15T04:23:08.774362Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-15T04:23:08.774362Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.774363Z 01O | ^~~~ 2026-09-15T04:23:08.774363Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-15T04:23:08.774364Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.774364Z 01O | ^ 2026-09-15T04:23:08.774414Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-15T04:23:08.774416Z 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-09-15T04:23:08.774416Z 01O | ^~~~ 2026-09-15T04:23:08.774417Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-15T04:23:08.774417Z 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-09-15T04:23:08.774418Z 01O | ^ 2026-09-15T04:23:08.774418Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-15T04:23:08.774419Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.774419Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.774435Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-15T04:23:08.774444Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.774444Z 01O | ^ 2026-09-15T04:23:08.774448Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.774449Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.774449Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.774449Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-15T04:23:08.774450Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-15T04:23:08.774450Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.774451Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.774451Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-15T04:23:08.774452Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.774452Z 01O | ^ 2026-09-15T04:23:08.774453Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-15T04:23:08.774453Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.774453Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.774456Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-15T04:23:08.774456Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.774457Z 01O | ^ 2026-09-15T04:23:08.774457Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-09-15T04:23:08.774457Z 01O 85 | for (int i=0; i= 'thisncol' 2026-09-15T04:23:08.774545Z 01O 92 | for (int j=0; j= 'thisncol' 2026-09-15T04:23:08.774614Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-09-15T04:23:08.774668Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.774668Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-09-15T04:23:08.774669Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-09-15T04:23:08.774669Z 01O | ^ 2026-09-15T04:23:08.774670Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-09-15T04:23:08.774670Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-09-15T04:23:08.774678Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.774704Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-09-15T04:23:08.774705Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-15T04:23:08.774705Z 01O | ^ 2026-09-15T04:23:08.774706Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-09-15T04:23:08.774706Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.774707Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.774707Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-15T04:23:08.774709Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-09-15T04:23:08.774710Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.774710Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.774711Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-15T04:23:08.774711Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.774712Z 01O | ^ 2026-09-15T04:23:08.774714Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-09-15T04:23:08.774714Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.774715Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.774715Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-09-15T04:23:08.774716Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.774716Z 01O | ^ 2026-09-15T04:23:08.774718Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-09-15T04:23:08.774719Z 01O 142 | for (int i=0; i= 'ncol' 2026-09-15T04:23:08.774742Z 01O 143 | for (int i=0; i0 checked above 2026-09-15T04:23:08.775132Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.775135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.775135Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.775136Z 01O | ^ 2026-09-15T04:23:08.775136Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-15T04:23:08.775137Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.775137Z 01O | ^ 2026-09-15T04:23:08.775137Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.775138Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.775138Z 01O | ^ 2026-09-15T04:23:08.775139Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-15T04:23:08.775139Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.775140Z 01O | ^ 2026-09-15T04:23:08.775154Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-15T04:23:08.775155Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.775155Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.775158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-15T04:23:08.775173Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.775173Z 01O | ^ 2026-09-15T04:23:08.775174Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-15T04:23:08.775174Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.775175Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.775177Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-15T04:23:08.775178Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.775178Z 01O | ^ 2026-09-15T04:23:08.775178Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-15T04:23:08.775179Z 01O 37 | if (fill) { 2026-09-15T04:23:08.775179Z 01O | ^~~~ 2026-09-15T04:23:08.775179Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-15T04:23:08.775180Z 01O 37 | if (fill) { 2026-09-15T04:23:08.775180Z 01O | ^ 2026-09-15T04:23:08.775182Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-15T04:23:08.775183Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.775183Z 01O | ^~~~ 2026-09-15T04:23:08.775183Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-15T04:23:08.775184Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.775184Z 01O | ^ 2026-09-15T04:23:08.775202Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-15T04:23:08.775210Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.775211Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.775213Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-15T04:23:08.775214Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.775215Z 01O | ^ 2026-09-15T04:23:08.775215Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-15T04:23:08.775216Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.775216Z 01O | ^~~~~~ 2026-09-15T04:23:08.775240Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-15T04:23:08.775241Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.775241Z 01O | ^ 2026-09-15T04:23:08.775243Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-15T04:23:08.775244Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.775245Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.775260Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-15T04:23:08.775261Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.775261Z 01O | ^ 2026-09-15T04:23:08.775262Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:19: note: 'j' is >= 'thisncol' 2026-09-15T04:23:08.775262Z 01O 49 | for (int j=0; j0 checked above 2026-09-15T04:23:08.775267Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.775269Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-15T04:23:08.775270Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.775270Z 01O | ^ 2026-09-15T04:23:08.775271Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-15T04:23:08.775271Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.775272Z 01O | ^~~~~~~ 2026-09-15T04:23:08.775289Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-15T04:23:08.775289Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.775290Z 01O | ^ 2026-09-15T04:23:08.775290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-15T04:23:08.775291Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.775291Z 01O | ^~~~ 2026-09-15T04:23:08.775291Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-15T04:23:08.775292Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-15T04:23:08.775292Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.775293Z 01O | ^~~~ 2026-09-15T04:23:08.775307Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-15T04:23:08.775308Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.775316Z 01O | ^ 2026-09-15T04:23:08.775316Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-15T04:23:08.775316Z 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-09-15T04:23:08.775317Z 01O | ^~~~ 2026-09-15T04:23:08.775320Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-15T04:23:08.775320Z 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-09-15T04:23:08.775321Z 01O | ^ 2026-09-15T04:23:08.775323Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-15T04:23:08.775323Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.775324Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.775340Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-15T04:23:08.775341Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.775341Z 01O | ^ 2026-09-15T04:23:08.775342Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.775342Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.775343Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.775343Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-15T04:23:08.775365Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is equal to 'R_NaInt' 2026-09-15T04:23:08.775365Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.775366Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.775366Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking true branch 2026-09-15T04:23:08.775367Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.775367Z 01O | ^ 2026-09-15T04:23:08.775369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:26: note: Assuming the condition is false 2026-09-15T04:23:08.775370Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.775370Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.775371Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:73:5: note: Loop condition is false. Execution continues on line 77 2026-09-15T04:23:08.775371Z 01O 73 | for (R_xlen_t i = 0; i < XLENGTH(l); ++i) { 2026-09-15T04:23:08.775372Z 01O | ^ 2026-09-15T04:23:08.775386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:85:19: note: Assuming the condition is true 2026-09-15T04:23:08.775387Z 01O 85 | for (int i=0; i= 'thisncol' 2026-09-15T04:23:08.775513Z 01O 92 | for (int j=0; j= 'thisncol' 2026-09-15T04:23:08.775568Z 01O 118 | for (int j=0; j maxdup[u]) maxdup[u] = counts[u]; 2026-09-15T04:23:08.775589Z 01O | ^~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.775591Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:123:9: note: Taking true branch 2026-09-15T04:23:08.775592Z 01O 123 | if (counts[u] > maxdup[u]) maxdup[u] = counts[u]; 2026-09-15T04:23:08.775592Z 01O | ^ 2026-09-15T04:23:08.775592Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:122:7: note: Loop condition is false. Execution continues on line 110 2026-09-15T04:23:08.775593Z 01O 122 | for (int u=0; uncol) ncol=ttncol; 2026-09-15T04:23:08.775624Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.775625Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:128:5: note: Taking false branch 2026-09-15T04:23:08.775625Z 01O 128 | if (ttncol>ncol) ncol=ttncol; 2026-09-15T04:23:08.775625Z 01O | ^ 2026-09-15T04:23:08.775627Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Assuming 'colMapRaw' is non-null 2026-09-15T04:23:08.775628Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.775628Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.775629Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-15T04:23:08.775632Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:23: note: Assuming 'uniqMap' is non-null 2026-09-15T04:23:08.775632Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.775633Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.775633Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:9: note: Left side of '||' is false 2026-09-15T04:23:08.775633Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.775634Z 01O | ^ 2026-09-15T04:23:08.775634Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:35: note: Assuming 'dupLink' is non-null 2026-09-15T04:23:08.775635Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.775635Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.775635Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:136:5: note: Taking false branch 2026-09-15T04:23:08.775636Z 01O 136 | if (!colMapRaw || !uniqMap || !dupLink) { 2026-09-15T04:23:08.775636Z 01O | ^ 2026-09-15T04:23:08.775652Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:142:19: note: Assuming the condition is false 2026-09-15T04:23:08.775652Z 01O 142 | for (int i=0; i= 'ncol' 2026-09-15T04:23:08.775657Z 01O 143 | for (int i=0; i0 checked above 2026-09-15T04:23:08.776075Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.776075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.776076Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.776076Z 01O | ^ 2026-09-15T04:23:08.776078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-15T04:23:08.776079Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.776079Z 01O | ^ 2026-09-15T04:23:08.776080Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.776080Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.776080Z 01O | ^ 2026-09-15T04:23:08.776081Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-15T04:23:08.776081Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.776082Z 01O | ^ 2026-09-15T04:23:08.776095Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-15T04:23:08.776096Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.776106Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.776110Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-15T04:23:08.776110Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.776111Z 01O | ^ 2026-09-15T04:23:08.776111Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-15T04:23:08.776112Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.776112Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.776113Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-15T04:23:08.776113Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.776113Z 01O | ^ 2026-09-15T04:23:08.776114Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-15T04:23:08.776114Z 01O 37 | if (fill) { 2026-09-15T04:23:08.776114Z 01O | ^~~~ 2026-09-15T04:23:08.776115Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-15T04:23:08.776115Z 01O 37 | if (fill) { 2026-09-15T04:23:08.776116Z 01O | ^ 2026-09-15T04:23:08.776133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-15T04:23:08.776134Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.776134Z 01O | ^~~~ 2026-09-15T04:23:08.776135Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-15T04:23:08.776135Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.776135Z 01O | ^ 2026-09-15T04:23:08.776151Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-15T04:23:08.776152Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.776152Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.776155Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-15T04:23:08.776155Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.776156Z 01O | ^ 2026-09-15T04:23:08.776156Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-15T04:23:08.776157Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.776157Z 01O | ^~~~~~ 2026-09-15T04:23:08.776172Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-15T04:23:08.776172Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.776173Z 01O | ^ 2026-09-15T04:23:08.776188Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-09-15T04:23:08.776188Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.776189Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.776189Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.776190Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.776190Z 01O | ^ 2026-09-15T04:23:08.776223Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is <= 'maxLen' 2026-09-15T04:23:08.776224Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.776225Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.776249Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking false branch 2026-09-15T04:23:08.776258Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.776259Z 01O | ^ 2026-09-15T04:23:08.776259Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-15T04:23:08.776260Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.776260Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.776263Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-15T04:23:08.776264Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.776265Z 01O | ^ 2026-09-15T04:23:08.776265Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.776265Z 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-09-15T04:23:08.776295Z 01O | ^~~~ 2026-09-15T04:23:08.776327Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-09-15T04:23:08.776329Z 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-09-15T04:23:08.776330Z 01O | ^ 2026-09-15T04:23:08.776331Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-09-15T04:23:08.776332Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-15T04:23:08.776333Z 01O | ^~~~~ 2026-09-15T04:23:08.776334Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-09-15T04:23:08.776335Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-15T04:23:08.776335Z 01O | ^ 2026-09-15T04:23:08.776338Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-09-15T04:23:08.776338Z 01O 49 | for (int j=0; j0 checked above 2026-09-15T04:23:08.776343Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.776347Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-15T04:23:08.776348Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.776349Z 01O | ^ 2026-09-15T04:23:08.776349Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-15T04:23:08.776350Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.776351Z 01O | ^~~~~~~ 2026-09-15T04:23:08.776383Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-15T04:23:08.776385Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.776385Z 01O | ^ 2026-09-15T04:23:08.776386Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is equal to 0 2026-09-15T04:23:08.776399Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.776400Z 01O | ^~~~ 2026-09-15T04:23:08.776401Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: Left side of '&&' is true 2026-09-15T04:23:08.776431Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:18: note: 'ncol' is not equal to 0 2026-09-15T04:23:08.776432Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.776433Z 01O | ^~~~ 2026-09-15T04:23:08.776433Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:3: note: Taking false branch 2026-09-15T04:23:08.776434Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.776434Z 01O | ^ 2026-09-15T04:23:08.776463Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-15T04:23:08.776465Z 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-09-15T04:23:08.776466Z 01O | ^~~~ 2026-09-15T04:23:08.776467Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-15T04:23:08.776468Z 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-09-15T04:23:08.776469Z 01O | ^ 2026-09-15T04:23:08.776470Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-15T04:23:08.776471Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.776472Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.776499Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-15T04:23:08.776500Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.776501Z 01O | ^ 2026-09-15T04:23:08.776505Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-09-15T04:23:08.776506Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-09-15T04:23:08.776507Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.776510Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.776511Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.776512Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.776512Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-15T04:23:08.776514Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-09-15T04:23:08.776515Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.776515Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.776534Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-09-15T04:23:08.776535Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.776535Z 01O | ^ 2026-09-15T04:23:08.776538Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-09-15T04:23:08.776538Z 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-09-15T04:23:08.776539Z 01O | ^~~~ 2026-09-15T04:23:08.776542Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-09-15T04:23:08.776543Z 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-09-15T04:23:08.776544Z 01O | ^ 2026-09-15T04:23:08.776553Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-09-15T04:23:08.776554Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.776554Z 01O | ^~~~ 2026-09-15T04:23:08.776554Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-09-15T04:23:08.776555Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.776555Z 01O | ^ 2026-09-15T04:23:08.776558Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.776559Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.776559Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.776559Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-09-15T04:23:08.776560Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-09-15T04:23:08.776560Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.776561Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.776564Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-09-15T04:23:08.776564Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.776565Z 01O | ^ 2026-09-15T04:23:08.776565Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-09-15T04:23:08.776566Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-15T04:23:08.776566Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.776566Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-09-15T04:23:08.776567Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-15T04:23:08.776567Z 01O | ^ 2026-09-15T04:23:08.776567Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-09-15T04:23:08.776568Z 01O 251 | if (idcol) { 2026-09-15T04:23:08.776568Z 01O | ^~~~~ 2026-09-15T04:23:08.776570Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-09-15T04:23:08.776571Z 01O 251 | if (idcol) { 2026-09-15T04:23:08.776571Z 01O | ^ 2026-09-15T04:23:08.776571Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.776572Z 01O 279 | for(int j=0; j0 checked above 2026-09-15T04:23:08.776986Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.776986Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.776987Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.776987Z 01O | ^ 2026-09-15T04:23:08.776987Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:9: note: Assuming the condition is false 2026-09-15T04:23:08.776988Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.776988Z 01O | ^ 2026-09-15T04:23:08.776989Z 01O /usr/local/lib/R/include/Rinternals.h:956:18: note: expanded from macro 'isNull' 2026-09-15T04:23:08.776989Z 01O 956 | #define isNull Rf_isNull 2026-09-15T04:23:08.776990Z 01O | ^ 2026-09-15T04:23:08.777031Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:32:5: note: Taking false branch 2026-09-15T04:23:08.777032Z 01O 32 | if (isNull(li)) continue; 2026-09-15T04:23:08.777033Z 01O | ^ 2026-09-15T04:23:08.777036Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:9: note: Assuming the condition is false 2026-09-15T04:23:08.777038Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.777039Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.777042Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:33:5: note: Taking false branch 2026-09-15T04:23:08.777044Z 01O 33 | if (TYPEOF(li) != VECSXP) error(_("Item %d of input is not a data.frame, data.table or list"), i+1); 2026-09-15T04:23:08.777045Z 01O | ^ 2026-09-15T04:23:08.777045Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:9: note: Assuming 'thisncol' is not equal to 0 2026-09-15T04:23:08.777046Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.777046Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.777068Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:35:5: note: Taking false branch 2026-09-15T04:23:08.777069Z 01O 35 | if (!thisncol) continue; 2026-09-15T04:23:08.777069Z 01O | ^ 2026-09-15T04:23:08.777069Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:9: note: 'fill' is false 2026-09-15T04:23:08.777070Z 01O 37 | if (fill) { 2026-09-15T04:23:08.777070Z 01O | ^~~~ 2026-09-15T04:23:08.777071Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:37:5: note: Taking false branch 2026-09-15T04:23:08.777071Z 01O 37 | if (fill) { 2026-09-15T04:23:08.777071Z 01O | ^ 2026-09-15T04:23:08.777073Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:11: note: 'ncol' is equal to 0 2026-09-15T04:23:08.777074Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.777074Z 01O | ^~~~ 2026-09-15T04:23:08.777075Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:40:7: note: Taking true branch 2026-09-15T04:23:08.777075Z 01O 40 | if (ncol==0) { ncol=thisncol; first=i; } 2026-09-15T04:23:08.777076Z 01O | ^ 2026-09-15T04:23:08.777078Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:9: note: Assuming 'nNames' is <= 0 2026-09-15T04:23:08.777079Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.777079Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.777082Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:44:18: note: Left side of '&&' is false 2026-09-15T04:23:08.777082Z 01O 44 | if (nNames>0 && nNames!=thisncol) error(_("Item %d has %d columns but %d column names. Invalid object."), i+1, thisncol, nNames); 2026-09-15T04:23:08.777083Z 01O | ^ 2026-09-15T04:23:08.777083Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:9: note: 'nNames' is <= 0 2026-09-15T04:23:08.777084Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.777084Z 01O | ^~~~~~ 2026-09-15T04:23:08.777101Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:45:5: note: Taking false branch 2026-09-15T04:23:08.777102Z 01O 45 | if (nNames>0) anyNames=true; 2026-09-15T04:23:08.777102Z 01O | ^ 2026-09-15T04:23:08.777104Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is < 'thisncol' 2026-09-15T04:23:08.777105Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.777105Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.777107Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.777108Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.777119Z 01O | ^ 2026-09-15T04:23:08.777121Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:75: note: Assuming 'tt' is > 'maxLen' 2026-09-15T04:23:08.777122Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.777122Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.777124Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:71: note: Taking true branch 2026-09-15T04:23:08.777125Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.777126Z 01O | ^ 2026-09-15T04:23:08.777128Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:19: note: Assuming 'j' is >= 'thisncol' 2026-09-15T04:23:08.777129Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.777129Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.777130Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:48:5: note: Loop condition is false. Execution continues on line 49 2026-09-15T04:23:08.777130Z 01O 48 | for (int j=0; jmaxLen) { maxLen=tt; whichMax=j; } } 2026-09-15T04:23:08.777131Z 01O | ^ 2026-09-15T04:23:08.777133Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.777133Z 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-09-15T04:23:08.777138Z 01O | ^~~~ 2026-09-15T04:23:08.777158Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:51:16: note: Left side of '&&' is false 2026-09-15T04:23:08.777159Z 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-09-15T04:23:08.777159Z 01O | ^ 2026-09-15T04:23:08.777162Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:11: note: Assuming 'tt' is not equal to 0 2026-09-15T04:23:08.777162Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-15T04:23:08.777163Z 01O | ^~~~~ 2026-09-15T04:23:08.777165Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:52:17: note: Left side of '&&' is false 2026-09-15T04:23:08.777166Z 01O 52 | if (tt==0 && maxLen>0 && numZero++==0) { firstZeroCol = j; firstZeroItem=i; } 2026-09-15T04:23:08.777166Z 01O | ^ 2026-09-15T04:23:08.777167Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:49:5: note: Loop condition is false. Execution continues on line 54 2026-09-15T04:23:08.777167Z 01O 49 | for (int j=0; j0 checked above 2026-09-15T04:23:08.777172Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.777172Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:29:3: note: Loop condition is false. Execution continues on line 57 2026-09-15T04:23:08.777172Z 01O 29 | for (int i=0; i0 checked above 2026-09-15T04:23:08.777173Z 01O | ^ 2026-09-15T04:23:08.777173Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:7: note: 'numZero' is 0 2026-09-15T04:23:08.777180Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.777180Z 01O | ^~~~~~~ 2026-09-15T04:23:08.777181Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:57:3: note: Taking false branch 2026-09-15T04:23:08.777181Z 01O 57 | if (numZero) { // #1871 2026-09-15T04:23:08.777182Z 01O | ^ 2026-09-15T04:23:08.777184Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:7: note: 'nrow' is not equal to 0 2026-09-15T04:23:08.777184Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.777185Z 01O | ^~~~ 2026-09-15T04:23:08.777185Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:65:15: note: Left side of '&&' is false 2026-09-15T04:23:08.777186Z 01O 65 | if (nrow==0 && ncol==0) return(R_NilValue); 2026-09-15T04:23:08.777186Z 01O | ^ 2026-09-15T04:23:08.777202Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:7: note: 'nrow' is <= INT32_MAX 2026-09-15T04:23:08.777203Z 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-09-15T04:23:08.777204Z 01O | ^~~~ 2026-09-15T04:23:08.777206Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:66:3: note: Taking false branch 2026-09-15T04:23:08.777206Z 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-09-15T04:23:08.777207Z 01O | ^ 2026-09-15T04:23:08.777209Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:7: note: Assuming 'usenames' is not equal to TRUE 2026-09-15T04:23:08.777210Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.777210Z 01O | ^~~~~~~~~~~~~~ 2026-09-15T04:23:08.777212Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:67:22: note: Left side of '&&' is false 2026-09-15T04:23:08.777213Z 01O 67 | if (usenames==TRUE && !anyNames) error(_("use.names=TRUE but no item of input list has any names")); 2026-09-15T04:23:08.777213Z 01O | ^ 2026-09-15T04:23:08.777228Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:69:3: note: 'colMap' initialized to a null pointer value 2026-09-15T04:23:08.777236Z 01O 69 | int *colMap=NULL; // maps each column in final result to the column of each list item 2026-09-15T04:23:08.777237Z 01O | ^~~~~~~~~~~ 2026-09-15T04:23:08.777237Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.777238Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.777238Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.777238Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:7: note: Left side of '||' is false 2026-09-15T04:23:08.777241Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:25: note: Assuming 'usenames' is not equal to 'R_NaInt' 2026-09-15T04:23:08.777242Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.777242Z 01O | ^~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.777243Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:70:3: note: Taking false branch 2026-09-15T04:23:08.777243Z 01O 70 | if (usenames==TRUE || usenames==NA_LOGICAL) { 2026-09-15T04:23:08.777244Z 01O | ^ 2026-09-15T04:23:08.777263Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:7: note: 'fill' is false 2026-09-15T04:23:08.777263Z 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-09-15T04:23:08.777264Z 01O | ^~~~ 2026-09-15T04:23:08.777280Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:194:12: note: Left side of '&&' is false 2026-09-15T04:23:08.777280Z 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-09-15T04:23:08.777289Z 01O | ^ 2026-09-15T04:23:08.777290Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:8: note: 'fill' is false 2026-09-15T04:23:08.777290Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.777291Z 01O | ^~~~ 2026-09-15T04:23:08.777369Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:7: note: Left side of '&&' is true 2026-09-15T04:23:08.777370Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.777371Z 01O | ^ 2026-09-15T04:23:08.777371Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: 'usenames' is not equal to TRUE 2026-09-15T04:23:08.777372Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.777372Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.777373Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:17: note: Left side of '||' is false 2026-09-15T04:23:08.777376Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:35: note: 'usenames' is not equal to 'R_NaInt' 2026-09-15T04:23:08.777377Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.777377Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.777378Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:195:3: note: Taking false branch 2026-09-15T04:23:08.777378Z 01O 195 | if (!fill && (usenames==TRUE || usenames==NA_LOGICAL)) { 2026-09-15T04:23:08.777379Z 01O | ^ 2026-09-15T04:23:08.777380Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:7: note: 'usenames' is not equal to 'R_NaInt' 2026-09-15T04:23:08.777381Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-15T04:23:08.777381Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.777382Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:242:3: note: Taking false branch 2026-09-15T04:23:08.777382Z 01O 242 | if (usenames==NA_LOGICAL) { 2026-09-15T04:23:08.777383Z 01O | ^ 2026-09-15T04:23:08.777401Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:7: note: 'idcol' is false 2026-09-15T04:23:08.777401Z 01O 251 | if (idcol) { 2026-09-15T04:23:08.777402Z 01O | ^~~~~ 2026-09-15T04:23:08.777402Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:251:3: note: Taking false branch 2026-09-15T04:23:08.777403Z 01O 251 | if (idcol) { 2026-09-15T04:23:08.777403Z 01O | ^ 2026-09-15T04:23:08.777403Z 01O /builds/Rdatatable/data.table/src/rbindlist.c:279:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.777404Z 01O 279 | for(int j=0; j= 1 2026-09-15T04:23:08.777660Z 01O 27 | if (n<1) return 0; 2026-09-15T04:23:08.777661Z 01O | ^~~ 2026-09-15T04:23:08.777663Z 01O /builds/Rdatatable/data.table/src/snprintf.c:27:3: note: Taking false branch 2026-09-15T04:23:08.777663Z 01O 27 | if (n<1) return 0; 2026-09-15T04:23:08.777664Z 01O | ^ 2026-09-15T04:23:08.777664Z 01O /builds/Rdatatable/data.table/src/snprintf.c:29:3: note: Initialized va_list 2026-09-15T04:23:08.777664Z 01O 29 | va_start(ap, fmt); 2026-09-15T04:23:08.777665Z 01O | ^ 2026-09-15T04:23:08.777679Z 01O /usr/lib/llvm-21/lib/clang/21/include/__stdarg_va_arg.h:17:29: note: expanded from macro 'va_start' 2026-09-15T04:23:08.777680Z 01O 17 | #define va_start(ap, param) __builtin_va_start(ap, param) 2026-09-15T04:23:08.777687Z 01O | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2026-09-15T04:23:08.777688Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:10: note: Assuming the condition is true 2026-09-15T04:23:08.777688Z 01O 40 | while (*ch!='\0') { 2026-09-15T04:23:08.777688Z 01O | ^~~~~~~~~ 2026-09-15T04:23:08.777691Z 01O /builds/Rdatatable/data.table/src/snprintf.c:40:3: note: Loop condition is true. Entering loop body 2026-09-15T04:23:08.777692Z 01O 40 | while (*ch!='\0') { 2026-09-15T04:23:08.777692Z 01O | ^ 2026-09-15T04:23:08.777692Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:9: note: Assuming the condition is false 2026-09-15T04:23:08.777693Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-09-15T04:23:08.777693Z 01O | ^~~~~~~~ 2026-09-15T04:23:08.777735Z 01O /builds/Rdatatable/data.table/src/snprintf.c:41:5: note: Taking false branch 2026-09-15T04:23:08.777736Z 01O 41 | if (*ch!='%') {ch++; continue;} 2026-09-15T04:23:08.777736Z 01O | ^ 2026-09-15T04:23:08.777737Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:9: note: Assuming the condition is false 2026-09-15T04:23:08.777737Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-09-15T04:23:08.777738Z 01O | ^~~~~~~~~~ 2026-09-15T04:23:08.777756Z 01O /builds/Rdatatable/data.table/src/snprintf.c:42:5: note: Taking false branch 2026-09-15T04:23:08.777757Z 01O 42 | if (ch[1]=='%') {ch+=2; continue; } // %% means literal % 2026-09-15T04:23:08.777757Z 01O | ^ 2026-09-15T04:23:08.777758Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:9: note: Assuming 'end' is null 2026-09-15T04:23:08.777758Z 01O 47 | if (!end) { 2026-09-15T04:23:08.777758Z 01O | ^~~~ 2026-09-15T04:23:08.777759Z 01O /builds/Rdatatable/data.table/src/snprintf.c:47:5: note: Taking true branch 2026-09-15T04:23:08.777759Z 01O 47 | if (!end) { 2026-09-15T04:23:08.777759Z 01O | ^ 2026-09-15T04:23:08.777763Z 01O /builds/Rdatatable/data.table/src/snprintf.c:51:7: note: Initialized va_list 'ap' is leaked 2026-09-15T04:23:08.777764Z 01O 51 | snprintf(dest, n, "0 %-5s does not end with recognized type letter", ch); // # notranslate 2026-09-15T04:23:08.777764Z 01O | ^ 2026-09-15T04:23:08.777765Z 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-09-15T04:23:08.777766Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-09-15T04:23:08.777766Z 01O | ^~~~~~ 2026-09-15T04:23:08.777777Z 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-09-15T04:23:08.777778Z 01O 112 | strcpy(ch2, delim); // includes '\0' 2026-09-15T04:23:08.777778Z 01O | ^~~~~~ 2026-09-15T04:23:08.785632Z 01O $ R CMD check --as-cran $(ls -1t data.table_*.tar.gz | head -n 1) 2026-09-15T04:23:09.123461Z 01O * using log directory ‘/builds/Rdatatable/data.table/data.table.Rcheck’ 2026-09-15T04:23:09.123474Z 01O * using R Under development (unstable) (2026-09-13 r90534) 2026-09-15T04:23:09.123541Z 01O * using platform: x86_64-pc-linux-gnu 2026-09-15T04:23:09.123545Z 01O * R was compiled by 2026-09-15T04:23:09.123548Z 01O Debian clang version 21.1.8 (10) 2026-09-15T04:23:09.123549Z 01O GNU Fortran (Debian 16.2.0-1) 16.2.0 2026-09-15T04:23:09.123552Z 01O * running under: Debian GNU/Linux forky/sid 2026-09-15T04:23:09.123563Z 01O * using session charset: UTF-8 2026-09-15T04:23:09.123973Z 01O * current time: 2026-09-15 04:23:09 UTC 2026-09-15T04:23:09.583422Z 01O * using option ‘--as-cran’ 2026-09-15T04:23:09.583632Z 01O * checking for file ‘data.table/DESCRIPTION’ ... OK 2026-09-15T04:23:09.585225Z 01O * this is package ‘data.table’ version ‘1.18.99’ 2026-09-15T04:23:09.585348Z 01O * package encoding: UTF-8 2026-09-15T04:23:09.585485Z 01O * checking CRAN incoming feasibility ... NOTE 2026-09-15T04:23:09.919348Z 01O Maintainer: ‘Tyson Barrett ’ 2026-09-15T04:23:09.919351Z 01O 2026-09-15T04:23:09.919352Z 01O Authors@R field should be a call to person(), or combine such calls. 2026-09-15T04:23:09.919358Z 01O * checking package namespace information ... OK 2026-09-15T04:23:09.924876Z 01O * checking package dependencies ... OK 2026-09-15T04:23:10.622222Z 01O * checking if this is a source package ... OK 2026-09-15T04:23:10.623825Z 01O * checking if there is a namespace ... OK 2026-09-15T04:23:10.626400Z 01O * checking for .dll and .exe files ... OK 2026-09-15T04:23:10.626580Z 01O * checking for hidden files and directories ... OK 2026-09-15T04:23:10.627837Z 01O * checking for portable file names ... OK 2026-09-15T04:23:10.630720Z 01O * checking for sufficient/correct file permissions ... OK 2026-09-15T04:23:10.633465Z 01O * checking whether package ‘data.table’ can be installed ... [14s/14s] OK 2026-09-15T04:23:24.480667Z 01O * used C compiler: ‘Debian clang version 21.1.8 (10)’ 2026-09-15T04:23:24.480804Z 01O * checking installed package size ... INFO 2026-09-15T04:23:24.483097Z 01O installed size is 8.0Mb 2026-09-15T04:23:24.483636Z 01O sub-directories of 1Mb or more: 2026-09-15T04:23:24.483886Z 01O doc 1.1Mb 2026-09-15T04:23:24.483888Z 01O libs 1.5Mb 2026-09-15T04:23:24.483889Z 01O po 1.7Mb 2026-09-15T04:23:24.483890Z 01O tests 2.2Mb 2026-09-15T04:23:24.490248Z 01O * checking package directory ... OK 2026-09-15T04:23:24.490383Z 01O * checking for future file timestamps ... OK 2026-09-15T04:23:24.490661Z 01O * checking ‘build’ directory ... OK 2026-09-15T04:23:24.491159Z 01O * checking DESCRIPTION meta-information ... OK 2026-09-15T04:23:25.009612Z 01O * checking top-level files ... OK 2026-09-15T04:23:25.948647Z 01O * checking for left-over files ... OK 2026-09-15T04:23:25.950372Z 01O * checking index information ... OK 2026-09-15T04:23:26.050040Z 01O * checking package subdirectories ... OK 2026-09-15T04:23:26.263882Z 01O * checking code files for non-ASCII characters ... OK 2026-09-15T04:23:26.291839Z 01O * checking R files for syntax errors ... OK 2026-09-15T04:23:26.335658Z 01O * checking whether the package can be loaded ... OK 2026-09-15T04:23:26.453766Z 01O * checking whether the package can be loaded with stated dependencies ... OK 2026-09-15T04:23:26.550161Z 01O * checking whether the package can be unloaded cleanly ... OK 2026-09-15T04:23:26.650157Z 01O * checking whether the namespace can be loaded with stated dependencies ... OK 2026-09-15T04:23:26.748130Z 01O * checking whether the namespace can be unloaded cleanly ... OK 2026-09-15T04:23:26.873311Z 01O * checking loading without being on the library search path ... OK 2026-09-15T04:23:27.112623Z 01O * checking whether startup messages can be suppressed ... OK 2026-09-15T04:23:27.229266Z 01O * checking use of S3 registration ... OK 2026-09-15T04:23:27.246190Z 01O * checking dependencies in R code ... OK 2026-09-15T04:23:27.784437Z 01O * checking S3 generic/method consistency ... OK 2026-09-15T04:23:28.007790Z 01O * checking replacement functions ... OK 2026-09-15T04:23:28.151621Z 01O * checking foreign function calls ... OK 2026-09-15T04:23:28.646280Z 01O * checking R code for possible problems ... [10s/10s] OK 2026-09-15T04:23:38.806955Z 01O * checking Rd files ... OK 2026-09-15T04:23:39.302514Z 01O * checking Rd metadata ... OK 2026-09-15T04:23:39.329899Z 01O * checking Rd line widths ... NOTE 2026-09-15T04:23:39.536951Z 01O Rd file 'nafill.Rd': 2026-09-15T04:23:39.536953Z 01O \usage lines wider than 90 characters: 2026-09-15T04:23:39.536954Z 01O setnafill(x, type=c("const", "locf", "nocb"), fill=NA, nan=NA, cols=seq_along(x), limit=Inf) 2026-09-15T04:23:39.536955Z 01O 2026-09-15T04:23:39.537064Z 01O These lines will be truncated in the PDF manual. 2026-09-15T04:23:39.537164Z 01O * checking Rd cross-references ... OK 2026-09-15T04:23:39.994812Z 01O * checking for missing documentation entries ... OK 2026-09-15T04:23:40.140755Z 01O * checking for code/documentation mismatches ... INFO 2026-09-15T04:23:40.417360Z 01O Exported functions without usage information: 2026-09-15T04:23:40.417363Z 01O := dcast let melt 2026-09-15T04:23:40.807556Z 01O * checking Rd \usage sections ... OK 2026-09-15T04:23:41.436797Z 01O * checking Rd contents ... OK 2026-09-15T04:23:41.721683Z 01O * checking for unstated dependencies in examples ... OK 2026-09-15T04:23:42.012097Z 01O * checking line endings in shell scripts ... OK 2026-09-15T04:23:42.012333Z 01O * checking line endings in C/C++/Fortran sources/headers ... OK 2026-09-15T04:23:42.023421Z 01O * checking line endings in Makefiles ... OK 2026-09-15T04:23:42.023946Z 01O * checking compilation flags in Makevars ... OK 2026-09-15T04:23:42.055325Z 01O * checking for GNU extensions in Makefiles ... OK 2026-09-15T04:23:42.055674Z 01O * checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 2026-09-15T04:23:42.056414Z 01O * checking use of PKG_*FLAGS in Makefiles ... OK 2026-09-15T04:23:42.058149Z 01O * checking use of SHLIB_OPENMP_*FLAGS in Makefiles ... OK 2026-09-15T04:23:42.061308Z 01O * checking pragmas in C/C++ headers and code ... OK 2026-09-15T04:23:42.075583Z 01O * checking compilation flags used ... OK 2026-09-15T04:23:42.076617Z 01O * checking compiled code ... OK 2026-09-15T04:23:43.784682Z 01O * checking installed files from ‘inst/doc’ ... OK 2026-09-15T04:23:43.904709Z 01O * checking files in ‘vignettes’ ... OK 2026-09-15T04:23:44.447172Z 01O * checking examples ... OK 2026-09-15T04:23:50.685526Z 01O * checking examples with --run-donttest ... OK 2026-09-15T04:23:58.805771Z 01O * checking for unstated dependencies in ‘tests’ ... OK 2026-09-15T04:23:58.845332Z 01O * checking tests ... 2026-09-15T04:23:58.934102Z 01O Running ‘autoprint.R’ 2026-09-15T04:23:59.079331Z 01O Comparing ‘autoprint.Rout’ to ‘autoprint.Rout.save’ ... OK 2026-09-15T04:23:59.083228Z 01O Running ‘froll.R’ [255s/255s] 2026-09-15T04:28:14.116305Z 01O Running ‘litedown.R’ 2026-09-15T04:28:14.303819Z 01O Running ‘main.R’ [28s/28s] 2026-09-15T04:28:42.091072Z 01O Running ‘mergelist.R’ 2026-09-15T04:28:42.930295Z 01O Running ‘nafill.R’ 2026-09-15T04:28:43.190835Z 01O Running ‘optimize.R’ 2026-09-15T04:28:43.945034Z 01O Running ‘other.R’ 2026-09-15T04:28:44.069128Z 01O Running ‘programming.R’ 2026-09-15T04:28:44.446737Z 01O Running ‘S4.R’ 2026-09-15T04:28:44.643849Z 01O Running ‘self.R’ 2026-09-15T04:28:44.782359Z 01O Running ‘types.R’ 2026-09-15T04:28:44.930598Z 01O [286s/286s] OK 2026-09-15T04:28:45.049320Z 01O * checking for unstated dependencies in vignettes ... OK 2026-09-15T04:28:45.205746Z 01O * checking package vignettes ... OK 2026-09-15T04:28:45.973674Z 01O * checking re-building of vignette outputs ... [18s/19s] OK 2026-09-15T04:29:05.059211Z 01O * checking PDF version of manual ... OK 2026-09-15T04:29:09.322180Z 01O * checking HTML version of manual ... NOTE 2026-09-15T04:29:11.243210Z 01O Skipping checking math rendering: package 'V8' unavailable 2026-09-15T04:29:11.243224Z 01O * checking for non-standard things in the check directory ... OK 2026-09-15T04:29:11.243448Z 01O * checking for detritus in the temp directory ... OK 2026-09-15T04:29:11.243810Z 01O * DONE 2026-09-15T04:29:11.244178Z 01E 2026-09-15T04:29:11.244182Z 01O Status: 3 NOTEs 2026-09-15T04:29:11.244247Z 01E See 2026-09-15T04:29:11.244248Z 01E ‘/builds/Rdatatable/data.table/data.table.Rcheck/00check.log’ 2026-09-15T04:29:11.244250Z 01E for details. 2026-09-15T04:29:11.244271Z 01E 2026-09-15T04:29:11.255590Z 01O $ (! grep "warning:" data.table.Rcheck/00install.out) 2026-09-15T04:29:11.256635Z 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-09-15T04:29:11.338029Z 01E Error: Last line of '00check.log' is not 'Status: 1 NOTE' (V8 package) but 'Status: 3 NOTEs' 2026-09-15T04:29:11.338037Z 01E Execution halted 2026-09-15T04:29:11.476792Z 00O section_end:1789446551:step_script  2026-09-15T04:29:11.477432Z 00O+section_start:1789446551:after_script  2026-09-15T04:29:11.477438Z 00O+Running after_script 2026-09-15T04:29:11.695917Z 01O Running after script... 2026-09-15T04:29:11.695944Z 01O $ mkdir -p bus/$CI_JOB_NAME 2026-09-15T04:29:11.696588Z 01O $ echo $CI_JOB_ID > bus/$CI_JOB_NAME/id 2026-09-15T04:29:11.696597Z 01O $ echo $CI_JOB_STATUS > bus/$CI_JOB_NAME/status 2026-09-15T04:29:11.696647Z 01O $ echo $CI_JOB_IMAGE > bus/$CI_JOB_NAME/image 2026-09-15T04:29:11.696652Z 01O $ [ -d data.table.Rcheck ] && mv data.table.Rcheck bus/$CI_JOB_NAME/ 2026-09-15T04:29:11.818211Z 00O section_end:1789446551:after_script  2026-09-15T04:29:11.819079Z 00O+section_start:1789446551:upload_artifacts_on_failure  2026-09-15T04:29:11.819088Z 00O+Uploading artifacts for failed job 2026-09-15T04:29:12.067759Z 01O Uploading artifacts... 2026-09-15T04:29:12.099594Z 01E bus/test-lin-dev-clang-cran: found 721 matching artifact files and directories 2026-09-15T04:29:13.331702Z 01E Uploading artifacts as "archive" to coordinator... 201 Created correlation_id=7b2aefd6fcc041fa9082b753d878ff2b id=16501040605 status=201 token=73_bzY1-a 2026-09-15T04:29:13.455353Z 00O section_end:1789446553:upload_artifacts_on_failure  2026-09-15T04:29:13.455791Z 00O+section_start:1789446553:cleanup_file_variables  2026-09-15T04:29:13.455797Z 00O+Cleaning up project directory and file based variables 2026-09-15T04:29:13.820721Z 00O section_end:1789446553:cleanup_file_variables  2026-09-15T04:29:13.843629Z 00O ERROR: Job failed: exit code 1